<SEC-DOCUMENT>0000929638-20-000523.txt : 20200414
<SEC-HEADER>0000929638-20-000523.hdr.sgml : 20200414
<ACCEPTANCE-DATETIME>20200414154612
ACCESSION NUMBER:		0000929638-20-000523
CONFORMED SUBMISSION TYPE:	40-F
PUBLIC DOCUMENT COUNT:		125
CONFORMED PERIOD OF REPORT:	20200131
FILED AS OF DATE:		20200414
DATE AS OF CHANGE:		20200414

FILER:

	COMPANY DATA:	
		COMPANY CONFORMED NAME:			DESCARTES SYSTEMS GROUP INC
		CENTRAL INDEX KEY:			0001050140
		STANDARD INDUSTRIAL CLASSIFICATION:	SERVICES-PREPACKAGED SOFTWARE [7372]
		IRS NUMBER:				000000000
		STATE OF INCORPORATION:			A6
		FISCAL YEAR END:			0131

	FILING VALUES:
		FORM TYPE:		40-F
		SEC ACT:		1934 Act
		SEC FILE NUMBER:	000-29970
		FILM NUMBER:		20791290

	BUSINESS ADDRESS:	
		STREET 1:		120 RANDALL ST
		CITY:			WATERLOO
		STATE:			A6
		ZIP:			N2V 1C6
		BUSINESS PHONE:		519-746-8110

	MAIL ADDRESS:	
		STREET 1:		120 RANDALL DRIVE
		CITY:			WATERLOO, ONTARIO, CANADA
		STATE:			XX
		ZIP:			N2V 1C6
</SEC-HEADER>
<DOCUMENT>
<TYPE>40-F
<SEQUENCE>1
<FILENAME>a76761_form40f.htm
<TEXT>
<html>
  <head>
    <title></title>
    <!-- Licensed to: morganlewis
         Document created using EDGARfilings PROfile 6.3.0.0
         Copyright 1995 - 2020 Broadridge -->
  </head>
<body style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;" bgcolor="#ffffff" text="#000000">
  <div>
    <div><br>
    </div>
    <div style="text-align: center; color: #000000; font-size: 18pt; font-weight: bold;">UNITED STATES</div>
    <div style="text-align: center;"><font style="font-size: 18pt; font-weight: bold; color: #000000;">SECURITIES AND EXCHANGE COMMISSION</font></div>
    <div style="text-align: center;"><font style="font-weight: bold; color: #000000;">WASHINGTON, D.C. 20549</font></div>
    <div style="text-align: left;"><font style="color: #000000;">&#160;</font></div>
    <div style="text-align: center;">
      <hr style="background-color: #000000; border-bottom: medium none; border-left: medium none; border-right: medium none; border-top: medium none; margin: 0px auto; height: 1px; width: 200px; color: #000000;" align="center" noshade="noshade"></div>
    <div style="text-align: left;"><font style="color: #000000;">&#160;</font></div>
    <div style="text-align: center;"><font style="font-size: 18pt; font-weight: bold; color: #000000;">FORM&#160;40-F</font></div>
    <div style="text-align: left;"><font style="color: #000000;">&#160;</font></div>
    <div style="text-align: center;">
      <div>
        <hr style="background-color: #000000; border-bottom: medium none; border-left: medium none; border-right: medium none; border-top: medium none; margin: 0px auto; height: 1px; width: 200px; color: #000000;" align="center" noshade="noshade"></div>
      <div style="text-align: left;"><font style="color: #000000;">&#160;</font></div>
    </div>
    <div style="text-align: left;"><font style="color: #000000;">&#160;</font></div>
    <div style="text-align: left;">
      <div>
        <table style="font-family: 'Times New Roman', Times, serif; font-size: 10pt; width: 100%;" class="DSPFListTable" id="z56922d256d78431c98756a29cc82ed42" cellpadding="0" cellspacing="0">

            <tr>
              <td style="width: 18pt; vertical-align: top;"><font style="font-family: 'Segoe UI Symbol', sans-serif; font-weight: bold; color: #000000;">&#9744;</font><font style="color: #000000;">&#160;</font></td>
              <td style="width: auto; vertical-align: top; text-align: left;">
                <div><font style="color: #000000;"><font style="font-weight: bold;">REGISTRATION STATEMENT PURSUANT TO SECTION&#160;12 OF THE SECURITIES EXCHANGE ACT OF 1934</font></font></div>
              </td>
            </tr>

        </table>
      </div>
    </div>
    <div style="text-align: left;"><font style="color: #000000;">&#160;</font></div>
    <div style="text-align: center;"><font style="font-weight: bold; color: #000000;">OR</font></div>
    <div style="text-align: left;"><font style="color: #000000;">&#160;</font></div>
    <div style="text-align: left;">
      <div>
        <table style="font-family: 'Times New Roman', Times, serif; font-size: 10pt; width: 100%;" class="DSPFListTable" id="zb5a1feb8fc9b4cb59688d57db9f8f922" cellpadding="0" cellspacing="0">

            <tr>
              <td style="width: 18pt; vertical-align: top;"><font style="font-family: 'Segoe UI Symbol', sans-serif; font-weight: bold; color: #000000;">&#9746;</font><font style="color: #000000;">&#160;</font></td>
              <td style="width: auto; vertical-align: top; text-align: left;">
                <div><font style="color: #000000;"><font style="font-weight: bold;">ANNUAL REPORT PURSUANT TO SECTION&#160;13(a)&#160;OR 15(d)&#160;OF THE SECURITIES EXCHANGE ACT OF 1934</font></font></div>
              </td>
            </tr>

        </table>
      </div>
    </div>
    <div style="text-align: left;"><font style="color: #000000;">&#160;</font></div>
    <div style="text-align: center;"><font style="font-weight: bold; color: #000000;">For the fiscal year ended January&#160;31, 2020</font></div>
    <div style="text-align: left;"><font style="color: #000000;">&#160;</font></div>
    <div style="text-align: center;"><font style="font-weight: bold; color: #000000;">Commission File Number: 000-29970</font></div>
    <div style="text-align: left;"><font style="color: #000000;">&#160;</font></div>
    <div style="text-align: center;">
      <hr style="background-color: #000000; border-bottom: medium none; border-left: medium none; border-right: medium none; border-top: medium none; margin: 0px auto; height: 1px; width: 200px; color: #000000;" align="center" noshade="noshade"></div>
    <div style="text-align: left;"><font style="color: #000000;">&#160;</font></div>
    <div style="text-align: center;"><font style="font-size: 18pt; font-weight: bold; color: #000000;">THE DESCARTES SYSTEMS GROUP INC.</font></div>
    <div style="text-align: center;"><font style="color: #000000;">(Exact name of Registrant as specified in its charter)</font></div>
    <div style="text-align: left;"><font style="color: #000000;">&#160;</font></div>
    <div style="text-align: center;">
      <hr style="height: 1px; width: 200px; color: #000000; background-color: #000000; margin-left: auto; margin-right: auto; border: none;" align="center" noshade="noshade"></div>
    <div style="text-align: center;"><font style="color: #000000;">&#160;</font></div>
    <div style="text-align: center;"><font style="font-weight: bold; color: #000000;">N/A</font></div>
    <div style="text-align: center;"><font style="color: #000000;">(Translation of Registrant's name into English (if applicable))</font></div>
    <div style="text-align: left;"><font style="color: #000000;">&#160;</font></div>
    <div style="text-align: center;"><font style="font-weight: bold; color: #000000;">Canada</font></div>
    <div style="text-align: center;"><font style="color: #000000;">(Province or other jurisdiction of incorporation or organization)</font></div>
    <div style="text-align: left;"><font style="color: #000000;">&#160;</font></div>
    <div style="text-align: center;"><font style="font-weight: bold; color: #000000;">N/A</font></div>
    <div style="text-align: center;"><font style="color: #000000;">(Primary Standard Industrial Classification Code Number (if applicable))</font></div>
    <div style="text-align: left;"><font style="color: #000000;">&#160;</font></div>
    <div style="text-align: center;"><font style="font-weight: bold; color: #000000;">N/A</font></div>
    <div style="text-align: center;"><font style="color: #000000;">(I.R.S. Employer Identification Number (if applicable))</font></div>
    <div style="text-align: left;"><font style="color: #000000;">&#160;</font></div>
    <div style="text-align: center;"><font style="font-weight: bold; color: #000000;">120 Randall Drive, Waterloo, Ontario, Canada N2V 1C6</font></div>
    <div style="text-align: center;"><font style="font-weight: bold; color: #000000;">Tel: (519) 746-8110</font></div>
    <div style="text-align: center;"><font style="color: #000000;">(Address and telephone number of Registrant's principal executive offices)</font></div>
    <div style="text-align: left;"><font style="color: #000000;">&#160;</font></div>
    <div style="text-align: center;"><font style="font-weight: bold; color: #000000;">Descartes Systems (USA) LLC</font></div>
    <div style="text-align: center;"><font style="font-weight: bold; color: #000000;">Powers Ferry Business Park</font></div>
    <div style="text-align: center;"><font style="font-weight: bold; color: #000000;">2030 Powers Ferry Road SE</font></div>
    <div style="text-align: center;"><font style="font-weight: bold; color: #000000;">Suite&#160;350</font></div>
    <div style="text-align: center;"><font style="font-weight: bold; color: #000000;">Atlanta, GA 30339-5066</font></div>
    <div style="text-align: center;"><font style="font-weight: bold; color: #000000;">Tel: (678) 247-0400</font></div>
    <div style="text-align: center;"><font style="color: #000000;">(Name, address (including zip code) and telephone number</font></div>
    <div style="text-align: center;"><font style="color: #000000;">(including area code) of agent for service in the United States)</font></div>
    <div id="DSPFPageBreakArea" style="clear: both; margin-top: 10pt; margin-bottom: 10pt;">
      <div id="DSPFPageBreak" style="page-break-after: always;">
        <hr style="border-width: 0px; clear: both; margin: 4px 0px; width: 100%; height: 2px; color: #000000; background-color: #000000;" noshade="noshade"></div>
    </div>
    <div style="text-align: center;"><font style="color: #000000;">Securities registered or to be registered pursuant to Section&#160;12(b)&#160;of the Act.</font></div>
    <div style="text-align: center;"><font style="color: #000000;"> </font><br>
      <table style="font-family: 'Times New Roman', Times, serif; font-size: 10pt; width: 100%; border-collapse: collapse; text-align: left; color: #000000;" id="z2e92d5d06c174c39accaa68f021d091b" border="0" cellpadding="0" cellspacing="0">

          <tr>
            <td style="width: 42%; vertical-align: top; background-color: rgb(255, 255, 255); border-bottom: 1px solid rgb(0, 0, 0);">
              <div style="text-align: center; color: #000000; font-family: 'Times New Roman'; font-weight: bold;">Title of each class:</div>
            </td>
            <td colspan="1" style="width: 2%; vertical-align: top; background-color: rgb(255, 255, 255); border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td>
            <td style="width: 12%; vertical-align: top; background-color: rgb(255, 255, 255); border-bottom: 1px solid rgb(0, 0, 0);">
              <div style="text-align: center; color: #000000; font-family: 'Times New Roman'; font-weight: bold;">Trading Symbol(s):</div>
              <div>&#160;</div>
            </td>
            <td colspan="1" style="width: 2%; vertical-align: top; background-color: rgb(255, 255, 255); border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td>
            <td style="width: 42%; vertical-align: top; background-color: rgb(255, 255, 255); border-bottom: 1px solid rgb(0, 0, 0);">
              <div style="text-align: center; color: #000000; font-family: 'Times New Roman'; font-weight: bold;">Name of each exchange on which registered:</div>
            </td>
          </tr>
          <tr>
            <td style="width: 42%; vertical-align: bottom; background-color: rgb(255, 255, 255); text-align: center;">
              <div style="color: rgb(0, 0, 0); font-family: 'Times New Roman'; font-weight: bold;">Common Shares, no par value</div>
            </td>
            <td colspan="1" style="width: 2%; vertical-align: bottom; background-color: rgb(255, 255, 255); text-align: center;">&#160;</td>
            <td style="width: 12%; vertical-align: bottom; background-color: rgb(255, 255, 255); text-align: center;">
              <div style="color: rgb(0, 0, 0); font-family: 'Times New Roman'; font-weight: bold;">DSGX</div>
            </td>
            <td colspan="1" style="width: 2%; vertical-align: bottom; background-color: rgb(255, 255, 255); text-align: center;">&#160;</td>
            <td style="width: 42%; vertical-align: bottom; background-color: rgb(255, 255, 255); text-align: center;">
              <div style="color: rgb(0, 0, 0); font-family: 'Times New Roman'; font-weight: bold;">Nasdaq</div>
            </td>
          </tr>
          <tr>
            <td style="width: 42%; vertical-align: bottom; background-color: rgb(255, 255, 255); text-align: center;">
              <div style="color: rgb(0, 0, 0); font-family: 'Times New Roman'; font-weight: bold;">Rights to purchase Common Shares, no par value</div>
            </td>
            <td colspan="1" style="width: 2%; vertical-align: bottom; background-color: rgb(255, 255, 255); text-align: center;">&#160;</td>
            <td style="width: 12%; vertical-align: bottom; background-color: rgb(255, 255, 255); text-align: center;">
              <div style="color: rgb(0, 0, 0); font-family: 'Times New Roman'; font-weight: bold;">&#160;N/A</div>
            </td>
            <td colspan="1" style="width: 2%; vertical-align: bottom; background-color: rgb(255, 255, 255); text-align: center;">&#160;</td>
            <td style="width: 42%; vertical-align: bottom; background-color: rgb(255, 255, 255); text-align: center;">
              <div style="color: rgb(0, 0, 0); font-family: 'Times New Roman'; font-weight: bold;">Nasdaq</div>
            </td>
          </tr>

      </table>
    </div>
    <div style="text-align: center;"><font style="color: #000000;"> <br>
      </font></div>
    <div style="text-align: left;"><font style="font-family: 'Times New Roman', serif; font-size: 2pt; color: #000000;">&#160;</font></div>
    <div style="text-align: center;"><font style="color: #000000;">Securities registered or to be registered pursuant to Section&#160;12(g)&#160;of the Act.</font></div>
    <div style="text-align: left;"><font style="color: #000000;">&#160;</font></div>
    <div style="text-align: center;"><font style="font-weight: bold; color: #000000;">None</font></div>
    <div style="text-align: center;"><font style="color: #000000;">(Title of Class)</font></div>
    <div><br>
    </div>
    <div style="text-align: center;"><font style="color: #000000;">Securities for which there is a reporting obligation pursuant to Section&#160;15(d)&#160;of the Act.</font></div>
    <div style="text-align: left;"><font style="color: #000000;">&#160;</font></div>
    <div style="text-align: center;"><font style="font-weight: bold; color: #000000;">N/A</font></div>
    <div style="text-align: center;"><font style="color: #000000;">(Title of Class)</font></div>
    <div style="text-align: left;"><font style="color: #000000;">&#160;</font></div>
    <div style="text-align: left;"><font style="color: #000000;">For annual reports, indicate by check mark the information filed with this Form:</font></div>
    <div style="text-align: left;"><font style="color: #000000;">&#160;</font></div>
    <div style="text-align: center;"><font style="color: #000000;"><font style="font-family: 'Segoe UI Symbol', sans-serif;">&#9746;</font>&#160;&#160;Annual information form&#160;&#160;&#160;</font><font style="color: #000000;"><font style="color: #000000;">&#160;&#160;&#160;&#160;</font>&#160; <font style="font-family: 'Segoe UI Symbol', sans-serif;">&#9746;</font>&#160;&#160;Audited annual financial statements</font></div>
    <div style="text-align: left;"><font style="color: #000000;">&#160;</font></div>
    <div style="text-align: left;"><font style="color: #000000;">Indicate the number of outstanding shares of each of the issuer's classes of capital or common stock as of the close of the period covered by the annual report.</font></div>
    <div style="text-align: left;"><font style="color: #000000;">&#160;</font></div>
    <div style="text-align: center;">
      <div style="background-color: #FFFFFF;">
        <div style="color: #000000; font-family: 'Times New Roman';">84,156,316 common shares&#160;as of January&#160;31, 2020</div>
      </div>
    </div>
    <div><br>
    </div>
    <div style="text-align: left;"><font style="color: #000000;">Indicate by check mark whether the Registrant (1)&#160;has filed all reports required to be filed by Section&#160;13 or 15(d)&#160;of the Exchange Act during the preceding 12 months (or for such shorter
        period that the Registrant was required to file such reports) and (2)&#160;has been subject to such filing requirements for the past 90 days.</font></div>
    <div style="text-align: left;"><font style="color: #000000;">&#160;</font></div>
    <div style="text-align: center;"><font style="color: #000000;">Yes&#160;&#160;&#160;<font style="font-family: 'Segoe UI Symbol', sans-serif;">&#9746;</font>&#160;&#160;</font><font style="color: #000000;"><font style="color: #000000;">&#160;&#160;&#160;&#160;</font>&#160; No&#160;&#160;&#160;<font style="font-family: 'Segoe UI Symbol', sans-serif;">&#9744;</font></font></div>
    <div style="text-align: left;"><font style="color: #000000;">&#160;</font><font style="color: #000000;"></font></div>
    <div style="text-align: left;">
      <div><font style="color: #000000;">Indicate by check mark whether the registrant has submitted electronically every Interactive Data File required to be submitted pursuant to Rule&#160;405 of Regulation S-T (&#167; 232.405 of this chapter) during the preceding
          12 months (or for such shorter period that the Registrant was required to submit such files).</font></div>
      <div><font style="color: #000000;">&#160;</font></div>
      <div style="text-align: center;"><font style="color: #000000;">Yes&#160;&#160;&#160;<font style="font-family: 'Segoe UI Symbol', sans-serif;">&#9746;</font>&#160;&#160;&#160;&#160;No <font style="font-family: 'Segoe UI Symbol', sans-serif;">&#9744;</font></font></div>
    </div>
    <div style="text-align: left;"><font style="color: #000000;"> <br>
      </font></div>
    <div id="DSPFPageBreakArea" style="clear: both; margin-top: 10pt; margin-bottom: 10pt;">
      <div id="DSPFPageBreak" style="page-break-after: always;">
        <hr style="border-width: 0px; clear: both; margin: 4px 0px; width: 100%; height: 2px; color: #000000; background-color: #000000;" noshade="noshade"></div>
    </div>
    <div style="text-align: left;"><font style="color: #000000;">Indicate by check mark whether the registrant is an emerging growth company as defined in Rule 12b-2 of the Exchange Act.</font></div>
    <div style="text-align: right;"><font style="font-family: 'Times New Roman',Times,serif; color: rgb(0, 0, 0);">Emerging growth company&#160;&#160;&#160; <font style="font-family: 'Segoe UI Symbol',sans-serif;">&#9744;</font>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;</font></div>
    <div><br>
    </div>
    <div style="text-align: left;"><font style="color: #000000;">If an emerging growth company that prepares its financial statements in accordance with U.S. GAAP, indicate by check mark if the registrant has elected not to use the extended transition
        period for complying with any new or revised financial accounting standards provided pursuant to Section 13(a) of the Exchange Act.&#160;&#160; <font style="font-family: 'Segoe UI Symbol', sans-serif;">&#9744;</font></font></div>
    <div style="text-align: left;"><font style="font-family: 'Times New Roman', serif; font-size: 1pt; color: #000000;">&#160;</font></div>
    <div><br>
    </div>
    <div style="text-align: center;"><font style="color: #000000;">CERTIFICATIONS</font></div>
    <div style="text-align: left;"><font style="color: #000000;">&#160;</font></div>
    <div style="text-align: center;"><font style="font-family: 'Times New Roman',Times,serif; color: rgb(0, 0, 0);">See Exhibits 99.4, 99.5 and 99.6 to this Annual Report on Form&#160;40-F.</font></div>
    <div style="text-align: left;"><font style="color: #000000;">&#160;</font></div>
    <div style="text-align: center;"><font style="color: #000000;">CONTROLS AND PROCEDURES</font></div>
    <div style="text-align: left;"><font style="color: #000000;">&#160;</font></div>
    <div style="text-align: center;"><font style="color: #000000;">DISCLOSURE CONTROLS AND PROCEDURES</font></div>
    <div style="text-align: left;"><font style="color: #000000;">&#160;</font></div>
    <div style="text-align: left;">
      <div style="background-color: #FFFFFF;">
        <div style="color: #000000; font-family: 'Times New Roman';">The Registrant, under the supervision and with the participation of the Registrant&#8217;s management, including the Registrant&#8217;s Chief Executive Officer (principal executive officer) and Chief
          Financial Officer (principal financial officer), evaluated the effectiveness of the Registrant&#8217;s disclosure controls and procedures as of January&#160;31, 2020 (the &#8220;<u>Evaluation Date</u>&#8221;), pursuant to Rule&#160;13a-15(b)&#160;promulgated under the Securities
          Exchange Act of 1934, as amended (the &#8220;<u>Exchange Act</u>&#8221;). Based upon that evaluation, the Registrant&#8217;s Chief Executive Officer and Chief Financial Officer concluded that, as of the Evaluation Date, the Registrant&#8217;s disclosure controls and
          procedures were effective.</div>
      </div>
    </div>
    <div style="text-align: left;"><font style="color: #000000;">&#160;</font></div>
    <div style="text-align: center;"><font style="color: #000000;">INTERNAL CONTROL OVER FINANCIAL REPORTING</font></div>
    <div style="text-align: left;"><font style="color: #000000;">&#160;</font></div>
    <div style="text-align: left;"><font style="font-weight: bold; color: #000000;">Management's Report on Financial Statements and Internal Control Over Financial Reporting</font></div>
    <div style="text-align: left;">
      <div style="background-color: #FFFFFF;">
        <div><br>
        </div>
        <div style="color: #000000; font-family: 'Times New Roman';">Management&#8217;s Report on Financial Statements and Internal Control Over Financial Reporting is contained in the Registrant&#8217;s 2020 Annual Report filed herewith as Exhibit&#160;99.2 and
          incorporated herein by reference.</div>
      </div>
    </div>
    <div style="text-align: left;"><font style="color: #000000;">&#160;</font></div>
    <div style="text-align: left;"><font style="font-weight: bold; color: #000000;">Report of Independent Registered Public Accounting Firm</font></div>
    <div style="text-align: left;">
      <div style="background-color: #FFFFFF;">
        <div><br>
        </div>
        <div style="color: #000000; font-family: 'Times New Roman';">The report of KPMG LLP with respect to the effectiveness of the Registrant&#8217;s internal control over financial reporting is contained in the Registrant&#8217;s 2020 Annual Report filed herewith
          as Exhibit&#160;99.2 and incorporated herein by reference.</div>
        <div>&#160;</div>
      </div>
      <font style="color: #000000;"></font></div>
    <div id="DSPFPageBreakArea" style="clear: both; margin-top: 10pt; margin-bottom: 10pt;">
      <div id="DSPFPageBreak" style="page-break-after: always;">
        <hr style="border-width: 0px; clear: both; margin: 4px 0px; width: 100%; height: 2px; color: #000000; background-color: #000000;" noshade="noshade"></div>
    </div>
    <div style="text-align: left;"><font style="font-weight: bold; color: #000000;">Changes in Internal Control Over Financial Reporting</font></div>
    <div style="text-align: left;">
      <div style="background-color: #FFFFFF;">
        <div><br>
        </div>
        <div style="color: #000000; font-family: 'Times New Roman';">During the period covered by this Annual Report on Form&#160;40-F, there have been no changes in the Registrant&#8217;s internal control over financial reporting that have materially affected, or
          are reasonably likely to materially affect, the Registrant&#8217;s internal control over financial reporting.</div>
      </div>
      <font style="color: #000000;"></font></div>
    <div style="text-align: left;"><font style="color: #000000;">&#160;</font></div>
    <div style="text-align: center;"><font style="color: #000000;">NOTICES PURSUANT TO RULE 104 OF REGULATION BTR</font></div>
    <div style="text-align: left;"><font style="color: #000000;">&#160;</font></div>
    <div style="text-align: left;"><font style="color: #000000;">None.</font></div>
    <div style="text-align: left;"><font style="color: #000000;">&#160;</font></div>
    <div style="text-align: center;"><font style="color: #000000;">AUDIT COMMITTEE FINANCIAL EXPERT</font></div>
    <div style="text-align: left; text-indent: 36pt;"><font style="color: #000000;">&#160;</font></div>
    <div style="text-align: left; text-indent: 36pt;"></div>
    <div style="text-align: left;">
      <div style="background-color: #FFFFFF;">
        <div style="color: #000000; font-family: 'Times New Roman';">The Registrant&#8217;s Audit Committee of the Board of Directors currently consists of three members. The Registrant&#8217;s Board of Directors has determined that John J. Walker and Eric Demirian
          are &#8220;audit committee financial experts&#8221; (as defined in paragraph 8(b)&#160;of General Instruction B to Form&#160;40-F). All members of the Audit Committee are independent within the meaning of the Nasdaq Stock Market&#8217;s (&#8220;<u>Nasdaq</u>&#8221;) director
          independence standards.</div>
      </div>
    </div>
    <div style="text-align: left;"><font style="color: #000000;"> <br>
      </font></div>
    <div style="text-align: center;"><font style="color: #000000;">CODE OF ETHICS</font></div>
    <div style="text-align: left;">
      <div style="background-color: #FFFFFF;">
        <div><br>
        </div>
        <div style="color: #000000; font-family: 'Times New Roman';">The Registrant has adopted a Code of Business Conduct and Ethics (the &#8220;<u>Code of Ethics</u>&#8221;) that applies to the Registrant&#8217;s principal executive officer, principal financial officer,
          principal accounting officer or controller, or persons performing similar functions. A copy of the Code of Ethics is posted on the Registrant&#8217;s corporate website at&#160;<font style="font-style: italic;">www.descartes.com</font>&#160;and is also available
          at&#160;<font style="font-style: italic;">www.sedar.com</font>. The Registrant intends to disclose through its website any waivers or amendments to its Code of Ethics that apply to any principal executive officer, principal financial officer,
          principal accounting officer or controller, or persons performing similar functions.</div>
      </div>
      <font style="color: #000000;"></font></div>
    <div style="text-align: left;"><font style="color: #000000;">&#160;</font></div>
    <div style="text-align: center;"><font style="color: #000000;">INDEPENDENT REGISTERED PUBLIC ACCOUNTING FIRM FEES AND SERVICES</font></div>
    <div style="text-align: left;">
      <div><br>
      </div>
      <div style="background-color: #FFFFFF;">
        <div style="color: #000000; font-family: 'Times New Roman';">The aggregate fees billed in respect of the fiscal years ended January&#160;31, 2020 and January&#160;31, 2019 for professional services rendered by KPMG LLP, the Registrant&#8217;s Independent
          Registered Public Accounting Firm for 2020 and 2019, are as follows (all amounts in table are in US dollars &#8212; amounts that were billed in Canadian dollars are converted to US dollars at the applicable exchange rate on the last day of the
          applicable fiscal period):</div>
        <div>&#160;</div>
        <div>
          <table style="font-family: 'Times New Roman', Times, serif; font-size: 10pt; width: 100%; border-collapse: collapse; text-align: left; color: #000000;" id="zdc25cd851e7d4afa9bd35ad9715614e3" border="0" cellpadding="0" cellspacing="0">

              <tr>
                <td style="width: 69%; vertical-align: bottom; background-color: rgb(255, 255, 255);">&#160;</td>
                <td style="width: 2%; vertical-align: bottom; background-color: rgb(255, 255, 255);">&#160;</td>
                <td colspan="2" style="vertical-align: bottom; background-color: rgb(255, 255, 255); border-bottom: 3px double rgb(0, 0, 0);">
                  <div style="text-align: center; color: #000000; font-family: 'Times New Roman'; font-weight: bold;">Fiscal<br>
                    Year<br>
                    Ended<br>
                    January<br>
                    31,<br>
                    2020</div>
                </td>
                <td style="width: 2%; vertical-align: bottom; background-color: rgb(255, 255, 255);">&#160;</td>
                <td colspan="2" style="vertical-align: bottom; background-color: rgb(255, 255, 255); border-bottom: 3px double rgb(0, 0, 0);">
                  <div style="text-align: center; color: #000000; font-family: 'Times New Roman'; font-weight: bold;">Fiscal<br>
                    Year<br>
                    Ended<br>
                    January<br>
                    31,<br>
                    2019</div>
                </td>
                <td style="width: 1%; vertical-align: bottom; background-color: rgb(255, 255, 255);">&#160;</td>
              </tr>
              <tr>
                <td style="width: 69%; vertical-align: top; background-color: rgb(204, 238, 255);">
                  <div style="color: #000000; font-family: 'Times New Roman';">Audit Fees</div>
                </td>
                <td style="width: 2%; vertical-align: bottom; background-color: rgb(204, 238, 255);">&#160;</td>
                <td style="width: 1%; vertical-align: bottom; background-color: rgb(204, 238, 255);">
                  <div style="color: #000000; font-family: 'Times New Roman';">$</div>
                </td>
                <td style="width: 12%; vertical-align: bottom; background-color: rgb(204, 238, 255);">
                  <div style="text-align: right; font-family: 'Times New Roman';">708,217</div>
                </td>
                <td style="width: 2%; vertical-align: bottom; background-color: rgb(204, 238, 255);">&#160;</td>
                <td style="width: 1%; vertical-align: bottom; background-color: rgb(204, 238, 255);">
                  <div style="color: #000000; font-family: 'Times New Roman';">$</div>
                </td>
                <td style="width: 12%; vertical-align: bottom; background-color: rgb(204, 238, 255);">
                  <div style="text-align: right; color: #000000; font-family: 'Times New Roman';">579,606</div>
                </td>
                <td style="width: 1%; vertical-align: bottom; background-color: rgb(204, 238, 255);">&#160;</td>
              </tr>
              <tr>
                <td style="width: 69%; vertical-align: top; background-color: rgb(255, 255, 255);">&#160;</td>
                <td style="width: 2%; vertical-align: bottom; background-color: rgb(255, 255, 255);">&#160;</td>
                <td colspan="2" style="vertical-align: bottom; background-color: rgb(255, 255, 255);">&#160;</td>
                <td style="width: 2%; vertical-align: bottom; background-color: rgb(255, 255, 255);">&#160;</td>
                <td colspan="2" style="vertical-align: bottom; background-color: rgb(255, 255, 255);">&#160;</td>
                <td style="width: 1%; vertical-align: bottom; background-color: rgb(255, 255, 255);">&#160;</td>
              </tr>
              <tr>
                <td style="width: 69%; vertical-align: top; background-color: rgb(204, 238, 255);">
                  <div style="color: #000000; font-family: 'Times New Roman';">Audit-Related Fees</div>
                </td>
                <td style="width: 2%; vertical-align: bottom; background-color: rgb(204, 238, 255);">&#160;</td>
                <td style="width: 1%; vertical-align: bottom; background-color: rgb(204, 238, 255);">
                  <div style="color: #000000; font-family: 'Times New Roman';">$</div>
                </td>
                <td style="width: 12%; vertical-align: bottom; background-color: rgb(204, 238, 255);">
                  <div style="text-align: right; font-family: 'Times New Roman';">2,430</div>
                </td>
                <td style="width: 2%; vertical-align: bottom; background-color: rgb(204, 238, 255);">&#160;</td>
                <td style="width: 1%; vertical-align: bottom; background-color: rgb(204, 238, 255);">
                  <div style="color: #000000; font-family: 'Times New Roman';">$</div>
                </td>
                <td style="width: 12%; vertical-align: bottom; background-color: rgb(204, 238, 255);">
                  <div style="text-align: right; color: #000000; font-family: 'Times New Roman';">2,430</div>
                </td>
                <td style="width: 1%; vertical-align: bottom; background-color: rgb(204, 238, 255);">&#160;</td>
              </tr>
              <tr>
                <td style="width: 69%; vertical-align: top; background-color: rgb(255, 255, 255);">&#160;</td>
                <td style="width: 2%; vertical-align: bottom; background-color: rgb(255, 255, 255);">&#160;</td>
                <td colspan="2" style="vertical-align: bottom; background-color: rgb(255, 255, 255);">&#160;</td>
                <td style="width: 2%; vertical-align: bottom; background-color: rgb(255, 255, 255);">&#160;</td>
                <td colspan="2" style="vertical-align: bottom; background-color: rgb(255, 255, 255);">&#160;</td>
                <td style="width: 1%; vertical-align: bottom; background-color: rgb(255, 255, 255);">&#160;</td>
              </tr>
              <tr>
                <td style="width: 69%; vertical-align: top; background-color: rgb(204, 238, 255);">
                  <div style="color: #000000; font-family: 'Times New Roman';">Tax Fees</div>
                </td>
                <td style="width: 2%; vertical-align: bottom; background-color: rgb(204, 238, 255);">&#160;</td>
                <td style="width: 1%; vertical-align: bottom; background-color: rgb(204, 238, 255);">
                  <div style="color: #000000; font-family: 'Times New Roman';">$</div>
                </td>
                <td style="width: 12%; vertical-align: bottom; background-color: rgb(204, 238, 255);">
                  <div style="text-align: right; font-family: 'Times New Roman';">Nil</div>
                </td>
                <td style="width: 2%; vertical-align: bottom; background-color: rgb(204, 238, 255);">&#160;</td>
                <td style="width: 1%; vertical-align: bottom; background-color: rgb(204, 238, 255);">
                  <div style="color: #000000; font-family: 'Times New Roman';">$</div>
                </td>
                <td style="width: 12%; vertical-align: bottom; background-color: rgb(204, 238, 255);">
                  <div style="text-align: right; color: #000000; font-family: 'Times New Roman';">Nil</div>
                </td>
                <td style="width: 1%; vertical-align: bottom; background-color: rgb(204, 238, 255);">&#160;</td>
              </tr>
              <tr>
                <td style="width: 69%; vertical-align: top; background-color: rgb(255, 255, 255);">&#160;</td>
                <td style="width: 2%; vertical-align: bottom; background-color: rgb(255, 255, 255);">&#160;</td>
                <td colspan="2" style="vertical-align: bottom; background-color: rgb(255, 255, 255);">&#160;</td>
                <td style="width: 2%; vertical-align: bottom; background-color: rgb(255, 255, 255);">&#160;</td>
                <td colspan="2" style="vertical-align: bottom; background-color: rgb(255, 255, 255);">&#160;</td>
                <td style="width: 1%; vertical-align: bottom; background-color: rgb(255, 255, 255);">&#160;</td>
              </tr>
              <tr>
                <td style="width: 69%; vertical-align: top; background-color: rgb(204, 238, 255);">
                  <div style="color: #000000; font-family: 'Times New Roman';">All Other Fees</div>
                </td>
                <td style="width: 2%; vertical-align: bottom; background-color: rgb(204, 238, 255);">&#160;</td>
                <td style="width: 1%; vertical-align: bottom; background-color: rgb(204, 238, 255);">
                  <div style="color: #000000; font-family: 'Times New Roman';">$</div>
                </td>
                <td style="width: 12%; vertical-align: bottom; background-color: rgb(204, 238, 255);">
                  <div style="text-align: right; font-family: 'Times New Roman';">Nil</div>
                </td>
                <td style="width: 2%; vertical-align: bottom; background-color: rgb(204, 238, 255);">&#160;</td>
                <td style="width: 1%; vertical-align: bottom; background-color: rgb(204, 238, 255);">
                  <div style="color: #000000; font-family: 'Times New Roman';">$</div>
                </td>
                <td style="width: 12%; vertical-align: bottom; background-color: rgb(204, 238, 255);">
                  <div style="text-align: right; color: #000000; font-family: 'Times New Roman';">Nil</div>
                </td>
                <td style="width: 1%; vertical-align: bottom; background-color: rgb(204, 238, 255);">&#160;</td>
              </tr>

          </table>
        </div>
      </div>
      <font style="color: #000000;">&#160;</font><br>
      <div style="background-color: #FFFFFF;">
        <div id="DSPFPageBreakArea" style="clear: both; margin-top: 10pt; margin-bottom: 10pt;">
          <div id="DSPFPageBreak" style="page-break-after: always;">
            <hr style="border-width: 0px; clear: both; margin: 4px 0px; width: 100%; height: 2px; color: #000000; background-color: #000000;" noshade="noshade"></div>
        </div>
        <div style="color: #000000; font-family: 'Times New Roman';">AUDIT FEES&#8212; Audit fees consist of fees for professional services rendered for the audit of the Registrant&#8217;s annual consolidated financial statements and services provided in connection
          with statutory audits and regulatory filings or engagements including fees for statutory audit of the Registrant&#8217;s foreign subsidiaries.</div>
        <div>&#160;</div>
        <div style="color: #000000; font-family: 'Times New Roman';">AUDIT RELATED FEES&#8212; Audit related fees consist of fees for assurance and related services that are reasonably related to the performance of the audit or review of the Registrant&#8217;s
          financial statements and are not reported as Audit Fees.</div>
      </div>
      <div style="background-color: #FFFFFF;">
        <div>&#160;
          <div style="background-color: #FFFFFF;">
            <div style="text-align: center; color: #000000; font-family: 'Times New Roman';">PRE-APPROVAL POLICIES AND PROCEDURES</div>
            <div>&#160;</div>
          </div>
          <div style="background-color: #FFFFFF;">
            <div style="color: #000000; font-family: 'Times New Roman';">The Registrant&#8217;s audit committee is responsible for overseeing the work of the independent registered public accounting firm and has adopted a policy requiring its pre-approval of all
              audit and permissible non-audit services provided by the independent registered public accounting firm. The Registrant&#8217;s Pre-Approval Policy and Procedure for Engagements of the Independent Auditor is filed as&#160;<u>Appendix B</u>&#160;to the
              Registrant&#8217;s Annual Information Form&#160;dated April 14, 2020 filed as Exhibit&#160;99.1 hereto and incorporated by reference herein.</div>
            <div>&#160;</div>
          </div>
          <div style="background-color: #FFFFFF;">
            <div style="text-align: center; color: #000000; font-family: 'Times New Roman';">OFF-BALANCE SHEET ARRANGEMENTS</div>
            <div>&#160;</div>
          </div>
          <div style="background-color: #FFFFFF;">
            <div style="color: #000000; font-family: 'Times New Roman';">The Registrant does not have any off-balance sheet arrangements that have or are reasonably likely to have a current or future effect on the Registrant&#8217;s financial condition, changes
              in financial condition, revenues or expenses, results of operations, liquidity, capital expenditures or capital resources that are material to investors.</div>
            <div>&#160;</div>
          </div>
          <div style="background-color: #FFFFFF;">
            <div style="text-align: center; color: #000000; font-family: 'Times New Roman';">TABULAR DISCLOSURE OF CONTRACTUAL OBLIGATIONS</div>
            <div>&#160;</div>
          </div>
          <div style="background-color: #FFFFFF;">
            <div style="color: #000000; font-family: 'Times New Roman';">The following table presents, as of January&#160;31, 2020, the Registrant&#8217;s known contractual obligations in respect of operating lease obligations (in millions of U.S. dollars):</div>
            <div>&#160;</div>
          </div>
          <table style="font-family: 'Times New Roman', Times, serif; font-size: 10pt; width: 100%; border-collapse: collapse; text-align: left; color: #000000;" id="z219ada3bae434dc6903290ee150c6dc8" border="0" cellpadding="0" cellspacing="0">

              <tr>
                <td style="width: 36.32%; vertical-align: bottom; background-color: rgb(255, 255, 255);">&#160;</td>
                <td style="width: 13.85%; vertical-align: bottom; background-color: rgb(255, 255, 255); border-bottom: 3px double rgb(0, 0, 0);">
                  <div style="text-align: center; color: #000000; font-family: 'Times New Roman'; font-weight: bold;">Less&#160;than<br>
                    1&#160;year</div>
                </td>
                <td style="width: 13.18%; vertical-align: bottom; background-color: rgb(255, 255, 255); border-bottom: 3px double rgb(0, 0, 0);">
                  <div style="text-align: center; color: #000000; font-family: 'Times New Roman'; font-weight: bold;">1-3&#160;years</div>
                </td>
                <td style="width: 13.18%; vertical-align: bottom; background-color: rgb(255, 255, 255); border-bottom: 3px double rgb(0, 0, 0);">
                  <div style="text-align: center; color: #000000; font-family: 'Times New Roman'; font-weight: bold;">4-5&#160;years</div>
                </td>
                <td style="width: 15.54%; vertical-align: bottom; background-color: rgb(255, 255, 255); border-bottom: 3px double rgb(0, 0, 0);">
                  <div style="text-align: center; color: #000000; font-family: 'Times New Roman'; font-weight: bold;">More&#160;than<br>
                    5&#160;years</div>
                </td>
                <td style="width: 8%; vertical-align: bottom; background-color: rgb(255, 255, 255); border-bottom: 3px double rgb(0, 0, 0);">
                  <div style="text-align: center; color: #000000; font-family: 'Times New Roman'; font-weight: bold;">Total</div>
                </td>
              </tr>
              <tr>
                <td style="width: 36.32%; vertical-align: top; background-color: rgb(255, 255, 255);">&#160;</td>
                <td style="width: 13.85%; vertical-align: bottom; background-color: rgb(255, 255, 255);">&#160;</td>
                <td style="width: 13.18%; vertical-align: bottom; background-color: rgb(255, 255, 255);">&#160;</td>
                <td style="width: 13.18%; vertical-align: bottom; background-color: rgb(255, 255, 255);">&#160;</td>
                <td style="width: 15.54%; vertical-align: bottom; background-color: rgb(255, 255, 255);">&#160;</td>
                <td style="width: 8%; vertical-align: bottom; background-color: rgb(255, 255, 255);">&#160;</td>
              </tr>
              <tr>
                <td style="width: 36.32%; vertical-align: top; background-color: rgb(255, 255, 255);">&#160;</td>
                <td style="width: 13.85%; vertical-align: bottom; background-color: rgb(255, 255, 255);">&#160;</td>
                <td style="width: 13.18%; vertical-align: bottom; background-color: rgb(255, 255, 255);">&#160;</td>
                <td style="width: 13.18%; vertical-align: bottom; background-color: rgb(255, 255, 255);">&#160;</td>
                <td style="width: 15.54%; vertical-align: bottom; background-color: rgb(255, 255, 255);">&#160;</td>
                <td style="width: 8%; vertical-align: bottom; background-color: rgb(255, 255, 255);">&#160;</td>
              </tr>
              <tr>
                <td style="width: 36.32%; vertical-align: top; background-color: rgb(204, 238, 255);">
                  <div style="color: #000000; font-family: 'Times New Roman';">Operating lease obligations</div>
                </td>
                <td style="width: 13.85%; vertical-align: bottom; background-color: rgb(204, 238, 255);">
                  <div style="text-align: right; font-family: 'Times New Roman';">4.3</div>
                </td>
                <td style="width: 13.18%; vertical-align: bottom; background-color: rgb(204, 238, 255);">
                  <div style="text-align: right; font-family: 'Times New Roman';">5.8</div>
                </td>
                <td style="width: 13.18%; vertical-align: bottom; background-color: rgb(204, 238, 255);">
                  <div style="text-align: right; font-family: 'Times New Roman';">3.2</div>
                </td>
                <td style="width: 15.54%; vertical-align: bottom; background-color: rgb(204, 238, 255);">
                  <div style="text-align: right; font-family: 'Times New Roman';">1.1</div>
                </td>
                <td style="width: 8%; vertical-align: bottom; background-color: rgb(204, 238, 255);">
                  <div style="text-align: right; font-family: 'Times New Roman';">14.4</div>
                </td>
              </tr>
              <tr>
                <td style="width: 36.32%; vertical-align: top; background-color: rgb(255, 255, 255);">&#160;</td>
                <td style="width: 13.85%; vertical-align: bottom; background-color: rgb(255, 255, 255); border-bottom: 3px double rgb(0, 0, 0);">&#160;</td>
                <td style="width: 13.18%; vertical-align: bottom; background-color: rgb(255, 255, 255); border-bottom: 3px double rgb(0, 0, 0);">&#160;</td>
                <td style="width: 13.18%; vertical-align: bottom; background-color: rgb(255, 255, 255); border-bottom: 3px double rgb(0, 0, 0);">&#160;</td>
                <td style="width: 15.54%; vertical-align: bottom; background-color: rgb(255, 255, 255); border-bottom: 3px double rgb(0, 0, 0);">&#160;</td>
                <td style="width: 8%; vertical-align: bottom; background-color: rgb(255, 255, 255); border-bottom: 3px double rgb(0, 0, 0);">&#160;</td>
              </tr>
              <tr>
                <td style="width: 36.32%; vertical-align: top; background-color: rgb(204, 238, 255);">
                  <div style="color: #000000; font-family: 'Times New Roman';">Total</div>
                </td>
                <td style="width: 13.85%; vertical-align: bottom; background-color: rgb(204, 238, 255); border-bottom: 3px double rgb(0, 0, 0);">
                  <div style="text-align: right; font-family: 'Times New Roman';">4.3</div>
                </td>
                <td style="width: 13.18%; vertical-align: bottom; background-color: rgb(204, 238, 255); border-bottom: 3px double rgb(0, 0, 0);">
                  <div style="text-align: right; font-family: 'Times New Roman';">5.8</div>
                </td>
                <td style="width: 13.18%; vertical-align: bottom; background-color: rgb(204, 238, 255); border-bottom: 3px double rgb(0, 0, 0);">
                  <div style="text-align: right; font-family: 'Times New Roman';">3.2</div>
                </td>
                <td style="width: 15.54%; vertical-align: bottom; background-color: rgb(204, 238, 255); border-bottom: 3px double rgb(0, 0, 0);">
                  <div style="text-align: right; font-family: 'Times New Roman';">1.1</div>
                </td>
                <td style="width: 8%; vertical-align: bottom; background-color: rgb(204, 238, 255); border-bottom: 3px double rgb(0, 0, 0);">
                  <div style="text-align: right; font-family: 'Times New Roman';">14.4</div>
                </td>
              </tr>

          </table>
          <div style="background-color: #FFFFFF;">
            <div><br>
            </div>
            <div>
              <div style="background-color: #FFFFFF;">
                <div style="color: #000000; font-family: 'Times New Roman';"><u>Lease Obligations</u></div>
                <div>&#160;</div>
                <div style="color: #000000; font-family: 'Times New Roman';">The Registrant is committed under non-cancelable operating leases for business premises, computer equipment and vehicles with terms expiring at various dates through 2029.&#160;&#160;The
                  future minimum amounts payable under these lease agreements are outlined in the table above.</div>
                <div>&#160;</div>
                <div id="DSPFPageBreakArea" style="clear: both; margin-top: 10pt; margin-bottom: 10pt;">
                  <div id="DSPFPageBreak" style="page-break-after: always;">
                    <hr style="border-width: 0px; clear: both; margin: 4px 0px; width: 100%; height: 2px; color: #000000; background-color: #000000;" noshade="noshade"></div>
                </div>
                <div style="color: #000000; font-family: 'Times New Roman';"><u>Other Obligations</u></div>
                <div>&#160;</div>
                <div style="color: #000000; font-family: 'Times New Roman'; font-weight: bold;">Deferred Share Unit and Cash-Settled Restricted Share Unit Plans</div>
                <div>&#160;</div>
                <div style="color: #000000; font-family: 'Times New Roman';">As described in Note 2 to the Registrant&#8217;s audited consolidated financial statements, the Registrant maintains Deferred Share Unit (&#8220;<u>DSU</u>&#8221;) and Cash-Settled Restricted Share
                  Unit (&#8220;<u>CRSU</u>&#8221;) plans for its directors and employees. Any payments made pursuant to these plans are settled in cash. For DSUs and CRSUs, the units vest over time and the liability recognized at any given consolidated balance sheet
                  date reflects only those units vested at that date that have not yet been settled in cash. As such, the Registrant had an unrecognized aggregate amount for unvested CRSUs and unearned DSUs of $1.1 million and nil, respectively, at
                  January&#160;31, 2020. The ultimate liability for any payment of DSUs and CRSUs is dependent on the trading price of the Registrant&#8217;s common shares.</div>
                <div>&#160;</div>
              </div>
              <div style="background-color: #FFFFFF;">
                <div style="text-align: center; color: #000000; font-family: 'Times New Roman';">IDENTIFICATION OF THE AUDIT COMMITTEE</div>
                <div>&#160;</div>
              </div>
              <div style="background-color: #FFFFFF;">
                <div style="color: #000000; font-family: 'Times New Roman';">The Registrant has a separately designated standing audit committee established in accordance with Section&#160;3(a)(58)(A)&#160;of the Exchange Act. The members of the audit committee as
                  of the date of the filing of this 40-F are: Mr.&#160;John J. Walker (Chair), Ms.&#160;Deborah Close and Mr.&#160;Eric Demirian.</div>
                <div>&#160;</div>
              </div>
              <div style="background-color: #FFFFFF;">
                <div style="text-align: center; color: #000000; font-family: 'Times New Roman';">MINE SAFETY DISCLOSURE</div>
                <div>&#160;</div>
              </div>
              <div style="background-color: #FFFFFF;">
                <div style="color: #000000; font-family: 'Times New Roman';">Not applicable.</div>
                <div style="color: #000000; font-family: 'Times New Roman';"> <br>
                </div>
              </div>
              <div style="background-color: #FFFFFF;">
                <div style="text-align: center; color: #000000; font-family: 'Times New Roman';">DISCLOSURE PURSUANT TO THE REQUIREMENTS OF NASDAQ</div>
                <div>&#160;</div>
              </div>
              <div style="background-color: #FFFFFF;">
                <div style="color: #000000; font-family: 'Times New Roman';">The Registrant was granted an exemption from Nasdaq Stock Market Rules&#160;requiring each issuer to provide for a quorum at any meeting of the holders of common stock of no less than
                  33 1/3% of the outstanding shares of the issuer&#8217;s common voting stock. This exemption was granted because Nasdaq&#8217;s requirements regarding the quorum required for meetings of the holders of common stock are contrary to generally accepted
                  business practices in Canada. In particular, Section&#160;139(1)&#160;of the Canada Business Corporations Act provides that a company&#8217;s by-laws may set the quorum requirements for a meeting of shareholders. The relevant provisions of the
                  Registrant&#8217;s by-laws state that &#8220;Subject to the Act in respect of a majority shareholder, a quorum for the transaction of business at any meeting of shareholders shall be persons not being less than two in number and holding or
                  representing by proxy not less than 20 percent of the issued and outstanding shares of the Corporation for the time being enjoying voting rights at such meeting. If a quorum is present at the opening of any meeting of shareholders, the
                  shareholders present or represented may proceed with the business of the meeting notwithstanding that a quorum is not present throughout the meeting. If a quorum is not present at the opening of any meeting of shareholders, the
                  shareholders present or represented may adjourn the meeting to a fixed time and place but may not transact any other business.&#8221;</div>
                <div>&#160;</div>
              </div>
              <div style="background-color: #FFFFFF;">
                <div style="text-align: center; color: #000000; font-family: 'Times New Roman';">UNDERTAKING</div>
                <div>&#160;</div>
              </div>
              <div style="background-color: #FFFFFF;">
                <div style="color: #000000; font-family: 'Times New Roman';">Registrant undertakes to make available, in person or by telephone, representatives to respond to inquiries made by the Commission staff, and to furnish promptly, when requested
                  to do so by the Commission staff, information relating to: the securities in relation to which the obligation to file an annual report on Form&#160;40-F arises; or transactions in said securities.</div>
                <div>&#160;</div>
                <div><br>
                </div>
              </div>
              <div style="clear: both; margin-top: 10pt; margin-bottom: 10pt;" id="DSPFPageBreakArea">
                <div style="page-break-after:always;" id="DSPFPageBreak">
                  <hr style="margin: 4px 0px; width: 100%; border-width: 0; height: 2px; color: #000000; background-color: #000000; clear: both;" noshade="noshade"></div>
              </div>
              <div style="background-color: #FFFFFF;">
                <div style="text-align: center; color: #000000; font-family: 'Times New Roman';">SIGNATURES</div>
                <div>&#160;</div>
              </div>
              <div style="background-color: #FFFFFF;">
                <div style="color: #000000; font-family: 'Times New Roman';">Pursuant to the requirements of the Exchange Act, the Registrant certifies that it meets all of the requirements for filing on Form&#160;40-F and has duly caused this annual report to
                  be signed on its behalf by the undersigned, thereto duly authorized.</div>
                <div>&#160;</div>
              </div>
              <table style="font-family: 'Times New Roman', Times, serif; font-size: 10pt; width: 100%; border-collapse: collapse; text-align: left; color: #000000;" id="zc66c6f3745e3424d922e7310e43b3b3a" border="0" cellpadding="0" cellspacing="0">

                  <tr>
                    <td colspan="2" style="vertical-align: top; background-color: rgb(255, 255, 255);">
                      <div style="color: #000000; font-family: 'Times New Roman';">THE DESCARTES SYSTEMS GROUP INC.</div>
                    </td>
                  </tr>
                  <tr>
                    <td colspan="2" style="vertical-align: top; background-color: rgb(255, 255, 255);">&#160;</td>
                  </tr>
                  <tr>
                    <td style="width: 10%; vertical-align: top; background-color: rgb(255, 255, 255);">
                      <div style="color: #000000; font-family: 'Times New Roman';">By:</div>
                    </td>
                    <td style="width: 90%; vertical-align: top; background-color: rgb(255, 255, 255); border-bottom: 1px solid rgb(0, 0, 0);">
                      <div style="color: #000000; font-family: 'Times New Roman';">/s/ Michael Verhoeve</div>
                    </td>
                  </tr>
                  <tr>
                    <td style="width: 10%; vertical-align: top; background-color: rgb(255, 255, 255);">
                      <div style="color: #000000; font-family: 'Times New Roman';">Name:</div>
                    </td>
                    <td style="width: 90%; vertical-align: top; background-color: rgb(255, 255, 255);">
                      <div style="color: #000000; font-family: 'Times New Roman';">Michael Verhoeve</div>
                    </td>
                  </tr>
                  <tr>
                    <td style="width: 10%; vertical-align: top; background-color: rgb(255, 255, 255);">
                      <div style="color: #000000; font-family: 'Times New Roman';">Title:</div>
                    </td>
                    <td style="width: 90%; vertical-align: top; background-color: rgb(255, 255, 255);">
                      <div style="color: #000000; font-family: 'Times New Roman';">EVP Legal, General Counsel and Corporate<br>
                        Secretary</div>
                    </td>
                  </tr>
                  <tr>
                    <td style="width: 10%; vertical-align: top; background-color: rgb(255, 255, 255);">&#160;</td>
                    <td style="width: 90%; vertical-align: top; background-color: rgb(255, 255, 255);">&#160;</td>
                  </tr>
                  <tr>
                    <td style="width: 10%; vertical-align: top; background-color: rgb(255, 255, 255);">
                      <div style="color: #000000; font-family: 'Times New Roman';">Date:</div>
                    </td>
                    <td style="width: 90%; vertical-align: top; background-color: rgb(255, 255, 255);">
                      <div style="color: #000000; font-family: 'Times New Roman';">April 14, 2020</div>
                    </td>
                  </tr>

              </table>
              <div style="background-color: #FFFFFF;">
                <div><br>
                </div>
                <div><br>
                </div>
                <div>&#160;</div>
                <div><br>
                </div>
              </div>
              <div style="clear: both; margin-top: 10pt; margin-bottom: 10pt;" id="DSPFPageBreakArea">
                <div style="page-break-after:always;" id="DSPFPageBreak">
                  <hr style="margin: 4px 0px; width: 100%; border-width: 0; height: 2px; color: #000000; background-color: #000000; clear: both;" noshade="noshade"></div>
              </div>
              <div style="text-align: center; color: #000000; font-family: 'Times New Roman';">EXHIBIT&#160;INDEX</div>
              <div style="text-align: center; color: #000000; font-family: 'Times New Roman';"> <br>
              </div>
              <table style="font-family: 'Times New Roman', Times, serif; font-size: 10pt; width: 100%; border-collapse: collapse; text-align: left; color: #000000;" id="zd93e63b7392a46348169134f3b8c6395" border="0" cellpadding="0" cellspacing="0">

                  <tr>
                    <td style="width: 9%; vertical-align: bottom; background-color: rgb(255, 255, 255); border-bottom: 1px solid rgb(0, 0, 0);">
                      <div style="color: #000000; font-family: 'Times New Roman'; font-weight: bold;">Exhibit<br>
                        Number</div>
                    </td>
                    <td style="width: 1%; vertical-align: bottom; background-color: rgb(255, 255, 255);">&#160;</td>
                    <td style="width: 90%; vertical-align: bottom; background-color: rgb(255, 255, 255); border-bottom: 1px solid rgb(0, 0, 0);">
                      <div style="text-align: center; color: #000000; font-family: 'Times New Roman'; font-weight: bold;">Description</div>
                    </td>
                  </tr>
                  <tr>
                    <td style="width: 9%; vertical-align: top; background-color: rgb(255, 255, 255);">
                      <div style="color: #000000; font-family: 'Times New Roman';"><a href="exhibit99-1.htm">99.1</a></div>
                    </td>
                    <td style="width: 1%; vertical-align: bottom; background-color: rgb(255, 255, 255);">&#160;</td>
                    <td style="width: 90%; vertical-align: top; background-color: rgb(255, 255, 255);">
                      <div style="color: #000000; font-family: 'Times New Roman';"><a href="exhibit99-1.htm">Annual Information Form&#160;for the fiscal year ended January&#160;31, 2020</a></div>
                    </td>
                  </tr>
                  <tr>
                    <td style="width: 9%; vertical-align: top; background-color: rgb(255, 255, 255);">&#160;</td>
                    <td style="width: 1%; vertical-align: bottom; background-color: rgb(255, 255, 255);">&#160;</td>
                    <td style="width: 90%; vertical-align: top; background-color: rgb(255, 255, 255);">&#160;</td>
                  </tr>
                  <tr>
                    <td style="width: 9%; vertical-align: top; background-color: rgb(255, 255, 255);">
                      <div style="color: #000000; font-family: 'Times New Roman';"><a href="http://www.sec.gov/Archives/edgar/data/1050140/000092963820000392/exhibit99-2.htm">99.2</a></div>
                    </td>
                    <td style="width: 1%; vertical-align: bottom; background-color: rgb(255, 255, 255);">&#160;</td>
                    <td style="width: 90%; vertical-align: top; background-color: rgb(255, 255, 255);">
                      <div style="color: #000000; font-family: 'Times New Roman';"><a href="http://www.sec.gov/Archives/edgar/data/1050140/000092963820000392/exhibit99-2.htm">2020 Annual Report (incorporated herein by reference to Exhibit&#160;99.2 of the
                          Registrant&#8217;s Form&#160;6-K furnished with the SEC on March&#160;5, 2020)</a></div>
                    </td>
                  </tr>
                  <tr>
                    <td style="width: 9%; vertical-align: top; background-color: rgb(255, 255, 255);">&#160;</td>
                    <td style="width: 1%; vertical-align: bottom; background-color: rgb(255, 255, 255);">&#160;</td>
                    <td style="width: 90%; vertical-align: top; background-color: rgb(255, 255, 255);">&#160;</td>
                  </tr>
                  <tr>
                    <td style="width: 9%; vertical-align: top; background-color: rgb(255, 255, 255);">
                      <div style="color: #000000; font-family: 'Times New Roman';"><a href="exhibit99-3.htm">99.3</a></div>
                    </td>
                    <td style="width: 1%; vertical-align: bottom; background-color: rgb(255, 255, 255);">&#160;</td>
                    <td style="width: 90%; vertical-align: top; background-color: rgb(255, 255, 255);">
                      <div style="color: #000000; font-family: 'Times New Roman';"><a href="exhibit99-3.htm">Consent of KPMG LLP</a></div>
                    </td>
                  </tr>
                  <tr>
                    <td style="width: 9%; vertical-align: top; background-color: rgb(255, 255, 255);">&#160;</td>
                    <td style="width: 1%; vertical-align: bottom; background-color: rgb(255, 255, 255);">&#160;</td>
                    <td style="width: 90%; vertical-align: top; background-color: rgb(255, 255, 255);">&#160;</td>
                  </tr>
                  <tr>
                    <td style="width: 9%; vertical-align: top; background-color: rgb(255, 255, 255);">
                      <div style="color: #000000; font-family: 'Times New Roman';"><a href="exhibit99-4.htm">99.4</a></div>
                    </td>
                    <td style="width: 1%; vertical-align: bottom; background-color: rgb(255, 255, 255);">&#160;</td>
                    <td style="width: 90%; vertical-align: top; background-color: rgb(255, 255, 255);">
                      <div style="color: #000000; font-family: 'Times New Roman';"><a href="exhibit99-4.htm">Certification of the Chief Executive Officer pursuant to Rule&#160;13a-14 or 15d-14 of the Securities Exchange
                          Act of 1934, as adopted pursuant to Section&#160;302 of the Sarbanes-Oxley Act of 2002</a></div>
                    </td>
                  </tr>
                  <tr>
                    <td style="width: 9%; vertical-align: top; background-color: rgb(255, 255, 255);">&#160;</td>
                    <td style="width: 1%; vertical-align: bottom; background-color: rgb(255, 255, 255);">&#160;</td>
                    <td style="width: 90%; vertical-align: top; background-color: rgb(255, 255, 255);">&#160;</td>
                  </tr>
                  <tr>
                    <td style="width: 9%; vertical-align: top; background-color: rgb(255, 255, 255);">
                      <div style="color: #000000; font-family: 'Times New Roman';"><a href="exhibit99-5.htm">99.5</a></div>
                    </td>
                    <td style="width: 1%; vertical-align: bottom; background-color: rgb(255, 255, 255);">&#160;</td>
                    <td style="width: 90%; vertical-align: top; background-color: rgb(255, 255, 255);">
                      <div style="color: #000000; font-family: 'Times New Roman';"><a href="exhibit99-5.htm">Certification of the Chief Financial Officer pursuant to Rule&#160;13a-14 or 15d-14 of the Securities Exchange
                          Act of 1934, as adopted pursuant to Section&#160;302 of the Sarbanes-Oxley Act of 2002</a></div>
                    </td>
                  </tr>
                  <tr>
                    <td style="width: 9%; vertical-align: top; background-color: rgb(255, 255, 255);">&#160;</td>
                    <td style="width: 1%; vertical-align: bottom; background-color: rgb(255, 255, 255);">&#160;</td>
                    <td style="width: 90%; vertical-align: top; background-color: rgb(255, 255, 255);">&#160;</td>
                  </tr>
                  <tr>
                    <td style="width: 9%; vertical-align: top; background-color: rgb(255, 255, 255);">
                      <div style="color: #000000; font-family: 'Times New Roman';"><a href="exhibit99-6.htm">99.6</a></div>
                    </td>
                    <td style="width: 1%; vertical-align: bottom; background-color: rgb(255, 255, 255);">&#160;</td>
                    <td style="width: 90%; vertical-align: top; background-color: rgb(255, 255, 255);">
                      <div style="color: #000000; font-family: 'Times New Roman';"><a href="exhibit99-6.htm">Certifications of the Chief Executive Officer and Chief Financial Officer pursuant to 18 U.S.C.
                          Section&#160;1350, as adopted pursuant to Section&#160;906 of the Sarbanes-Oxley Act of 2002</a></div>
                    </td>
                  </tr>
                  <tr>
                    <td style="width: 9%; vertical-align: top; background-color: rgb(255, 255, 255);">&#160;</td>
                    <td style="width: 1%; vertical-align: bottom; background-color: rgb(255, 255, 255);">&#160;</td>
                    <td style="width: 90%; vertical-align: top; background-color: rgb(255, 255, 255);">&#160;</td>
                  </tr>
                  <tr>
                    <td style="width: 9%; vertical-align: top; background-color: rgb(255, 255, 255);">
                      <div style="color: #000000; font-family: 'Times New Roman';">101</div>
                    </td>
                    <td style="width: 1%; vertical-align: bottom; background-color: rgb(255, 255, 255);">&#160;</td>
                    <td style="width: 90%; vertical-align: top; background-color: rgb(255, 255, 255);">
                      <div style="color: #000000; font-family: 'Times New Roman';">XBRL Financial Statements</div>
                    </td>
                  </tr>

              </table>
              <div><br>
              </div>
              <div>&#160;</div>
            </div>
            <div>&#160;</div>
            <div><br>
            </div>
          </div>
        </div>
        <div><br>
        </div>
      </div>
    </div>
    <br>
  </div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-99.1
<SEQUENCE>2
<FILENAME>exhibit99-1.htm
<DESCRIPTION>ANNUAL INFORMATION FORM FOR THE FISCAL YEAR ENDED JANUARY 31, 2020
<TEXT>
<html>
  <head>
    <title></title>
    <!-- Licensed to: morganlewis
         Document created using EDGARfilings PROfile 6.3.0.0
         Copyright 1995 - 2020 Broadridge -->
  </head>
<body style="font-family: 'Times New Roman', Times, serif; font-size: 10pt; text-align: left; color: #000000;" bgcolor="#ffffff">
  <div style="text-align: right;"><font style="font-weight: bold;">EXHIBIT 99.1</font><br>
  </div>
  <div> <br>
  </div>
  <div> <br>
  </div>
  <div> <img src="descartes_logo.gif">
    <div><br>
    </div>
    <div><br>
    </div>
    <div style="text-align: center;">
      <div>
        <div style="text-align: left;">
          <div><br>
          </div>
          <div><br>
          </div>
          <div><br>
          </div>
          <div><br>
          </div>
          <div style="text-align: center; font-family: Arial; font-size: 9pt; font-variant: small-caps; font-weight: bold;"><img src="annualinformationform.jpg">
            <div><br>
            </div>
            <div><br>
            </div>
            <div><br>
            </div>
            <div><br>
            </div>
            <div><br>
            </div>
            <div><br>
            </div>
            <div><br>
            </div>
            <div style="text-align: right;">APRIL 14, 2020</div>
          </div>
          <div id="DSPFPageBreakArea" style="clear: both; margin-top: 10pt; margin-bottom: 10pt;">
            <div id="DSPFPageBreak" style="page-break-after:always;">
              <hr style="margin: 4px 0px; width: 100%; border-width: 0; height: 2px; color: #000000; background-color: #000000; clear: both;" noshade="noshade"></div>
          </div>
          <!--PROfilePageNumberReset%Num%2%%%-->
          <div>
            <div style="margin-right: 216pt; font-family: Arial; font-size: 9pt; font-variant: small-caps; font-weight: bold;"> </div>
            <div>
              <table style="font-family: 'Times New Roman', Times, serif; font-size: 10pt; color: #000000; width: 55%;" id="ze24ef633449f4d06bb110d92e5ec5ee8" border="0" cellpadding="0" cellspacing="0">

                  <tr>
                    <td style="border-bottom: 1px solid #000000; border-top: 1px solid #000000; width: 55%;">
                      <div><font style="font-family: Arial; font-variant: small-caps;"><font style="font-weight: bold;">Table of Contents</font> </font><br>
                      </div>
                    </td>
                  </tr>

              </table>
            </div>
            <div style="margin-right: 216pt; font-family: Arial; font-size: 9pt; font-variant: small-caps; font-weight: bold;"><br>
            </div>
          </div>
          <table id="z91b6b46f7ff94ff3af4ddd6a7ff939f7" style="font-family: 'Times New Roman',Times,serif; font-size: 10pt; width: 100%; border-collapse: collapse; text-align: left; color: rgb(0, 0, 0);" border="0" cellpadding="0" cellspacing="0">

              <tr>
                <td style="width: 16.93%; vertical-align: top;">
                  <div style="font-family: Arial; font-size: 9pt; font-weight: bold;">ITEM 1</div>
                </td>
                <td style="width: 68.82%; vertical-align: top;">
                  <div style="font-family: Arial; font-size: 9pt; font-weight: bold;">GENERAL</div>
                </td>
                <td style="width: 14.25%; vertical-align: bottom;">
                  <div style="text-align: right; font-family: Arial; font-size: 9pt; font-weight: bold;">3</div>
                </td>
              </tr>
              <tr>
                <td style="width: 16.93%; vertical-align: top;" rowspan="1">&#160;</td>
                <td style="width: 68.82%; vertical-align: top;" rowspan="1">&#160;</td>
                <td style="width: 14.25%; vertical-align: bottom;" rowspan="1">&#160;</td>
              </tr>
              <tr>
                <td style="width: 16.93%; vertical-align: top;">
                  <div style="font-family: Arial; font-size: 9pt; font-weight: bold;">ITEM 2</div>
                </td>
                <td style="width: 68.82%; vertical-align: top;">
                  <div style="font-family: Arial; font-size: 9pt; font-weight: bold;">CORPORATE STRUCTURE</div>
                </td>
                <td style="width: 14.25%; vertical-align: bottom;">
                  <div style="text-align: right; font-family: Arial; font-size: 9pt; font-weight: bold;">4</div>
                </td>
              </tr>
              <tr>
                <td style="width: 16.93%; vertical-align: top;">
                  <div style="margin-left: 16.85pt; font-family: Arial; font-size: 9pt;">2.1</div>
                </td>
                <td style="width: 68.82%; vertical-align: top;">
                  <div style="margin-left: 16.85pt; font-family: Arial; font-size: 9pt;">The Company</div>
                </td>
                <td style="width: 14.25%; vertical-align: bottom;">
                  <div style="text-align: right; font-family: Arial; font-size: 9pt;">4</div>
                </td>
              </tr>
              <tr>
                <td style="width: 16.93%; vertical-align: top;">
                  <div style="margin-left: 16.85pt; font-family: Arial; font-size: 9pt;">2.2</div>
                </td>
                <td style="width: 68.82%; vertical-align: top;">
                  <div style="margin-left: 16.85pt; font-family: Arial; font-size: 9pt;">Intercorporate Relationships</div>
                </td>
                <td style="width: 14.25%; vertical-align: bottom;">
                  <div style="text-align: right; font-family: Arial; font-size: 9pt;">4</div>
                </td>
              </tr>
              <tr>
                <td style="width: 16.93%; vertical-align: top;" rowspan="1">&#160;</td>
                <td style="width: 68.82%; vertical-align: top;" rowspan="1">&#160;</td>
                <td style="width: 14.25%; vertical-align: bottom;" rowspan="1">&#160;</td>
              </tr>
              <tr>
                <td style="width: 16.93%; vertical-align: top;">
                  <div style="font-family: Arial; font-size: 9pt; font-weight: bold;">ITEM 3</div>
                </td>
                <td style="width: 68.82%; vertical-align: top;">
                  <div style="font-family: Arial; font-size: 9pt; font-weight: bold;">GENERAL DEVELOPMENT OF THE BUSINESS</div>
                </td>
                <td style="width: 14.25%; vertical-align: bottom;">
                  <div style="text-align: right; font-family: Arial; font-size: 9pt; font-weight: bold;">5</div>
                </td>
              </tr>
              <tr>
                <td style="width: 16.93%; vertical-align: top;">
                  <div style="margin-left: 16.85pt; font-family: Arial; font-size: 9pt;">3.1</div>
                </td>
                <td style="width: 68.82%; vertical-align: top;">
                  <div style="margin-left: 16.85pt; font-family: Arial; font-size: 9pt;">Profile</div>
                </td>
                <td style="width: 14.25%; vertical-align: bottom;">
                  <div style="text-align: right; font-family: Arial; font-size: 9pt;">5</div>
                </td>
              </tr>
              <tr>
                <td style="width: 16.93%; vertical-align: top;">
                  <div style="margin-left: 16.85pt; font-family: Arial; font-size: 9pt;">3.2</div>
                </td>
                <td style="width: 68.82%; vertical-align: top;">
                  <div style="margin-left: 16.85pt; font-family: Arial; font-size: 9pt;">History and General Development</div>
                </td>
                <td style="width: 14.25%; vertical-align: bottom;">
                  <div style="text-align: right; font-family: Arial; font-size: 9pt;">7</div>
                </td>
              </tr>
              <tr>
                <td style="width: 16.93%; vertical-align: top;">
                  <div style="margin-left: 16.85pt; font-family: Arial; font-size: 9pt;">3.3</div>
                </td>
                <td style="width: 68.82%; vertical-align: top;">
                  <div style="margin-left: 16.85pt; font-family: Arial; font-size: 9pt;">Trends / Business Outlook</div>
                </td>
                <td style="width: 14.25%; vertical-align: bottom;">
                  <div style="text-align: right; font-family: Arial; font-size: 9pt;">10</div>
                </td>
              </tr>
              <tr>
                <td style="width: 16.93%; vertical-align: top;" rowspan="1">&#160;</td>
                <td style="width: 68.82%; vertical-align: top;" rowspan="1">&#160;</td>
                <td style="width: 14.25%; vertical-align: bottom;" rowspan="1">&#160;</td>
              </tr>
              <tr>
                <td style="width: 16.93%; vertical-align: top;">
                  <div style="font-family: Arial; font-size: 9pt; font-weight: bold;">ITEM 4</div>
                </td>
                <td style="width: 68.82%; vertical-align: top;">
                  <div style="font-family: Arial; font-size: 9pt; font-weight: bold;">NARRATIVE DESCRIPTION OF THE BUSINESS</div>
                </td>
                <td style="width: 14.25%; vertical-align: bottom;">
                  <div style="text-align: right; font-family: Arial; font-size: 9pt; font-weight: bold;">14</div>
                </td>
              </tr>
              <tr>
                <td style="width: 16.93%; vertical-align: top;">
                  <div style="margin-left: 16.85pt; font-family: Arial; font-size: 9pt;">4.1</div>
                </td>
                <td style="width: 68.82%; vertical-align: top;">
                  <div style="margin-left: 16.85pt; font-family: Arial; font-size: 9pt;">Company Overview</div>
                </td>
                <td style="width: 14.25%; vertical-align: bottom;">
                  <div style="text-align: right; font-family: Arial; font-size: 9pt;">14</div>
                </td>
              </tr>
              <tr>
                <td style="width: 16.93%; vertical-align: top;">
                  <div style="margin-left: 16.85pt; font-family: Arial; font-size: 9pt;">4.2</div>
                </td>
                <td style="width: 68.82%; vertical-align: top;">
                  <div style="margin-left: 16.85pt; font-family: Arial; font-size: 9pt;">Principal Products &amp; Services</div>
                </td>
                <td style="width: 14.25%; vertical-align: bottom;">
                  <div style="text-align: right; font-family: Arial; font-size: 9pt;">14</div>
                </td>
              </tr>
              <tr>
                <td style="width: 16.93%; vertical-align: top;">
                  <div style="margin-left: 16.85pt; font-family: Arial; font-size: 9pt;">4.3</div>
                </td>
                <td style="width: 68.82%; vertical-align: top;">
                  <div style="margin-left: 16.85pt; font-family: Arial; font-size: 9pt;">Revenue Sources</div>
                </td>
                <td style="width: 14.25%; vertical-align: bottom;">
                  <div style="text-align: right; font-family: Arial; font-size: 9pt;">25</div>
                </td>
              </tr>
              <tr>
                <td style="width: 16.93%; vertical-align: top;">
                  <div style="margin-left: 16.85pt; font-family: Arial; font-size: 9pt;">4.4</div>
                </td>
                <td style="width: 68.82%; vertical-align: top;">
                  <div style="margin-left: 16.85pt; font-family: Arial; font-size: 9pt;">Customer Base</div>
                </td>
                <td style="width: 14.25%; vertical-align: bottom;">
                  <div style="text-align: right; font-family: Arial; font-size: 9pt;">26</div>
                </td>
              </tr>
              <tr>
                <td style="width: 16.93%; vertical-align: top;">
                  <div style="margin-left: 16.85pt; font-family: Arial; font-size: 9pt;">4.5</div>
                </td>
                <td style="width: 68.82%; vertical-align: top;">
                  <div style="margin-left: 16.85pt; font-family: Arial; font-size: 9pt;">Sales and Marketing</div>
                </td>
                <td style="width: 14.25%; vertical-align: bottom;">
                  <div style="text-align: right; font-family: Arial; font-size: 9pt;">26</div>
                </td>
              </tr>
              <tr>
                <td style="width: 16.93%; vertical-align: top;">
                  <div style="margin-left: 16.85pt; font-family: Arial; font-size: 9pt;">4.6</div>
                </td>
                <td style="width: 68.82%; vertical-align: top;">
                  <div style="margin-left: 16.85pt; font-family: Arial; font-size: 9pt;">Research and Development</div>
                </td>
                <td style="width: 14.25%; vertical-align: bottom;">
                  <div style="text-align: right; font-family: Arial; font-size: 9pt;">27</div>
                </td>
              </tr>
              <tr>
                <td style="width: 16.93%; vertical-align: top;">
                  <div style="margin-left: 16.85pt; font-family: Arial; font-size: 9pt;">4.7</div>
                </td>
                <td style="width: 68.82%; vertical-align: top;">
                  <div style="margin-left: 16.85pt; font-family: Arial; font-size: 9pt;">Competition</div>
                </td>
                <td style="width: 14.25%; vertical-align: bottom;">
                  <div style="text-align: right; font-family: Arial; font-size: 9pt;">28</div>
                </td>
              </tr>
              <tr>
                <td style="width: 16.93%; vertical-align: top;">
                  <div style="margin-left: 16.85pt; font-family: Arial; font-size: 9pt;">4.8</div>
                </td>
                <td style="width: 68.82%; vertical-align: top;">
                  <div style="margin-left: 16.85pt; font-family: Arial; font-size: 9pt;">Intellectual Property and Other Proprietary Rights</div>
                </td>
                <td style="width: 14.25%; vertical-align: bottom;">
                  <div style="text-align: right; font-family: Arial; font-size: 9pt;">29</div>
                </td>
              </tr>
              <tr>
                <td style="width: 16.93%; vertical-align: top;">
                  <div style="margin-left: 16.85pt; font-family: Arial; font-size: 9pt;">4.9</div>
                </td>
                <td style="width: 68.82%; vertical-align: top;">
                  <div style="margin-left: 16.85pt; font-family: Arial; font-size: 9pt;">Contracts</div>
                </td>
                <td style="width: 14.25%; vertical-align: bottom;">
                  <div style="text-align: right; font-family: Arial; font-size: 9pt;">30</div>
                </td>
              </tr>
              <tr>
                <td style="width: 16.93%; vertical-align: top;">
                  <div style="margin-left: 16.85pt; font-family: Arial; font-size: 9pt;">4.10</div>
                </td>
                <td style="width: 68.82%; vertical-align: top;">
                  <div style="margin-left: 16.85pt; font-family: Arial; font-size: 9pt;">Employees</div>
                </td>
                <td style="width: 14.25%; vertical-align: bottom;">
                  <div style="text-align: right; font-family: Arial; font-size: 9pt;">30</div>
                </td>
              </tr>
              <tr>
                <td style="width: 16.93%; vertical-align: top;">
                  <div style="margin-left: 16.85pt; font-family: Arial; font-size: 9pt;">4.11</div>
                </td>
                <td style="width: 68.82%; vertical-align: top;">
                  <div style="margin-left: 16.85pt; font-family: Arial; font-size: 9pt;">Risks Associated with Foreign Sales and Exchange Rate Fluctuations</div>
                </td>
                <td style="width: 14.25%; vertical-align: bottom;">
                  <div style="text-align: right; font-family: Arial; font-size: 9pt;">31</div>
                </td>
              </tr>
              <tr>
                <td style="width: 16.93%; vertical-align: top;">
                  <div style="margin-left: 16.85pt; font-family: Arial; font-size: 9pt;">4.12</div>
                </td>
                <td style="width: 68.82%; vertical-align: top;">
                  <div style="margin-left: 16.85pt; font-family: Arial; font-size: 9pt;">Risks Associated with Cyclical or Seasonal Aspects of Business</div>
                </td>
                <td style="width: 14.25%; vertical-align: bottom;">
                  <div style="text-align: right; font-family: Arial; font-size: 9pt;">31</div>
                </td>
              </tr>
              <tr>
                <td style="width: 16.93%; vertical-align: top;">
                  <div style="margin-left: 16.85pt; font-family: Arial; font-size: 9pt;">4.13</div>
                </td>
                <td style="width: 68.82%; vertical-align: top;">
                  <div style="margin-left: 16.85pt; font-family: Arial; font-size: 9pt;">Reorganizations</div>
                </td>
                <td style="width: 14.25%; vertical-align: bottom;">
                  <div style="text-align: right; font-family: Arial; font-size: 9pt;">31</div>
                </td>
              </tr>
              <tr>
                <td style="width: 16.93%; vertical-align: top;">
                  <div style="margin-left: 16.85pt; font-family: Arial; font-size: 9pt;">4.14</div>
                </td>
                <td style="width: 68.82%; vertical-align: top;">
                  <div style="margin-left: 16.85pt; font-family: Arial; font-size: 9pt;">Material Contracts</div>
                </td>
                <td style="width: 14.25%; vertical-align: bottom;">
                  <div style="text-align: right; font-family: Arial; font-size: 9pt;">31</div>
                </td>
              </tr>
              <tr>
                <td style="width: 16.93%; vertical-align: top;">
                  <div style="margin-left: 16.85pt; font-family: Arial; font-size: 9pt;">4.15</div>
                </td>
                <td style="width: 68.82%; vertical-align: top;">
                  <div style="margin-left: 16.85pt; font-family: Arial; font-size: 9pt;">Code of Business Conduct and Ethics</div>
                </td>
                <td style="width: 14.25%; vertical-align: bottom;">
                  <div style="text-align: right; font-family: Arial; font-size: 9pt;">32</div>
                </td>
              </tr>
              <tr>
                <td style="width: 16.93%; vertical-align: top;" rowspan="1">&#160;</td>
                <td style="width: 68.82%; vertical-align: top;" rowspan="1">&#160;</td>
                <td style="width: 14.25%; vertical-align: bottom;" rowspan="1">&#160;</td>
              </tr>
              <tr>
                <td style="width: 16.93%; vertical-align: top;">
                  <div style="font-family: Arial; font-size: 9pt; font-weight: bold;">ITEM 5</div>
                </td>
                <td style="width: 68.82%; vertical-align: top;">
                  <div style="font-family: Arial; font-size: 9pt; font-weight: bold;">RISK FACTORS</div>
                </td>
                <td style="width: 14.25%; vertical-align: bottom;">
                  <div style="text-align: right; font-family: Arial; font-size: 9pt; font-weight: bold;">32</div>
                </td>
              </tr>
              <tr>
                <td style="width: 16.93%; vertical-align: top;" rowspan="1">&#160;</td>
                <td style="width: 68.82%; vertical-align: top;" rowspan="1">&#160;</td>
                <td style="width: 14.25%; vertical-align: bottom;" rowspan="1">&#160;</td>
              </tr>
              <tr>
                <td style="width: 16.93%; vertical-align: top;">
                  <div style="font-family: Arial; font-size: 9pt; font-weight: bold;">ITEM 6</div>
                </td>
                <td style="width: 68.82%; vertical-align: top;">
                  <div style="font-family: Arial; font-size: 9pt; font-weight: bold;">MARKET FOR SECURITIES AND RELATED SECURITYHOLDER MATTERS</div>
                </td>
                <td style="width: 14.25%; vertical-align: bottom;">
                  <div style="text-align: right; font-family: Arial; font-size: 9pt; font-weight: bold;">33</div>
                </td>
              </tr>
              <tr>
                <td style="width: 16.93%; vertical-align: top;">
                  <div style="margin-left: 16.85pt; font-family: Arial; font-size: 9pt;">6.1</div>
                </td>
                <td style="width: 68.82%; vertical-align: top;">
                  <div style="margin-left: 16.85pt; font-family: Arial; font-size: 9pt;">Common Shares</div>
                </td>
                <td style="width: 14.25%; vertical-align: bottom;">
                  <div style="text-align: right; font-family: Arial; font-size: 9pt;">33</div>
                </td>
              </tr>
              <tr>
                <td style="width: 16.93%; vertical-align: top;">
                  <div style="margin-left: 16.85pt; font-family: Arial; font-size: 9pt;">6.2</div>
                </td>
                <td style="width: 68.82%; vertical-align: top;">
                  <div style="margin-left: 16.85pt; font-family: Arial; font-size: 9pt;">Transfer Agent and Registrar</div>
                </td>
                <td style="width: 14.25%; vertical-align: bottom;">
                  <div style="text-align: right; font-family: Arial; font-size: 9pt;">33</div>
                </td>
              </tr>
              <tr>
                <td style="width: 16.93%; vertical-align: top;">
                  <div style="margin-left: 16.85pt; font-family: Arial; font-size: 9pt;">6.3</div>
                </td>
                <td style="width: 68.82%; vertical-align: top;">
                  <div style="margin-left: 16.85pt; font-family: Arial; font-size: 9pt;">Dividend Policy</div>
                </td>
                <td style="width: 14.25%; vertical-align: bottom;">
                  <div style="text-align: right; font-family: Arial; font-size: 9pt;">33</div>
                </td>
              </tr>
              <tr>
                <td style="width: 16.93%; vertical-align: top;">
                  <div style="margin-left: 16.85pt; font-family: Arial; font-size: 9pt;">6.4</div>
                </td>
                <td style="width: 68.82%; vertical-align: top;">
                  <div style="margin-left: 16.85pt; font-family: Arial; font-size: 9pt;">Market for Common Shares</div>
                </td>
                <td style="width: 14.25%; vertical-align: bottom;">
                  <div style="text-align: right; font-family: Arial; font-size: 9pt;">34</div>
                </td>
              </tr>
              <tr>
                <td style="width: 16.93%; vertical-align: top;">
                  <div style="margin-left: 16.85pt; font-family: Arial; font-size: 9pt;">6.5</div>
                </td>
                <td style="width: 68.82%; vertical-align: top;">
                  <div style="margin-left: 16.85pt; font-family: Arial; font-size: 9pt;">Shareholder Rights Plan</div>
                </td>
                <td style="width: 14.25%; vertical-align: bottom;">
                  <div style="text-align: right; font-family: Arial; font-size: 9pt;">34</div>
                </td>
              </tr>
              <tr>
                <td style="width: 16.93%; vertical-align: top;" rowspan="1">&#160;</td>
                <td style="width: 68.82%; vertical-align: top;" rowspan="1">&#160;</td>
                <td style="width: 14.25%; vertical-align: bottom;" rowspan="1">&#160;</td>
              </tr>
              <tr>
                <td style="width: 16.93%; vertical-align: top;">
                  <div style="font-family: Arial; font-size: 9pt; font-weight: bold;">ITEM 7</div>
                </td>
                <td style="width: 68.82%; vertical-align: top;">
                  <div style="font-family: Arial; font-size: 9pt; font-weight: bold;">DIRECTORS AND EXECUTIVE OFFICERS</div>
                </td>
                <td style="width: 14.25%; vertical-align: bottom;">
                  <div style="text-align: right; font-family: Arial; font-size: 9pt; font-weight: bold;">35</div>
                </td>
              </tr>
              <tr>
                <td style="width: 16.93%; vertical-align: top;">
                  <div style="margin-left: 16.85pt; font-family: Arial; font-size: 9pt;">7.1</div>
                </td>
                <td style="width: 68.82%; vertical-align: top;">
                  <div style="margin-left: 16.85pt; font-family: Arial; font-size: 9pt;">Summary Information</div>
                </td>
                <td style="width: 14.25%; vertical-align: bottom;">
                  <div style="text-align: right; font-family: Arial; font-size: 9pt;">35</div>
                </td>
              </tr>
              <tr>
                <td style="width: 16.93%; vertical-align: top;">
                  <div style="margin-left: 16.85pt; font-family: Arial; font-size: 9pt;">7.2</div>
                </td>
                <td style="width: 68.82%; vertical-align: top;">
                  <div style="margin-left: 16.85pt; font-family: Arial; font-size: 9pt;">Committees of the Board of Directors</div>
                </td>
                <td style="width: 14.25%; vertical-align: bottom;">
                  <div style="text-align: right; font-family: Arial; font-size: 9pt;">39</div>
                </td>
              </tr>
              <tr>
                <td style="width: 16.93%; vertical-align: top;">
                  <div style="margin-left: 16.85pt; font-family: Arial; font-size: 9pt;">7.3</div>
                </td>
                <td style="width: 68.82%; vertical-align: top;">
                  <div style="margin-left: 16.85pt; font-family: Arial; font-size: 9pt;">Certain Relationships and Related Transactions</div>
                </td>
                <td style="width: 14.25%; vertical-align: bottom;">
                  <div style="text-align: right; font-family: Arial; font-size: 9pt;">40</div>
                </td>
              </tr>
              <tr>
                <td style="width: 16.93%; vertical-align: top;" rowspan="1">&#160;</td>
                <td style="width: 68.82%; vertical-align: top;" rowspan="1">&#160;</td>
                <td style="width: 14.25%; vertical-align: bottom;" rowspan="1">&#160;</td>
              </tr>
              <tr>
                <td style="width: 16.93%; vertical-align: top;">
                  <div style="font-family: Arial; font-size: 9pt; font-weight: bold;">ITEM 8</div>
                </td>
                <td style="width: 68.82%; vertical-align: top;">
                  <div style="font-family: Arial; font-size: 9pt; font-weight: bold;">EXTERNAL AUDITORS</div>
                </td>
                <td style="width: 14.25%; vertical-align: bottom;">
                  <div style="text-align: right; font-family: Arial; font-size: 9pt; font-weight: bold;">41</div>
                </td>
              </tr>
              <tr>
                <td style="width: 16.93%; vertical-align: top;" rowspan="1">&#160;</td>
                <td style="width: 68.82%; vertical-align: top;" rowspan="1">&#160;</td>
                <td style="width: 14.25%; vertical-align: bottom;" rowspan="1">&#160;</td>
              </tr>
              <tr>
                <td style="width: 16.93%; vertical-align: top;">
                  <div style="font-family: Arial; font-size: 9pt; font-weight: bold;">ITEM 9</div>
                </td>
                <td style="width: 68.82%; vertical-align: top;">
                  <div style="font-family: Arial; font-size: 9pt; font-weight: bold;">LEGAL PROCEEDINGS</div>
                </td>
                <td style="width: 14.25%; vertical-align: bottom;">
                  <div style="text-align: right; font-family: Arial; font-size: 9pt; font-weight: bold;">41</div>
                </td>
              </tr>
              <tr>
                <td style="width: 16.93%; vertical-align: top;" rowspan="1">&#160;</td>
                <td style="width: 68.82%; vertical-align: top;" rowspan="1">&#160;</td>
                <td style="width: 14.25%; vertical-align: bottom;" rowspan="1">&#160;</td>
              </tr>
              <tr>
                <td style="width: 16.93%; vertical-align: top;">
                  <div style="font-family: Arial; font-size: 9pt; font-weight: bold;">ITEM 10</div>
                </td>
                <td style="width: 68.82%; vertical-align: top;">
                  <div style="font-family: Arial; font-size: 9pt; font-weight: bold;">ADDITIONAL INFORMATION</div>
                </td>
                <td style="width: 14.25%; vertical-align: bottom;">
                  <div style="text-align: right; font-family: Arial; font-size: 9pt; font-weight: bold;">41</div>
                </td>
              </tr>

          </table>
          <div><br>
          </div>
          <table id="z86c8548b67a748f1b0cf474bacdcdf16" style="font-family: 'Times New Roman',Times,serif; font-size: 10pt; width: 100%; border-collapse: collapse; text-align: left; color: rgb(0, 0, 0);" border="0" cellpadding="0" cellspacing="0">

              <tr>
                <td style="width: 85.75%; vertical-align: top;">
                  <div style="font-family: Arial; font-size: 9pt; font-weight: bold;">Appendix A &#8211; Audit Committee Charter</div>
                </td>
                <td style="width: 14.25%; vertical-align: top;">
                  <div style="text-align: right; font-family: Arial; font-size: 9pt; font-weight: bold;">43</div>
                </td>
              </tr>
              <tr>
                <td style="width: 85.75%; vertical-align: top;">&#160;</td>
                <td style="width: 14.25%; vertical-align: top;">&#160;</td>
              </tr>
              <tr>
                <td style="width: 85.75%; vertical-align: top;">
                  <div style="font-family: Arial; font-size: 9pt; font-weight: bold;">Appendix B &#8211; Audit Committee Pre-Approval Policy</div>
                </td>
                <td style="width: 14.25%; vertical-align: top;">
                  <div style="text-align: right; font-family: Arial; font-size: 9pt; font-weight: bold;">56</div>
                </td>
              </tr>

          </table>
          <div id="DSPFPageBreakArea" style="clear: both; margin-top: 10pt; margin-bottom: 10pt;">
            <div style="text-align: center;" id="DSPFPageNumberArea"><font style="font-family: Arial, Helvetica, 'sans-serif'; font-size: 9pt; font-weight: normal; font-style: normal;" id="DSPFPageNumber">2</font></div>
            <div id="DSPFPageBreak" style="page-break-after:always;">
              <hr style="margin: 4px 0px; width: 100%; border-width: 0; height: 2px; color: #000000; background-color: #000000; clear: both;" noshade="noshade"></div>
          </div>
          <div>
            <div><font style="font-size: 9pt; font-family: Arial; font-weight: bold;"> </font></div>
            <div style="border-bottom: 1px solid #000000; border-top: 1px solid #000000;"><font style="font-size: 9pt; font-family: Arial; font-weight: bold;">ITEM 1</font>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;<font style="font-size: 9pt; font-family: Arial; font-weight: bold;">GENERAL</font></div>
          </div>
          <div><br>
          </div>
          <div style="text-align: justify; font-family: Arial; font-size: 9pt; font-weight: bold;">Information contained herein is provided as at January 31, 2020 and is in United States (&#8220;US&#8221;) dollars, unless otherwise indicated.</div>
          <div><br>
          </div>
          <div style="text-align: justify; font-family: Arial; font-size: 9pt;">Our Annual Information Form (&#8220;AIF&#8221;) contains references to The Descartes Systems Group Inc. using the words &#8220;Descartes,&#8221; &#8220;we,&#8221; &#8220;us,&#8221; &#8220;our&#8221; and similar words and the reader is
            referred to using the words &#8220;you,&#8221; &#8220;your&#8221; and similar words.</div>
          <div><br>
          </div>
          <div style="text-align: justify; font-family: Arial; font-size: 9pt;">This AIF also refers to our fiscal years. Our fiscal year commences on February 1<sup style="vertical-align: text-top; line-height: 1; font-size: smaller;">st</sup> of each
            year and ends on January 31<sup style="vertical-align: text-top; line-height: 1; font-size: smaller;">st</sup> of the following year. Our fiscal year that ended on January 31, 2020 is referred to as &#8220;fiscal 2020,&#8221; &#8220;2020&#8221; or using similar words.
            Our fiscal year that ended on January 31, 2019 is referred to as &#8220;fiscal 2019,&#8221; &#8220;2019&#8221; or using similar words. Other fiscal periods are referenced by the applicable year during which the fiscal period ends. For example, 2021 refers to the
            annual period ending January 31, 2021 and the &#8220;fourth quarter of 2021&#8221; refers to the quarter ending January 31, 2021.</div>
          <div><br>
          </div>
          <div style="text-align: justify; font-family: Arial; font-size: 9pt;">You should read the AIF in conjunction with our audited consolidated financial statements for 2020 and the management&#8217;s discussion and analysis thereon (&#8220;MD&amp;A&#8221;). We prepare
            and file our consolidated financial statements and MD&amp;A in US dollars and in accordance with US generally accepted accounting principles (&#8220;GAAP&#8221;).</div>
          <div><br>
          </div>
          <div style="text-align: justify; font-family: Arial; font-size: 9pt;">We have prepared the AIF with reference to Form 51-102F2, which sets out the AIF disclosure requirements and which was established under National Instrument 51-102 &#8220;Continuous
            Disclosure Obligations&#8221; (&#8220;NI 51-102&#8221;) of the Canadian Securities Administrators.</div>
          <div style="text-align: justify;"><font style="font-size: 9pt; font-family: Arial;"> </font><br>
          </div>
          <div style="text-align: justify; font-family: Arial; font-size: 9pt;">Additional information about us, including copies of our continuous disclosure materials such as our MD&amp;A, is available on our website at http://www.descartes.com, through
            the EDGAR website at http://www.sec.gov or through the SEDAR website at http://www.sedar.com.</div>
          <div><br>
          </div>
          <div style="text-align: justify; font-family: Arial; font-size: 9pt;">Certain statements made in this AIF, as well as the MD&amp;A referenced herein, constitute forward-looking information for the purposes of applicable securities laws (&#8220;forward
            looking statements&#8221;), including, but not limited to: statements in the &#8220;Trends / Business Outlook&#8221; section and statements regarding our expectations concerning future revenues and earnings, including potential variances from period to period;
            our expectations regarding the cyclical nature of our business; mix of revenues and potential variances from period to period; our plans to focus on generating services revenues yet to continue to allow customers to elect to license technology
            in lieu of subscribing to services; our expectations on losses of revenues and customers; our baseline calibration; our ability to keep our operating expenses at a level below our baseline revenues; our future business plans and business
            planning process; allocation of purchase price for completed acquisitions; our expectations regarding future restructuring charges and cost-reduction activities; expenses, including amortization of intangible assets and stock-based
            compensation; goodwill impairment tests and the possibility of future impairment adjustments; capital expenditures; acquisition-related costs; our liability with respect to various claims and suits arising in the ordinary course; any
            commitments referred to in the &#8220;Commitments, Contingencies and Guarantees&#8221; section of our MD&amp;A; our intention to actively explore future business combinations and other strategic transactions; our liability under indemnification
            obligations; our reinvestment of earnings of subsidiaries back into such subsidiaries; our dividend policy; the sufficiency of capital to meet working capital, capital expenditure, debt repayment requirements and our anticipated growth
            strategy; our ability to raise capital; our adoption of certain accounting standards; and other matters related to the foregoing. When used in this document, the words &#8220;believe,&#8221; &#8220;plan,&#8221; &#8220;expect,&#8221; &#8220;anticipate,&#8221; &#8220;intend,&#8221; &#8220;continue,&#8221; &#8220;may,&#8221;
            &#8220;will,&#8221; &#8220;should&#8221; or the negative of such terms and similar expressions are intended to identify forward-looking statements. These forward-looking statements are subject to risks and uncertainties and are based on assumptions that may cause
            future results to differ materially from those expected. The material assumptions made in making these forward-looking statements include the following: Descartes&#8217; ability to avoid the impact of network failures, information security breaches
            or other cyber-security threats, or any significant disruptions in the movement of freight or a decline in shipment volumes including as a result of contagious illness outbreaks, a deterioration of general economic conditions or instability in
            the</div>
          <div id="DSPFPageBreakArea" style="clear: both; margin-top: 10pt; margin-bottom: 10pt;">
            <div style="text-align: center;" id="DSPFPageNumberArea"><font style="font-family: Arial, Helvetica, 'sans-serif'; font-size: 9pt; font-weight: normal; font-style: normal;" id="DSPFPageNumber">3</font></div>
            <div id="DSPFPageBreak" style="page-break-after:always;">
              <hr style="margin: 4px 0px; width: 100%; border-width: 0; height: 2px; color: #000000; background-color: #000000; clear: both;" noshade="noshade"></div>
          </div>
          <div style="text-align: justify; font-family: Arial; font-size: 9pt;">financial markets accompanied by a decrease in spending by our customers; Descartes' ability to successfully identify and execute on acquisitions and to integrate acquired
            businesses and assets, and to predict expenses associated with and revenues from acquisitions; global shipment volumes continuing to increase at levels consistent with the average growth rates of the global economy; countries continuing to
            implement and enforce existing and additional customs and security regulations relating to the provision of electronic information for imports and exports; countries continuing to implement and enforce existing and additional trade restrictions
            and sanctioned party lists with respect to doing business with certain countries, organizations, entities and individuals; our continued operation of a secure and reliable business network; the continued availability of the data and content
            that is utilized in the delivery of services made available over our network; the stability of general economic and market conditions, currency exchange rates, and interest rates; equity and debt markets continuing to provide us with access to
            capital; our ability to develop solutions that keep pace with the continuing changes in technology; and our continued compliance with third party intellectual property rights. While management believes these assumptions to be reasonable under
            the circumstances, they may prove to be inaccurate. Such forward-looking statements also involve known and unknown risks, uncertainties and other factors that may cause our actual results, performance or achievements of, or developments in our
            business or industry, to differ materially from the anticipated results, performance or achievements or developments expressed or implied by such forward-looking statements.&#160; Such factors include, but are not limited to, the factors discussed
            under the heading <font style="font-weight: bold;">&#8220;Certain Factors That May Affect Future Results&#8221;</font> in the MD&amp;A which is included in our Annual Report to the Shareholders for the fiscal year ended January 31<sup style="vertical-align: text-top; line-height: 1; font-size: smaller;">st</sup>, 2020, and in other documents filed with the Securities and Exchange Commission, the Ontario Securities Commission and other securities commissions across Canada
            from time to time. If any of such risks actually occur, they could materially adversely affect our business, financial condition or results of operations. In that case, the trading price of our common shares could decline, perhaps materially.
            Readers are cautioned not to place undue reliance upon any such forward-looking statements, which speak only as of the date made. Forward-looking statements are provided for the purpose of providing information about management&#8217;s current
            expectations and plans relating to the future. Readers are cautioned that such information may not be appropriate for other purposes. Except as required by applicable law, we do not undertake or accept any obligation or undertaking to release
            publicly any updates or revisions to any forward-looking statements to reflect any change in our expectations or any change in events, conditions, assumptions or circumstances on which any such statements are based.</div>
          <div><br>
          </div>
          <div><br>
          </div>
          <div>
            <div style="border-bottom: 1px solid #000000; border-top: 1px solid #000000;"><font style="font-size: 9pt; font-family: Arial; font-weight: bold;">ITEM 2</font>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;<font style="font-size: 9pt; font-family: Arial; font-weight: bold;">CORPORATE
                STRUCTURE</font></div>
          </div>
          <div><br>
          </div>
          <div style="text-align: justify;"><font style="font-size: 9pt; font-family: Arial; font-weight: bold;">2.1</font>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;<font style="font-size: 9pt; font-family: Arial; font-weight: bold;">The Company</font></div>
          <div>&#160;</div>
          <div style="text-align: justify; font-family: Arial; font-size: 9pt;">Descartes was continued under the <font style="font-style: italic;">Canada Business Corporations Act</font> on July 5, 2006. On July 31, 2006, Descartes was amalgamated under
            the <font style="font-style: italic;">Canada Business Corporations Act</font> pursuant to an amalgamation between Descartes and ViaSafe Inc. On February 1, 2010, Descartes was amalgamated under the <font style="font-style: italic;">Canada
              Business Corporations Act</font> pursuant to an amalgamation between Descartes and Scancode Systems Inc. (&#8220;Scancode&#8221;). On February 1, 2010, Descartes was amalgamated under the <font style="font-style: italic;">Canada Business Corporations
              Act</font> pursuant to an amalgamation between Descartes and 7322267 Canada Inc. On February 1, 2012, Descartes was amalgamated under the <font style="font-style: italic;">Canada Business Corporations Act</font> pursuant to an amalgamation
            between Descartes and 882976 Ontario Inc.</div>
          <div><br>
          </div>
          <div style="text-align: justify; font-family: Arial; font-size: 9pt;">The Descartes Systems Group Inc. head office and registered office is located at 120 Randall Drive, Waterloo, Ontario, N2V 1C6 and our general corporate phone number is (519)
            746-8110.</div>
          <div><br>
          </div>
          <div><font style="font-size: 9pt; font-family: Arial; font-weight: bold;">2.2</font>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;<font style="font-size: 9pt; font-family: Arial; font-weight: bold;">Intercorporate Relationships</font></div>
          <div>&#160;</div>
          <div style="text-align: justify; font-family: Arial; font-size: 9pt;">We beneficially own, control and/or direct 100% of all voting, share or membership interests in our material subsidiaries. Our material subsidiaries, determined as at January
            31, 2020, are as follows:</div>
          <div><br>
          </div>
          <div style="text-align: justify;">
            <div>
              <table id="z076f9bff0e814b73b23ba8fbab78d9d5" class="DSPFListTable" style="font-family: 'Times New Roman', Times, serif; font-size: 10pt; width: 100%; text-align: left; color: #000000;" cellpadding="0" cellspacing="0">

                  <tr>
                    <td style="width: 18pt;"><br>
                    </td>
                    <td style="width: 18pt; vertical-align: top; align: right; font-family: Arial; font-size: 9pt;">&#8226;</td>
                    <td style="width: auto; vertical-align: top; text-align: justify;">
                      <div style="font-family: Arial; font-size: 9pt;">PinPoint GPS Solutions Inc., a Canadian subsidiary;</div>
                    </td>
                  </tr>

              </table>
            </div>
          </div>
          <div style="text-align: justify;">
            <div>
              <table id="z4479c1d2a29e440b88ded2db327bf306" class="DSPFListTable" style="font-family: 'Times New Roman', Times, serif; font-size: 10pt; width: 100%; text-align: left; color: #000000;" cellpadding="0" cellspacing="0">

                  <tr>
                    <td style="width: 18pt;"><br>
                    </td>
                    <td style="width: 18pt; vertical-align: top; align: right; font-family: Arial; font-size: 9pt;">&#8226;</td>
                    <td style="width: auto; vertical-align: top; text-align: justify;">
                      <div style="font-family: Arial; font-size: 9pt;">Descartes Visual Compliance Inc., a Canadian subsidiary;</div>
                    </td>
                  </tr>

              </table>
            </div>
          </div>
          <div style="text-align: justify;">
            <div>
              <table id="z14ba95e3f279429fadca4eb075f2401e" class="DSPFListTable" style="font-family: 'Times New Roman', Times, serif; font-size: 10pt; width: 100%; text-align: left; color: #000000;" cellpadding="0" cellspacing="0">

                  <tr>
                    <td style="width: 18pt;"><br>
                    </td>
                    <td style="width: 18pt; vertical-align: top; align: right; font-family: Arial; font-size: 9pt;">&#8226;</td>
                    <td style="width: auto; vertical-align: top; text-align: justify;">
                      <div style="font-family: Arial; font-size: 9pt;">Descartes U.S. Holdings, Inc., a Delaware subsidiary;</div>
                    </td>
                  </tr>

              </table>
            </div>
          </div>
          <div style="text-align: justify;">
            <div>
              <table id="z03714de764134d4f8b4afde654b06404" class="DSPFListTable" style="font-family: 'Times New Roman', Times, serif; font-size: 10pt; width: 100%; text-align: left; color: #000000;" cellpadding="0" cellspacing="0">

                  <tr>
                    <td style="width: 18pt;"><br>
                    </td>
                    <td style="width: 18pt; vertical-align: top; align: right; font-family: Arial; font-size: 9pt;">&#8226;</td>
                    <td style="width: auto; vertical-align: top; text-align: justify;">
                      <div style="font-family: Arial; font-size: 9pt;">Descartes Systems (USA) LLC, a Delaware subsidiary;</div>
                    </td>
                  </tr>

              </table>
            </div>
          </div>
          <div id="DSPFPageBreakArea" style="clear: both; margin-top: 10pt; margin-bottom: 10pt;">
            <div style="text-align: center;" id="DSPFPageNumberArea"><font style="font-family: Arial, Helvetica, 'sans-serif'; font-size: 9pt; font-weight: normal; font-style: normal;" id="DSPFPageNumber">4</font></div>
            <div id="DSPFPageBreak" style="page-break-after:always;">
              <hr style="margin: 4px 0px; width: 100%; border-width: 0; height: 2px; color: #000000; background-color: #000000; clear: both;" noshade="noshade"></div>
          </div>
          <div style="text-align: justify;">
            <div>
              <table id="z7967ecaa7d7e49d6bcdc858041a608dd" class="DSPFListTable" style="font-family: 'Times New Roman', Times, serif; font-size: 10pt; width: 100%; text-align: left; color: #000000;" cellpadding="0" cellspacing="0">

                  <tr>
                    <td style="width: 18pt;"><br>
                    </td>
                    <td style="width: 18pt; vertical-align: top; align: right; font-family: Arial; font-size: 9pt;">&#8226;</td>
                    <td style="width: auto; vertical-align: top; text-align: justify;">
                      <div style="font-family: Arial; font-size: 9pt;">MacroPoint, LLC, an Ohio subsidiary;</div>
                    </td>
                  </tr>

              </table>
            </div>
          </div>
          <div style="text-align: justify;">
            <div>
              <table id="z6fa84a1d0a2f42f0bf7938d47abb2dd5" class="DSPFListTable" style="font-family: 'Times New Roman', Times, serif; font-size: 10pt; width: 100%; text-align: left; color: #000000;" cellpadding="0" cellspacing="0">

                  <tr>
                    <td style="width: 18pt;"><br>
                    </td>
                    <td style="width: 18pt; vertical-align: top; align: right; font-family: Arial; font-size: 9pt;">&#8226;</td>
                    <td style="width: auto; vertical-align: top; text-align: justify;">
                      <div style="font-family: Arial; font-size: 9pt;">Descartes Visual Compliance (USA) LLC, a Delaware subsidiary;</div>
                    </td>
                  </tr>

              </table>
            </div>
          </div>
          <div style="text-align: justify;">
            <div>
              <table id="zdebc9e18c83142a5a9a67ae2d1a4007f" class="DSPFListTable" style="font-family: 'Times New Roman', Times, serif; font-size: 10pt; width: 100%; text-align: left; color: #000000;" cellpadding="0" cellspacing="0">

                  <tr>
                    <td style="width: 18pt;"><br>
                    </td>
                    <td style="width: 18pt; vertical-align: top; align: right; font-family: Arial; font-size: 9pt;">&#8226;</td>
                    <td style="width: auto; vertical-align: top; text-align: justify;">
                      <div style="font-family: Arial; font-size: 9pt;">Descartes Systems UK Limited, a United Kingdom subsidiary;</div>
                    </td>
                  </tr>

              </table>
            </div>
          </div>
          <div style="text-align: justify;">
            <div>
              <table id="zb1a62082ac9941a0a034ea06f5fae660" class="DSPFListTable" style="font-family: 'Times New Roman', Times, serif; font-size: 10pt; width: 100%; text-align: left; color: #000000;" cellpadding="0" cellspacing="0">

                  <tr>
                    <td style="width: 18pt;"><br>
                    </td>
                    <td style="width: 18pt; vertical-align: top; align: right; font-family: Arial; font-size: 9pt;">&#8226;</td>
                    <td style="width: auto; vertical-align: top; text-align: justify;">
                      <div style="font-family: Arial; font-size: 9pt;">InterCommIT BV, a Netherlands subsidiary; and</div>
                    </td>
                  </tr>

              </table>
            </div>
          </div>
          <div style="text-align: justify;">
            <div>
              <table id="z5f8827d8230244069b6841e8476b32bd" class="DSPFListTable" style="font-family: 'Times New Roman', Times, serif; font-size: 10pt; width: 100%; text-align: left; color: #000000;" cellpadding="0" cellspacing="0">

                  <tr>
                    <td style="width: 18pt;"><br>
                    </td>
                    <td style="width: 18pt; vertical-align: top; align: right; font-family: Arial; font-size: 9pt;">&#8226;</td>
                    <td style="width: auto; vertical-align: top; text-align: justify;">
                      <div style="font-family: Arial; font-size: 9pt;">Descartes Systems (Belgium) NV, a Belgian subsidiary.</div>
                    </td>
                  </tr>

              </table>
            </div>
          </div>
          <div><br>
          </div>
          <div><br>
          </div>
          <div>
            <div style="border-bottom: 1px solid #000000; border-top: 1px dashed #000000;"><font style="font-size: 9pt; font-family: Arial; font-weight: bold;">ITEM 3</font>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;<font style="font-size: 9pt; font-family: Arial;"><font style="font-weight: bold;">GENERAL DEVELOPMENT OF THE</font><font style="font-weight: bold;"> BUSINESS</font></font></div>
          </div>
          <div><br>
          </div>
          <div><font style="font-size: 9pt; font-family: Arial; font-weight: bold;">3.1</font>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;<font style="font-size: 9pt; font-family: Arial; font-weight: bold;">Profile</font></div>
          <div>&#160;</div>
          <div style="text-align: justify; font-family: Arial; font-size: 9pt;">We bring together networks, applications, global trade content, and collaborative multi-modal logistics communities in ways that improve the productivity, performance and
            security of logistics and supply chain operations. Customers use our modular, cloud-based and data content solutions to route, schedule, track and measure delivery resources; plan, allocate and execute shipments; rate, audit and pay
            transportation invoices; access and analyze global trade data; research and perform trade tariff and duty calculations; file customs and security documents for imports and exports; comply with trade regulations, and complete numerous other
            logistics processes. Our pricing model provides our customers with flexibility in purchasing our solutions either on a subscription, transactional or perpetual license basis. We also occasionally act as a reseller of hardware devices from third
            party suppliers which are used by our customers in connection with their transportation and logistics operations and which provide data that may be relevant to our cloud-based solutions. Our primary focus is on serving transportation providers
            (air, ocean and truck modes), logistics service providers (including third-party logistics providers, freight forwarders, freight brokers, and customs brokers) and manufacturers, retailers, distributors, and business service providers. For
            these organizations, logistics is either a key or a defining part of their own product or service offering, or for which our solutions can provide an opportunity to reduce costs, improve service levels or support growth by optimizing the use of
            assets and information.</div>
          <div><br>
          </div>
          <div style="text-align: justify; font-family: Arial; font-size: 9pt; font-style: italic; font-weight: bold;">The Market</div>
          <div style="text-align: justify; font-family: Arial; font-size: 9pt;">Logistics is the management of the flow of resources between a point of origin and a point of destination &#8211; processes that move items (such as goods, people, information) from
            point A to point B. Supply chain management is broader than logistics and includes the sourcing, procurement, conversion and storage of resources for consumption by an enterprise. Logistics and supply chain management have been evolving as
            companies are increasingly seeking automation and real-time control of their supply chain activities. We believe companies are looking for integrated solutions for managing inventory in transit, conveyance units, people, data and business
            documents.</div>
          <div><br>
          </div>
          <div style="text-align: justify; font-family: Arial; font-size: 9pt;">We believe logistics-intensive organizations are seeking to reduce operating costs, differentiate themselves, improve margins and better serve customers. Global trade and
            transportation processes are often manual and complex to manage. This is a consequence of the growing number of business partners participating in companies&#8217; global supply chains and a lack of standardized business processes.</div>
          <div><br>
          </div>
          <div style="text-align: justify; font-family: Arial; font-size: 9pt;">Additionally, global sourcing, logistics outsourcing, imposition of additional customs and regulatory requirements and changes in day-to-day business requirements are adding to
            the overall complexities that companies face in planning and executing in their supply chains. Whether a shipment is delayed at the border, a customer changes an order or a breakdown occurs on the road, there are increasingly more issues that
            can significantly impact the execution of fulfillment schedules and associated costs.</div>
          <div><br>
          </div>
          <div style="text-align: justify; font-family: Arial; font-size: 9pt;">These challenges are heightened for suppliers that have end-customers frequently demanding narrower order-to-fulfillment periods, lower prices and greater flexibility in
            scheduling and rescheduling deliveries. End-customers also want real-time updates on delivery status, adding considerable burden to supply chain management as process efficiency is balanced with affordable service.</div>
          <div><br>
          </div>
          <div style="text-align: justify; font-family: Arial; font-size: 9pt;">In this market, the movement and sharing of data between parties involved in the logistics process is equally important to the physical movement of goods. Manual, fragmented
            and distributed logistics solutions are often proving inadequate to address the needs of operators. Connecting manufacturers and</div>
          <div id="DSPFPageBreakArea" style="clear: both; margin-top: 10pt; margin-bottom: 10pt;">
            <div style="text-align: center;" id="DSPFPageNumberArea"><font style="font-family: Arial, Helvetica, 'sans-serif'; font-size: 9pt; font-weight: normal; font-style: normal;" id="DSPFPageNumber">5</font></div>
            <div id="DSPFPageBreak" style="page-break-after:always;">
              <hr style="margin: 4px 0px; width: 100%; border-width: 0; height: 2px; color: #000000; background-color: #000000; clear: both;" noshade="noshade"></div>
          </div>
          <div style="text-align: justify; font-family: Arial; font-size: 9pt;">suppliers to carriers on an individual, one-off basis is costly, complex and risky for organizations dealing with many trading partners. Further, many of these solutions do not
            provide the flexibility, and real-time information exchange, required to efficiently accommodate varied processes for organizations to remain competitive. We believe this presents an opportunity for logistics technology providers to unite this
            highly fragmented community and help customers improve efficiencies in their operations.</div>
          <div><br>
          </div>
          <div style="text-align: justify; font-family: Arial; font-size: 9pt;">As the market continues to change, we have been evolving to meet our customers&#8217; needs. While the rate of adoption of newer logistics and supply chain management technologies is
            increasing, many organizations still have manual or antiquated business processes. We have been educating our prospects and customers on the value of connecting to trading partners through our Global Logistics Network (&#8220;GLN&#8221;) and automating, as
            well as standardizing, multi-party business processes. We believe that our target customers are increasingly looking for a single source, neutral, network-based solution provider who can help them manage the end-to-end shipment process &#8211; from
            researching global trade information, to the booking of a shipment, to the tracking of that shipment as it moves, to the regulatory compliance filings to be made during the move and, finally, to the settlement and audit of the invoice.</div>
          <div><br>
          </div>
          <div style="text-align: justify; font-family: Arial; font-size: 9pt;">Additionally, regulatory initiatives mandating electronic filing of shipment information with customs authorities require companies to automate aspects of their shipping
            processes to remain compliant and competitive. Our customs compliance technology helps shippers, transportation providers, freight forwarders and other logistics intermediaries to securely and electronically file shipment and tariff/duty
            information with customs authorities and self-audit their own efforts. Our technology also helps carriers and freight forwarders efficiently coordinate with customs brokers and agencies to expedite cross-border shipments. While many compliance
            initiatives started in the US, compliance has now become a global issue with significantly more international shipments crossing several borders on the way to their final destinations.</div>
          <div><br>
          </div>
          <div style="text-align: justify; font-family: Arial; font-size: 9pt;">Increasingly, data and content have become central to supply chain planning and execution. The review of people, goods, services and/or commodities against comprehensive lists
            of restricted or sanctioned parties published by governments and international organizations has become an essential compliance requirement as the penalties for doing business with sanctioned parties can be far-reaching and severe. Our content
            and compliance solutions help simplify and automate the screening processes.</div>
          <div><br>
          </div>
          <div style="text-align: justify; font-family: Arial; font-size: 9pt;">Complex international supply chains are also affected by logistics service provider performance, capacity, and productivity, as well as regulatory frameworks such as free trade
            agreements, and trade and trade sanctions. We believe our global trade data, denied party screening, trade regulations and free-trade agreement and duty rate and calculation solutions help customers improve their sourcing, compliance,
            landed-cost, and transportation lane and provider selection processes.</div>
          <div><br>
          </div>
          <div style="text-align: justify; font-family: Arial; font-size: 9pt; font-style: italic; font-weight: bold;">Solutions</div>
          <div style="text-align: justify; font-family: Arial; font-size: 9pt;">Descartes&#8217; Logistics Technology Platform unites a growing global community of logistics-focused parties, allowing them to transact business while leveraging a broad array of
            applications designed to help logistics-intensive businesses thrive. Descartes&#8217; Logistics Technology Platform is the simple, elegant synthesis of a network, applications, content and a community.</div>
          <div><br>
          </div>
          <div style="text-align: justify; font-family: Arial; font-size: 9pt;">The Logistics Technology Platform fuses our GLN, an extensive logistics network covering multiple transportation modes, with a broad array of modular, interoperable web and
            wireless logistics management solutions. Designed to help accelerate time-to-value and increase productivity and performance for businesses of all sizes, the Logistics Technology Platform leverages the GLN&#8217;s multimodal logistics community to
            enable companies to quickly and cost-effectively connect and collaborate.</div>
          <div><br>
          </div>
          <div style="text-align: justify; font-family: Arial; font-size: 9pt;">Descartes&#8217; GLN, the underlying foundation of the Logistics Technology Platform, manages the flow of data and documents that track and control inventory, assets and people in
            motion. Designed expressly for logistics operations, it is native to the particularities of different transportation modes and country borders. As a state-of-the-art messaging network with wireless capabilities, the GLN helps manage business
            processes in real-time and in-motion. Its capabilities go beyond logistics, supporting common commercial transactions, regulatory compliance documents, and customer specific needs.</div>
          <div><br>
          </div>
          <div id="DSPFPageBreakArea" style="clear: both; margin-top: 10pt; margin-bottom: 10pt;">
            <div style="text-align: center;" id="DSPFPageNumberArea"><font style="font-family: Arial, Helvetica, 'sans-serif'; font-size: 9pt; font-weight: normal; font-style: normal;" id="DSPFPageNumber">6</font></div>
            <div id="DSPFPageBreak" style="page-break-after:always;">
              <hr style="margin: 4px 0px; width: 100%; border-width: 0; height: 2px; color: #000000; background-color: #000000; clear: both;" noshade="noshade"></div>
          </div>
          <div style="text-align: justify; font-family: Arial; font-size: 9pt;">The GLN extends its reach using interconnect agreements with other general and logistics-specific networks, to offer companies access to a wide array of trading partners. With
            the flexibility to connect and collaborate in unique ways, companies can effectively route or transform data to and from partners and deploy additional Descartes solutions on the GLN. The GLN allows &#8220;low tech&#8221; partners to act and respond with
            &#8220;high tech&#8221; capabilities and connect to the transient partners that exist in many logistics operations. This inherent adaptability creates opportunities to develop logistics business processes that can help customers differentiate themselves
            from their competitors.</div>
          <div><br>
          </div>
          <div style="text-align: justify; font-family: Arial; font-size: 9pt;">Descartes offers a wide array of modular, cloud-based, interoperable web and wireless supply chain and logistics management applications. These solutions embody Descartes&#8217; deep
            domain expertise, not merely &#8220;check box&#8221; functionality. These solutions deliver value for a broad range of logistics intensive organizations, whether they purchase transportation, run their own fleet, operate globally or locally, or work across
            air, ocean or ground transportation. Descartes&#8217; comprehensive suite of solutions includes:</div>
          <div style="text-align: justify;">
            <div>
              <table id="zb56a78fa57904d5db3108b682ecbdc59" class="DSPFListTable" style="font-family: 'Times New Roman', Times, serif; font-size: 10pt; width: 100%; text-align: left; color: #000000;" cellpadding="0" cellspacing="0">

                  <tr>
                    <td style="width: 18pt;"><br>
                    </td>
                    <td style="width: 18pt; vertical-align: top; align: right; font-family: Arial; font-size: 9pt;">&#8226;</td>
                    <td style="width: auto; vertical-align: top; text-align: justify;">
                      <div style="font-family: Arial; font-size: 9pt;">Routing, Mobile and Telematics;</div>
                    </td>
                  </tr>

              </table>
            </div>
          </div>
          <div style="text-align: justify;">
            <div>
              <table id="zb9243b9cc937424c8fa0002cc1c3e53d" class="DSPFListTable" style="font-family: 'Times New Roman', Times, serif; font-size: 10pt; width: 100%; text-align: left; color: #000000;" cellpadding="0" cellspacing="0">

                  <tr>
                    <td style="width: 18pt;"><br>
                    </td>
                    <td style="width: 18pt; vertical-align: top; align: right; font-family: Arial; font-size: 9pt;">&#8226;</td>
                    <td style="width: auto; vertical-align: top; text-align: justify;">
                      <div style="font-family: Arial; font-size: 9pt;">Transportation Management and e-commerce fulfillment;</div>
                    </td>
                  </tr>

              </table>
            </div>
          </div>
          <div style="text-align: justify;">
            <div>
              <table id="z0536d6de81354583a464c3df932c2bc0" class="DSPFListTable" style="font-family: 'Times New Roman', Times, serif; font-size: 10pt; width: 100%; text-align: left; color: #000000;" cellpadding="0" cellspacing="0">

                  <tr>
                    <td style="width: 18pt;"><br>
                    </td>
                    <td style="width: 18pt; vertical-align: top; align: right; font-family: Arial; font-size: 9pt;">&#8226;</td>
                    <td style="width: auto; vertical-align: top; text-align: justify;">
                      <div style="font-family: Arial; font-size: 9pt;">Customs &amp; Regulatory Compliance;</div>
                    </td>
                  </tr>

              </table>
            </div>
          </div>
          <div style="text-align: justify;">
            <div>
              <table id="z8a55381d4ba64fc5b7c026e4e6db1091" class="DSPFListTable" style="font-family: 'Times New Roman', Times, serif; font-size: 10pt; width: 100%; text-align: left; color: #000000;" cellpadding="0" cellspacing="0">

                  <tr>
                    <td style="width: 18pt;"><br>
                    </td>
                    <td style="width: 18pt; vertical-align: top; align: right; font-family: Arial; font-size: 9pt;">&#8226;</td>
                    <td style="width: auto; vertical-align: top; text-align: justify;">
                      <div style="font-family: Arial; font-size: 9pt;">Global Trade Data &amp; Services;</div>
                    </td>
                  </tr>

              </table>
            </div>
          </div>
          <div style="text-align: justify;">
            <div>
              <table id="z0dddb6c10b834dccbce9d4f6c1d55923" class="DSPFListTable" style="font-family: 'Times New Roman', Times, serif; font-size: 10pt; width: 100%; text-align: left; color: #000000;" cellpadding="0" cellspacing="0">

                  <tr>
                    <td style="width: 18pt;"><br>
                    </td>
                    <td style="width: 18pt; vertical-align: top; align: right; font-family: Arial; font-size: 9pt;">&#8226;</td>
                    <td style="width: auto; vertical-align: top; text-align: justify;">
                      <div style="font-family: Arial; font-size: 9pt;">Global Logistics Network Services; and</div>
                    </td>
                  </tr>

              </table>
            </div>
          </div>
          <div style="text-align: justify;">
            <div>
              <table id="z9a3b3722301d4f8695d88053e461d218" class="DSPFListTable" style="font-family: 'Times New Roman', Times, serif; font-size: 10pt; width: 100%; text-align: left; color: #000000;" cellpadding="0" cellspacing="0">

                  <tr>
                    <td style="width: 18pt;"><br>
                    </td>
                    <td style="width: 18pt; vertical-align: top; align: right; font-family: Arial; font-size: 9pt;">&#8226;</td>
                    <td style="width: auto; vertical-align: top; text-align: justify;">
                      <div style="font-family: Arial; font-size: 9pt;">Broker &amp; Forwarder Enterprise Systems.</div>
                    </td>
                  </tr>

              </table>
            </div>
          </div>
          <div><br>
          </div>
          <div style="text-align: justify; font-family: Arial; font-size: 9pt;">The Descartes applications forming part of the Logistics Technology Platform are modular and interoperable to allow organizations the flexibility to deploy them quickly within
            an existing portfolio of solutions. Implementation is streamlined because these solutions use web-native or wireless user interfaces and are pre-integrated with the GLN. With interoperable and multi-party solutions, Descartes&#8217; solutions are
            designed to deliver functionality that can enhance a logistics operation&#8217;s performance and productivity both within the organization and across a complex network of partners.</div>
          <div><br>
          </div>
          <div style="text-align: justify; font-family: Arial; font-size: 9pt;">Descartes&#8217; expanding global trade content offering unites systems and people with trade information to enable organizations to work smarter by making more informed supply chain
            and logistics decisions. Our content solutions can help customers research and analyze global trade movements, regulations and trends; reduce the risk of transacting with denied parties; increase trade compliance rates; optimize sourcing,
            procurement, and business development strategies; and minimize duty spend.</div>
          <div><br>
          </div>
          <div style="text-align: justify; font-family: Arial; font-size: 9pt;">Descartes&#8217; GLN community members enjoy extended command of operations and accelerated time-to-value relative to many alternative logistics solutions. Given the inter-enterprise
            nature of logistics, quick access to partners is critical. For this reason, Descartes has focused on growing a community that strategically attracts and retains relevant logistics parties. Upon joining the GLN community, many companies find
            that many of their trading partners are already members, with an existing connection to the GLN. This helps to minimize the time required to integrate Descartes&#8217; logistics management applications and to begin realizing results. Descartes is
            committed to continuing to expand community membership. Companies that join the GLN community or extend their participation find a single place where their entire logistics network can exist regardless of the range of transportation modes, the
            number of trading partners or the variety of regulatory agencies.</div>
          <div><br>
          </div>
          <div><font style="font-size: 9pt; font-family: Arial; font-weight: bold;">3.2</font>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;<font style="font-size: 9pt; font-family: Arial; font-weight: bold;">History and General Development</font></div>
          <div style="text-align: justify; font-family: Arial; font-size: 9pt;">Our origins were in providing logistics-focused software designed to optimally plan and manage routes for direct delivery and retail customers with private fleets. Supply chain
            management has evolved as companies across industry verticals have increasingly sought real-time control over their supply chain. We have established a network-based business model and are consolidating technology to provide our customers with
            a shared-services environment that assists our customers in gathering and exchanging source data for logistics. We have also designed value-added services that enable shippers, transportation companies and logistics intermediaries to use that
            information to make better business decisions and deliver better service to their own customers.</div>
          <div><br>
          </div>
          <div style="text-align: justify; font-family: Arial; font-size: 9pt;">Key developments in our business over the last three fiscal years, described beginning with the most recent, are as follows:</div>
          <div><br>
          </div>
          <div id="DSPFPageBreakArea" style="clear: both; margin-top: 10pt; margin-bottom: 10pt;">
            <div style="text-align: center;" id="DSPFPageNumberArea"><font style="font-family: Arial, Helvetica, 'sans-serif'; font-size: 9pt; font-weight: normal; font-style: normal;" id="DSPFPageNumber">7</font></div>
            <div id="DSPFPageBreak" style="page-break-after:always;">
              <hr style="margin: 4px 0px; width: 100%; border-width: 0; height: 2px; color: #000000; background-color: #000000; clear: both;" noshade="noshade"></div>
          </div>
          <div style="text-align: justify; font-family: Arial; font-size: 9pt; font-style: italic; font-weight: bold;">Fiscal 2020 and Part of Fiscal 2021 through to April 14, 2020</div>
          <div><br>
          </div>
          <div style="text-align: justify; font-family: Arial; font-size: 9pt;">As of the date of this AIF, the world is experiencing a global pandemic related to the spread of the COVID-19 virus. Businesses in many countries around the globe have been
            required to close, or materially alter, their day-to-day operations due to government-ordered or recommended shut-downs and/or &#8220;shelter-in-place&#8221;, or equivalent, restrictions on individuals and businesses which may prevent many businesses from
            operating. Descartes has implemented measures that allow its employees to work remotely from home locations and for Descartes to continue to operate its business and service its customers. The impact of this pandemic and various public health
            protection measures, including travel restrictions, on the business of Descartes&#8217; customers, and the ongoing demand of those customers for the products and services of Descartes, is still uncertain at this time, in part due the uncertainty of
            the duration of such restrictions on a geography-by-geography basis.&#160; However, as of the date of this AIF Descartes has observed some customers with reduced shipment volumes across various modes of transportation and is aware of some customers
            who have reduced or temporarily suspended operations or are otherwise experiencing financial hardship in their business that may temporarily or permanently impact their demand for Descartes&#8217; products and services.</div>
          <div><br>
          </div>
          <div style="text-align: justify; font-family: Arial; font-size: 9pt;">On February 21, 2020, we acquired Peoplevox Limited (&#8220;Peoplevox&#8221;) a leading provider of cloud-based e-commerce warehouse management solutions (&#8220;eWMS&#8221;) based in London, England.
            Peoplevox&#8217;s web-based eWMS and e-commerce fulfillment solutions help customers around the world connect to webshop front ends, translate order information into a mobile-device driven pick and pack process within a warehouse and then feed parcel
            delivery systems for shipment execution. The total purchase price for the acquisition was approximately US$24.5 million, net of cash acquired, satisfied from a combination of cash on-hand and Descartes&#8217; existing acquisition line of credit.</div>
          <div><br>
          </div>
          <div style="text-align: justify; font-family: Arial; font-size: 9pt;">On August 20, 2019, we acquired BestTransport.com Inc. (&#8220;BestTransport&#8221;), an Ohio-based operator of a cloud-based transportation management system focused on flatbed-intensive
            manufacturers and distributors. By adding the BestTransport solution to the Descartes GLN, Descartes is better able to offer its additional solutions to the community of customers serviced by BestTransport, including Descartes&#8217; visibility
            solutions and capacity matching solutions. The total purchase price for the acquisition was approximately US$11.2 million, net of working capital acquired, which was funded from Descartes&#8217; existing acquisition line of credit.</div>
          <div><br>
          </div>
          <div style="text-align: justify; font-family: Arial; font-size: 9pt;">On June 27, 2019, we acquired a group of companies comprising the business of STEPcom (&#8220;STEPcom&#8221;), a leading European business-to-business (&#8220;B2B&#8221;) supply chain integration
            network provider based in Switzerland. STEPcom services a community of more than 600 customers who use the STEPcom B2B platform to automate supply chain processes. The total purchase price for the acquisition was approximately US$19.6 million
            which was funded from Descartes&#8217; existing acquisition line of credit.</div>
          <div><br>
          </div>
          <div style="text-align: justify; font-family: Arial; font-size: 9pt;">On June 10, 2019, we completed a public offering of common shares in the United States and Canada at a price of $35.50 per common share pursuant to the short-form base shelf
            prospectus (described below under the &#8220;Fiscal 2019&#8221; heading) and related prospectus supplement filed in connection with the offering. The total offering of 6,900,000 common shares included the exercise in full by the underwriters of the 15%
            over-allotment option, for aggregate gross proceeds to Descartes of $244,950,000.</div>
          <div><br>
          </div>
          <div style="text-align: justify; font-family: Arial; font-size: 9pt;">On May 10, 2019, we acquired Core Transport Technologies NZ Limited (&#8220;Core&#8221;), a New Zealand-based operator of an electronic transportation network that provides global air
            carriers and ground handlers with shipment scanning and tracking solutions. The Core acquisition adds to the breadth of solutions that Descartes can offer to its global air carrier customers and is complementary to Descartes&#8217; previous
            acquisition of Velocity Mail. The total up-front purchase price for the acquisition was approximately US$21 million, which was funded from Descartes existing acquisition line of credit, plus potential performance-based consideration of up to an
            additional US$9 million over the next two fiscal years.</div>
          <div><br>
          </div>
          <div style="text-align: justify; font-family: Arial; font-size: 9pt;">On February 12, 2019, we acquired the businesses run by the Management Systems Resources Inc. group of companies operating under the names &#8220;Visual Compliance&#8221;, &#8220;eCustoms&#8221; and
            &#8220;MSR&#8221; (collectively, &#8220;Visual Compliance&#8221;) pursuant to a Purchase and Sale Agreement (the &#8220;Purchase Agreement&#8221;) entered into on January 27, 2019 with MSR Customs &amp; Commodity Tax Group, Management Systems Resources Inc, MSR</div>
          <div id="DSPFPageBreakArea" style="clear: both; margin-top: 10pt; margin-bottom: 10pt;">
            <div style="text-align: center;" id="DSPFPageNumberArea"><font style="font-family: Arial, Helvetica, 'sans-serif'; font-size: 9pt; font-weight: normal; font-style: normal;" id="DSPFPageNumber">8</font></div>
            <div id="DSPFPageBreak" style="page-break-after:always;">
              <hr style="margin: 4px 0px; width: 100%; border-width: 0; height: 2px; color: #000000; background-color: #000000; clear: both;" noshade="noshade"></div>
          </div>
          <div style="text-align: justify; font-family: Arial; font-size: 9pt;">International Inc. and MSR Customs Corporation (collectively, the &#8220;Sellers&#8221;). The Visual Compliance transaction involved a total purchase price of approximately $250 million,
            which was satisfied in part by way of approximately $9 million in common shares of Descartes and the balance of approximately $240 million paid in cash, primarily drawn from our amended and restated revolving credit facility as referenced
            below. The Company filed a Material Change Report in respect of the transaction on <u>www.sedar.com</u> on February 7, 2019 and a Business Acquisition Report on April 29, 2019.</div>
          <div><br>
          </div>
          <div style="text-align: justify; font-family: Arial; font-size: 9pt; font-style: italic; font-weight: bold;">Fiscal 2019</div>
          <div style="text-align: justify;"><br>
          </div>
          <div style="text-align: justify; font-family: Arial; font-size: 9pt;">On January 28, 2019, we announced that we had amended and increased our existing US $150 million senior secured revolving credit facility to a US $350 million revolving
            operating credit facility pursuant to the Third Amended and Restated Credit Agreement dated as of January 25, 2019 among <font style="font-style: italic;">inter alia</font> Descartes and certain parties advising Bank of Montreal (&#8220;BMO&#8221;) as
            Arranger, Sole Bookrunner and Administrative Agent (the &#8220;Credit Facility&#8221;), with BMO acting as sole lead and arranger for the increased credit facility. The Credit Facility is available for general corporate purposes, including the financing of
            ongoing working capital needs and acquisitions, including the Visual Compliance transaction. With the approval of the lenders, the Credit Facility can be further expanded to a total of US $500 million. The Credit Facility has a five-year
            maturity with no fixed repayment dates prior to the end of the five-year term ending in January 2024. Borrowings under the Credit Facility are secured by a first charge over substantially all of Descartes&#8217; assets.</div>
          <div><br>
          </div>
          <div style="text-align: justify; font-family: Arial; font-size: 9pt;">On August 21, 2018, we acquired PinPoint GPS Solutions, Inc. (&#8220;PinPoint&#8221;), a Toronto, Ontario based provider of fleet-tracking and mobile-workforce solutions. PinPoint is
            primarily a reseller of technology solutions that gather real-time location and performance information on trucks and other mobile assets, which information can be used in several other Descartes applications. The total up-front purchase price
            for the acquisition was approximately CAD $15 million, which was satisfied from a combination of cash on-hand and CAD $2 million in common shares of Descartes, plus potential performance-based consideration of up to an additional CAD $3
            million.</div>
          <div><br>
          </div>
          <div style="text-align: justify; font-family: Arial; font-size: 9pt;">On June 22, 2018, we acquired substantially all of the assets of Velocity Mail, LLC (&#8220;Velocity Mail&#8221;). Velocity Mail is a US-based operator of an electronic transportation
            network that provides global air carriers with mail and parcel shipment scanning and tracking solutions. The Velocity Mail acquisition added to the breadth of solutions that Descartes can offer to its global air carrier customers and prospects
            over the Descartes GLN. The total purchase price for the acquisition was approximately $25.5 million, which was satisfied from cash on-hand.</div>
          <div><br>
          </div>
          <div style="text-align: justify; font-family: Arial; font-size: 9pt;">On June 6, 2018, we filed a final short-form base shelf prospectus, allowing us to offer and issue the following securities:
              (i) common shares; (ii) preferred shares; (iii) senior or subordinated unsecured debt securities; (iv) subscription receipts; (v) warrants; and (vi) securities comprised of more than one of the common shares, preferred shares, debt
              securities, subscription receipts and/ or warrants offered together as a unit. These securities may be offered separately or together, in separate series, in amounts, at prices and on terms to be set forth in one or more shelf prospectus
              supplements. The aggregate initial offering price of securities that could be sold by us (or certain of our current or future shareholders) pursuant to this base shelf prospectus during the 25-month period that the base shelf prospectus,
              including any amendments thereto, remains valid was limited to $750 million, of which $245 million has been used as of the date of this AIF leaving a remaining balance of $505 million.
            <div>&#160;</div>
          </div>
          <div><br>
          </div>
          <div style="text-align: justify; font-family: Arial; font-size: 9pt;">On February 2, 2018, we acquired Aljex Software, Inc. (&#8220;Aljex&#8221;), a leading US-based provider of cloud based back-office transportation management solutions for freight brokers
            and transportation providers. Aljex serves approximately 400 customers in North America and supports the execution of nearly 3 million freight moves per year. The Aljex solution helps customers automate business processes and create electronic
            documents used in executing freight movements. The solution allows customers to manage the lifecycle of a shipment from order creation through execution. The total purchase price for the acquisition was approximately $32.4 million, net of cash
            acquired, which was funded from Descartes&#8217; then-existing acquisition line of credit.</div>
          <div><br>
          </div>
          <div id="DSPFPageBreakArea" style="clear: both; margin-top: 10pt; margin-bottom: 10pt;">
            <div style="text-align: center;" id="DSPFPageNumberArea"><font style="font-family: Arial, Helvetica, 'sans-serif'; font-size: 9pt; font-weight: normal; font-style: normal;" id="DSPFPageNumber">9</font></div>
            <div id="DSPFPageBreak" style="page-break-after:always;">
              <hr style="margin: 4px 0px; width: 100%; border-width: 0; height: 2px; color: #000000; background-color: #000000; clear: both;" noshade="noshade"></div>
          </div>
          <div style="text-align: justify; font-family: Arial; font-size: 9pt; font-style: italic; font-weight: bold;">Fiscal 2018</div>
          <div><br>
          </div>
          <div style="text-align: justify; font-family: Arial; font-size: 9pt;">On August 15, 2017, we acquired MacroPoint, LLC (&#8220;MacroPoint&#8221;), the leading provider in North America of location-based truckload shipment visibility and predictive freight
            capacity data. MacroPoint operated a network of over two million connected trucking assets and drivers when acquired that provided data that helps transportation brokers, logistics services providers and shippers track the location and status
            of deliveries in trucks. MacroPoint connects to on-board electronic logging devices (ELDs), transportation management systems, and GPS-enabled smart phone applications to provide up-to-date and accurate status information on truck locations.
            The total purchase price for the acquisition was approximately $107 million, of which $87 million was satisfied in cash and $20 million was satisfied in common shares of Descartes. Of the $87 million cash component, $7 million was satisfied
            from cash on-hand and the balance from Descartes&#8217; existing acquisition line of credit.</div>
          <div><br>
          </div>
          <div style="text-align: justify; font-family: Arial; font-size: 9pt;">On June 2, 2017, we acquired substantially all of the assets of PCSTrac, Inc. and certain assets of a related company, Progressive Computer Services Inc., dba PCS Technologies
            (collectively &#8220;PCSTrac&#8221;). PCSTrac is a US-based provider of carton-level shipment visibility and management solutions for speciality retailers and their logistics services providers to manage shipments from distribution centers to retail
            stores. The PCSTrac acquisition complemented Descartes&#8217; 2015 acquisition of BearWare Inc. and built upon Descartes&#8217; expertise and footprint in the field of pooled distribution, which assisted retailers in reducing logistics costs and minimizing
            store disruptions through consolidated deliveries. The total purchase price for the acquisition was approximately $11.25 million, which was satisfied from cash on-hand.</div>
          <div><br>
          </div>
          <div style="text-align: justify; font-family: Arial; font-size: 9pt;">On May 19, 2017, we acquired Z-Firm LLC dba ShipRush (&#8220;ShipRush&#8221;), a US-based provider of e-commerce multi-carrier parcel shipping management solutions for small-to-medium
            sized businesses. ShipRush helps e-commerce businesses and omni-channel retailers execute parcel shipments for last-mile delivery to customers. With existing integrations to over 60 different business systems, including ERP, e-commerce and
            supply chain platforms, the ShipRush platform helps customers streamline the shipping process by automatically importing orders from those systems, comparing carrier rates, printing shipping labels for all major carriers and supporting tracking
            through final delivery. The ShipRush acquisition added to the breadth of solutions Descartes can provide to omni-channel retailers and small-to-medium sized business customers to address their parcel shipping needs. The total purchase price for
            the acquisition was approximately $14 million, which was satisfied from cash on-hand, plus potential performance-based consideration of up to an additional $3 million.</div>
          <div><br>
          </div>
          <div><font style="font-size: 9pt; font-family: Arial; font-weight: bold;">3.3</font>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;<font style="font-size: 9pt; font-family: Arial; font-weight: bold;">Trends / Business Outlook</font></div>
          <div>&#160;</div>
          <div style="text-align: justify; font-family: Arial; font-size: 9pt;">Please see our discussion elsewhere in this document related to the current COVID-19 global pandemic and the potential impact of the pandemic on both short-term and longer-term
            prospects of our business and industry.</div>
          <div><br>
          </div>
          <div style="text-align: justify; font-family: Arial; font-size: 9pt;">Industry consolidation, rapid technological change and frequent new product introductions and enhancements continue to characterize the software, content and network services
            industries &#8211; particularly for logistics management technology companies. Organizations are increasingly requiring greater levels of functionality, more sophisticated product offerings and access to industry-specific data from their software and
            services providers.</div>
          <div><br>
          </div>
          <div style="text-align: justify; font-family: Arial; font-size: 9pt;">Increased importance is being placed on leveraging cloud-based technology to better manage logistics processes and to connect and collaborate with trading partners on a global
            basis, as well as to reuse and share supply chain data in order to accelerate time-to-value. Cloud-based technology also enables business networks to more easily unite and integrate services provided by a broad range of partners and technology
            alliances to extend functionality and further enhance collaboration between business communities. As a result, we believe there is a trend away from using manual and paper-based supply chain and logistics processes and on-premises solution
            deployments towards electronic processes powered by the exchange of cloud-based electronic information between logistics and supply chain participants.</div>
          <div><br>
          </div>
          <div style="text-align: justify; font-family: Arial; font-size: 9pt;">Accordingly, we expect that our future success will be dependent upon our ability to enhance current products or develop and introduce new products offering enhanced
            performance and new functionality at</div>
          <div id="DSPFPageBreakArea" style="clear: both; margin-top: 10pt; margin-bottom: 10pt;">
            <div style="text-align: center;" id="DSPFPageNumberArea"><font style="font-family: Arial, Helvetica, 'sans-serif'; font-size: 9pt; font-weight: normal; font-style: normal;" id="DSPFPageNumber">10</font></div>
            <div id="DSPFPageBreak" style="page-break-after:always;">
              <hr style="margin: 4px 0px; width: 100%; border-width: 0; height: 2px; color: #000000; background-color: #000000; clear: both;" noshade="noshade"></div>
          </div>
          <div style="text-align: justify; font-family: Arial; font-size: 9pt;">competitive prices. In particular, we believe customers are looking for end-to-end solutions that combine a multi-modal, multi-process network with business document exchange
            and wireless mobile resource management (&#8220;MRM&#8221;) applications with end-to-end global trade compliance and collaborative supply chain execution applications. These applications include freight bookings, contract and rate management, content
            solutions for trade research and classification of goods for tariff and duty purposes, sanctioned party screening, customs filings and electronic shipment manifest processes, transportation management, routing and scheduling, purchase order to
            dock door processes, e-commerce fulfilment, warehouse management and inventory visibility. Further, customers are increasingly seeking &#8220;big data&#8221; content and insight solutions for analyzing global logistics trends and activity.</div>
          <div><br>
          </div>
          <div style="text-align: justify; font-family: Arial; font-size: 9pt;">We believe that there continues to be a growing acceptance of subscription pricing and cloud-based business models in the markets we serve that provide lower up-front cost and
            easier-to-maintain alternatives than may be available through traditional perpetual license pricing models.</div>
          <div><br>
          </div>
          <div style="text-align: justify; font-family: Arial; font-size: 9pt; font-weight: bold;"><u>TRENDS IN GLOBAL TRADE</u></div>
          <div><br>
          </div>
          <div style="text-align: justify; font-family: Arial; font-size: 9pt;">The impact of the current COVID-19 global pandemic on global trade both in the short-term and over the longer-term is uncertain at this time.&#160; As of the date of this AIF we
            have observed some reduced shipment volumes across various modes of transportation and are aware of some customers who have reduced or temporarily suspended operations or are otherwise experiencing financial hardship.&#160; However, we don&#8217;t know
            what the impact of these events will be on overall global trade volumes and the use of Descartes&#8217; products and services by its customers and whether an impact, if any, will only be temporary or may continue for an extended period of time.&#160;&#160;
            It&#8217;s also not clear at this time whether, as a result of the events of this global pandemic, countries, companies and/or consumers will alter trading, manufacturing and/or buying patterns from the patterns we have observed in the global economy
            in the past.</div>
          <div><br>
          </div>
          <div style="text-align: justify; font-family: Arial; font-size: 9pt;">With both global trade and counter-terrorism efforts on the rise over the past several years, the role of many customs agencies around the world has evolved far beyond
            statistical reporting and collection of import duties and excise taxes to a growing focus on the protection of society through augmented border security and much deeper cargo security. To that end, the World Customs Organization (&#8220;WCO&#8221;) is
            playing a leading role in helping member agencies enhance the efficiency and effectiveness of their operations through the development, promotion and implementation of modern customs systems and procedures. One of the WCO&#8217;s principal
            instruments is the SAFE Framework of Standards to Secure and Facilitate Global Trade (&#8220;SAFE Framework&#8221;) which the WCO adopted in 2005.</div>
          <div><br>
          </div>
          <div style="text-align: justify; font-family: Arial; font-size: 9pt;">The SAFE Framework is a non-binding instrument that contains supply chain security and facilitation standards for goods being traded internationally. Its goal is to enable
            better visibility, improve capabilities to detect high-risk shipments, and facilitate more integrated supply chain management across all modes of transport through enhanced technology and data transmission practices, networking arrangements
            between customs administrations, and better cooperation between customs and the business community.</div>
          <div style="text-align: justify;"><font style="font-size: 9pt; font-family: Arial;"> </font><br>
          </div>
          <div style="text-align: justify; font-family: Arial; font-size: 9pt;">As more countries adopt and enhance SAFE Framework initiatives, importers, exporters and their trading partners must comply with new and stricter security and customs
            regulations, which often mandate the use of electronic logistics messaging. Descartes&#8217; customs and regulatory compliance solutions connect importers, exporters, logistics providers and regulatory authorities to enable efficient data
            transmission, cargo security screening, customs declaration filings and compliance across multiple regulatory requirements and industry-sponsored initiatives affecting international transportation. As such, our business may be impacted as
            regulations affecting domestic and international trade are introduced, modified or repealed.</div>
          <div><br>
          </div>
          <div style="text-align: justify; font-family: Arial; font-size: 9pt;"><font style="font-weight: bold;">USA: </font>The Automated Commercial Environment (&#8220;ACE&#8221;) was designed by US Customs and Border Protection (&#8220;CBP&#8221;) to enhance US national
            security through more accurate, readily available data to promote seamless trade processing. ACE is the &#8220;single window&#8221; or the primary system through which the trade community will electronically report all imports and exports and the
            government will determine admissibility and duties. In February 2018, CBP deployed the last of the major scheduled core ACE deployments.&#160; The import manifest, cargo release, post release, export, and Participating Government</div>
          <div id="DSPFPageBreakArea" style="clear: both; margin-top: 10pt; margin-bottom: 10pt;">
            <div style="text-align: center;" id="DSPFPageNumberArea"><font style="font-family: Arial, Helvetica, 'sans-serif'; font-size: 9pt; font-weight: normal; font-style: normal;" id="DSPFPageNumber">11</font></div>
            <div id="DSPFPageBreak" style="page-break-after:always;">
              <hr style="margin: 4px 0px; width: 100%; border-width: 0; height: 2px; color: #000000; background-color: #000000; clear: both;" noshade="noshade"></div>
          </div>
          <div style="text-align: justify; font-family: Arial; font-size: 9pt;">Agency (&#8220;PGA&#8221;) integration functionality scheduled for delivery in ACE has been made available. CBP is continuing to work through ongoing demand for additional ACE enhancements
            emerging from industry, government agency, and congressional stakeholders.</div>
          <div><br>
          </div>
          <div style="text-align: justify; font-family: Arial; font-size: 9pt;">One such initiative is export manifest that CBP is developing for air, rail, ocean and truck transportation modes. These export manifest functionalities are scheduled to be
            rolled out as pilot programs pending publication of Federal Regulation Notices (&#8220;FRNs&#8221;) announcing the pilot programs by transportation modes and allowing for electronic filing of export manifests. CBP&#8217;s stated goal of this initiative is to
            help close the loop between import and export process and bring more modernized standards to labor-intensive export procedures. CBP also hopes that an electronic export manifest will enable it to better identify potential security concerns
            earlier in the supply chain while speeding the flow of compliant shipments.</div>
          <div><br>
          </div>
          <div style="text-align: justify; font-family: Arial; font-size: 9pt;">On June 12, 2018, the Air Cargo Advance Screening (&#8220;ACAS&#8221;) program went into effect. A previously voluntary process, it mandates the submission of advanced air cargo
            information on shipments arriving in the United States from a foreign location. Participating air carriers must submit a subset of required pre-arrival air cargo data to CBP at the earliest point practicable and prior to loading the cargo onto
            aircraft destined to or transiting through the United States.</div>
          <div><br>
          </div>
          <div style="text-align: justify; font-family: Arial; font-size: 9pt;">On September 28, 2019, CBP opened a pilot testing program from ACE Entry Type 86 declarations. This program is designed to provide enhanced declaration information for
            shipments that currently fall under the de minimis value threshold of $800 USD, otherwise known as Section 321 shipments. The goal of the program is to capture enhanced information on duty-free eCommerce shipments for security purposes.
            Descartes is participating in this pilot with customers. The mandatory date for the program is not yet known.</div>
          <div><br>
          </div>
          <div style="text-align: justify; font-family: Arial; font-size: 9pt;"><font style="font-weight: bold;">Canada:</font> The Canada Border Services Agency's (&#8220;CBSA&#8221;) Single Window Initiative (&#8220;SWI&#8221;) is intended to streamline the sharing of
            commercial data between the government of Canada and the trade community. The Advanced Commercial Information (&#8220;ACI&#8221;) electronic manifest (&#8220;e-Manifest&#8221;) program was launched by CBSA to provide more effective risk management processes and tools
            to identify threats to health, safety, and security prior to the arrival of cargo and conveyances in Canada. Compliance requirements extend to air, marine, highway and rail carriers, as well as, freight forwarders and warehouse operators.</div>
          <div><br>
          </div>
          <div style="text-align: justify; font-family: Arial; font-size: 9pt;">Currently, a voluntary compliance period is in effect for ACI eManifest for forwarders. Freight forwarders must electronically transmit advance house bill data on consolidated
            freight to the CBSA, which receives and validates the data within time frames that differ by mode. CBSA is providing quarterly releases for eManifest with incremental enhancements.</div>
          <div><br>
          </div>
          <div style="text-align: justify; font-family: Arial; font-size: 9pt;">The Canadian Export Reporting System (CERS) is replacing the Canadian Automated Export Declaration (CAED) with a pilot that began in December 2019 and a goal of all CAED filers
            moving to CERS by the end of 2020.</div>
          <div><br>
          </div>
          <div style="text-align: justify; font-family: Arial; font-size: 9pt;">At the end of 2019, CBSA announced the time for the CBSA<font style="background-color: #FFFFFF; color: #333333;"> Assessment and Revenue Management (</font>CARM<font style="background-color: #FFFFFF; color: #333333;">) program. This program phase is expected to significantly revamp the systems and procedures associated with customs duty declaration and collection in Canada. Education of the trade via
              workshops and program documentation is taking place. The initial timeline for required cutover was April of 2021. This date has been delayed with new definitive timeframes not announced as of the date of this AIF.</font></div>
          <div><br>
          </div>
          <div style="text-align: justify; font-family: Arial; font-size: 9pt;"><font style="font-weight: bold;">European Union: </font>In 2011, the EU launched advance manifest compliance initiatives similar to the US regime, called the Import Control
            System (&#8220;ICS&#8221;) and Export Control System (&#8220;ECS&#8221;).&#160;Then, in May 2016, updates to the Union Customs Code (UCC) were launched affecting customs legislation across the EU, which introduced significant changes to long-established procedures.</div>
          <div><br>
          </div>
          <div style="text-align: justify; font-family: Arial; font-size: 9pt;">The UK left the European Union on January 31, 2020 and is now in trade negotiations with the EU. The transition period is set to finish on December 31, 2020. While the
            situation remains fluid, Descartes is making the necessary adjustments within our customs applications in the UK and across Europe to support the filing of customs declarations and other requirements that will likely come into effect in 2021.</div>
          <div><br>
          </div>
          <div id="DSPFPageBreakArea" style="clear: both; margin-top: 10pt; margin-bottom: 10pt;">
            <div style="text-align: center;" id="DSPFPageNumberArea"><font style="font-family: Arial, Helvetica, 'sans-serif'; font-size: 9pt; font-weight: normal; font-style: normal;" id="DSPFPageNumber">12</font></div>
            <div id="DSPFPageBreak" style="page-break-after:always;">
              <hr style="margin: 4px 0px; width: 100%; border-width: 0; height: 2px; color: #000000; background-color: #000000; clear: both;" noshade="noshade"></div>
          </div>
          <div style="text-align: justify; color: #000000; font-family: Arial; font-size: 9pt;"><font style="font-weight: bold;">Other Countries Around the World: </font>Many nations have or are in the process of adopting various forms of advance filing
            requirements for shipments destined for a port of that country, including, Angola, Argentina, Abu Dhabi, Bahrain, Bolivia, Brazil, Colombia, China, Cuba, Dubai, Ethiopia, Ghana, India, Israel, Jamaica, Japan, Kenya,&#160;Lebanon, Mexico, New
            Zealand, Nicaragua, Nigeria, Oman,&#160;Paraguay, and the United Arab Emirates.</div>
          <div><br>
          </div>
          <div style="text-align: justify; font-family: Arial; font-size: 9pt; font-weight: bold;"><u>TRENDS IN USE OF GLOBAL TRADE DATA</u></div>
          <div><br>
          </div>
          <div style="text-align: justify; font-family: Arial; font-size: 9pt;">Another key trend is the growing importance of global trade data content to minimize duty spend, reduce the risk of transacting with denied parties, and utilize market research
            to better compete. Trade departments within international shippers and/or their brokers are being required to manage import/export compliance for a growing number of countries, covering everything from import (harmonized tariff)
            classifications, export classifications, Other government agency information and special trade programs and valuation methodologies going into the destination countries. Importers, exporters, and their logistics providers are using global trade
            data to better manage supply chain sourcing and risk, track products, monitor competitors, and discover new market opportunities.</div>
          <div><br>
          </div>
          <div style="text-align: justify; font-family: Arial; font-size: 9pt;">Denied party screening (&#8220;DPS&#8221;) is the review of intellectual property, goods, services, and connectivity prior to an import, export or transaction. Governments and
            international organizations maintain a variety of lists of people, organizations and countries with whom it is illegal or restricted to transact business. Failure to comply can result in significant fines, loss of export privileges, negative
            media coverage and reputational damage. As sanctions policies are in constant flux, many businesses engaged in international trade are increasingly seeking access to affordable, flexible and configurable DPS services to remain in compliance
            while limiting operational disruption.</div>
          <div><br>
          </div>
          <div style="text-align: justify; font-family: Arial; font-size: 9pt; font-weight: bold;"><u>TRENDS IN MOBILE RESOURCE MANAGEMENT</u></div>
          <div><br>
          </div>
          <div style="text-align: justify; font-family: Arial; font-size: 9pt;">The mobile resource management (&#8220;MRM&#8221;) market is also impacted by changing regulatory trends and limited driver availability. Several countries, including the United States,
            have adopted legislation that requires automated telematics device-based reporting on various information related to the operation of vehicle fleets, including monitoring drivers&#8217; hours of service, distance travelled, speed and equipment
            inspections. We believe that these types of initiatives will continue to evolve and that customers in this field are increasingly looking for technology service providers to help them manage these complex compliance requirements. With aging
            driver workforces in North America and Europe, companies are looking for solutions that can improve their existing workforce productivity while complying with the increasing number of regulatory mandates.</div>
          <div><br>
          </div>
          <div style="text-align: justify; font-family: Arial; font-size: 9pt;">We also believe there is a trend in the MRM market towards adoption of solutions that specialize in enabling home delivery, delivery reservations and delivery route
            optimization that leverages GPS and other real-time available information about a delivery resource in motion. With firms such as Amazon and Home Depot making home delivery a differentiating feature of the buying experience, more retailers and
            distributors are focusing on re-engineering their logistics processes to provide customers with cost-effective delivery alternatives, including home/job site delivery and value-added services, with tight delivery time windows. In addition, we
            believe there is an increased proliferation of real-time information that is available about delivery resources in motion and that customers are seeking delivery resource management solutions that can leverage this information for their
            customers&#8217; benefit.</div>
          <div><br>
          </div>
          <div style="text-align: justify; font-family: Arial; font-size: 9pt; font-weight: bold;"><u>GENERAL TRENDS</u></div>
          <div style="text-align: justify;"><br>
          </div>
          <div style="text-align: justify; font-family: Arial; font-size: 9pt;">Our business may be impacted from time to time by the general cyclical and seasonal nature of particular modes of transportation and the freight market in general, as well as
            the cyclical and seasonal nature of the industries that such markets serve. Factors which may create cyclical fluctuations in such modes of transportation or the freight market in general include ongoing developments in and changes to legal and
            regulatory requirements related to both international and domestic trade, timing of contract renewals between our customers and their own customers, seasonal-based tariffs, vacation periods applicable to particular shipping or receiving
            nations, weather-related or global health-pandemic events that impact shipping in particular geographies and amendments to international trade agreements. In particular, the</div>
          <div id="DSPFPageBreakArea" style="clear: both; margin-top: 10pt; margin-bottom: 10pt;">
            <div style="text-align: center;" id="DSPFPageNumberArea"><font style="font-family: Arial, Helvetica, 'sans-serif'; font-size: 9pt; font-weight: normal; font-style: normal;" id="DSPFPageNumber">13</font></div>
            <div id="DSPFPageBreak" style="page-break-after:always;">
              <hr style="margin: 4px 0px; width: 100%; border-width: 0; height: 2px; color: #000000; background-color: #000000; clear: both;" noshade="noshade"></div>
          </div>
          <div style="text-align: justify; font-family: Arial; font-size: 9pt;">uncertainties arising from a pandemic, such as the current COVID-19 global pandemic could adversely impact global shipment volumes in all modes of transportation in fiscal 2021
            and potentially beyond.&#160;&#160; Since some of our revenues from particular products and services are tied to the volume of shipments being processed, adverse fluctuations in the volume of global shipments or shipments in any particular mode of
            transportation may adversely affect our revenues. Declines in shipment volumes in the US or internationally likely would have a material adverse effect on our business.</div>
          <div><br>
          </div>
          <div>
            <div style="border-bottom: 1px solid #000000; border-top: 1px solid #000000;"><font style="font-size: 9pt; font-family: Arial; font-weight: bold;">ITEM 4</font>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;<font style="font-size: 9pt; font-family: Arial; font-weight: bold;">NARRATIVE
                DESCRIPTION OF THE BUSINESS</font></div>
          </div>
          <div><br>
          </div>
          <div style="text-align: justify;"><font style="font-size: 9pt; font-family: Arial; font-weight: bold;">4.1</font>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;<font style="font-size: 9pt; font-family: Arial; font-weight: bold;">Company Overview</font></div>
          <div style="text-align: justify; font-family: Arial; font-size: 9pt;">We are a global provider of cloud, device, and data content-based solutions focused on improving the productivity, performance and security of logistics-intensive businesses.
            Customers use our modular, cloud-based and data content solutions to route, schedule, track and measure delivery resources; plan, allocate and execute shipments; rate, audit and pay transportation invoices; access global trade data; file
            customs and security documents for imports and exports; and complete numerous other logistics processes by participating in a large, collaborative multi-modal logistics community.</div>
          <div><br>
          </div>
          <div style="text-align: justify; font-family: Arial; font-size: 9pt;">Our pricing models provide our customers with flexibility in purchasing our solutions either on subscription, transactional or perpetual license basis. Our solutions help
            transportation providers (air, ocean, rail and truck modes), logistics service providers (including third-party logistics providers, freight forwarders and customs brokers) and logistics-intensive manufacturers, retailers, distributors and
            mobile service providers reduce costs, improve operational performance, save time, comply with regulatory requirements and enhance the service that they deliver to their own customers.</div>
          <div><br>
          </div>
          <div style="text-align: justify;"><font style="font-size: 9pt; font-family: Arial; font-weight: bold;">4.2</font>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;<font style="font-size: 9pt; font-family: Arial; font-weight: bold;">Principal Products &amp; Services</font></div>
          <div style="text-align: justify; font-family: Arial; font-size: 9pt;">We believe that our customers prefer a technology provider that understands the unique requirements of logistics organizations and can provide a comprehensive set of solutions.
            Our customers are looking for collaborative solutions that help connect their enterprise to the multiple trading partners, logistics services providers and carriers that work with them. The Logistics Technology Platform helps our customers
            address those needs and provide a base for continuous innovation.</div>
          <div><br>
          </div>
          <div style="text-align: justify; font-family: Arial; font-size: 9pt; font-weight: bold;"><u>Logistics Technology Platform</u></div>
          <div style="text-align: justify; font-family: Arial; font-size: 9pt;">The Logistics Technology Platform combines a network, applications, content and a community. It is a comprehensive technology infrastructure that Descartes customers and their
            trading partners use to extend the command of their logistics operations.</div>
          <div><br>
          </div>
          <div style="text-align: center;"><img src="logisticstechplatform.gif"></div>
          <div><br>
          </div>
          <div style="text-align: justify; font-family: Arial; font-size: 9pt; font-weight: bold;">Network</div>
          <div style="text-align: justify; font-family: Arial; font-size: 9pt;">Descartes&#8217; GLN is the foundation on which our applications and community are built. It was designed with logistics operations in mind. It is differentiated by its management of
            data semantics, message delivery, transformation of data pertaining to regional or global operations and its ability to work across wired and wireless technologies.</div>
          <div id="DSPFPageBreakArea" style="clear: both; margin-top: 10pt; margin-bottom: 10pt;">
            <div style="text-align: center;" id="DSPFPageNumberArea"><font style="font-family: Arial, Helvetica, 'sans-serif'; font-size: 9pt; font-weight: normal; font-style: normal;" id="DSPFPageNumber">14</font></div>
            <div id="DSPFPageBreak" style="page-break-after:always;">
              <hr style="margin: 4px 0px; width: 100%; border-width: 0; height: 2px; color: #000000; background-color: #000000; clear: both;" noshade="noshade"></div>
          </div>
          <div style="text-align: justify; font-family: Arial; font-size: 9pt; font-weight: bold;">Content</div>
          <div style="text-align: justify; font-family: Arial; font-size: 9pt;">Descartes&#8217; global trade content solutions offer comprehensive access to market leading data and tools to research, analyze and act on import/export movements, trade regulations
            and market trends; reduce the risk of transacting with denied or sanctioned parties; increase trade compliance rates; optimize sourcing, procurement, and business development strategies; and minimize duty spend.</div>
          <div><br>
          </div>
          <div style="text-align: justify; font-family: Arial; font-size: 9pt; font-weight: bold;">Community</div>
          <div style="text-align: justify; font-family: Arial; font-size: 9pt;">Our global logistics community is a large, multi-modal network of logistics-intensive companies.&#160; We have historically enhanced our current solutions and added additional
            applications and community members through both organic growth and acquisitions of similarly-focused complementary businesses to strengthen our Logistics Technology Platform.</div>
          <div><br>
          </div>
          <div style="text-align: justify; font-family: Arial; font-size: 9pt; font-weight: bold;">Applications</div>
          <div style="text-align: justify; font-family: Arial; font-size: 9pt;">With the GLN as the connectivity foundation, we have been expanding our logistics application functional footprint to offer a broad array of modular, interoperable web-based
            and wireless logistics management solutions.</div>
          <div><br>
          </div>
          <div style="text-align: justify; font-family: Arial; font-size: 9pt;">We provide applications that help companies better manage their logistics book-to-bill process and purchase order-to-dock process, track inventory, meet regulatory
            requirements, optimize fleet performance, manage deliveries, and effectively communicate and collaborate with their logistics partners. These applications can be principally categorized as: (i) Routing, Mobile &amp; Telematics; (ii)
            Transportation Management; (iii) Customs &amp; Regulatory Compliance; (iv) GLN Services; (v) Broker &amp; Forwarder Enterprise Systems, and (vi) Global Trade Content Solutions.</div>
          <div><br>
          </div>
          <div style="text-align: justify;">
            <div>
              <table id="zaf211c7960f24a0482706466b329a1ca" class="DSPFListTable" style="font-family: 'Times New Roman', Times, serif; font-size: 10pt; width: 100%; text-align: left; color: #000000;" cellpadding="0" cellspacing="0">

                  <tr>
                    <td style="width: 18pt;"><br>
                    </td>
                    <td style="width: 36pt; vertical-align: top; font-family: Arial; font-size: 9pt; font-weight: bold;">(i)</td>
                    <td style="width: auto; vertical-align: top; text-align: justify;">
                      <div style="font-family: Arial; font-size: 9pt; font-weight: bold;"><u>Routing, Mobile &amp; Telematics</u></div>
                    </td>
                  </tr>

              </table>
            </div>
          </div>
          <div style="text-align: justify; margin-left: 18pt; font-family: Arial; font-size: 9pt;">Descartes&#8217; Routing, Mobile &amp; Telematics suite supports the closed-loop process associated with planning, tracking, measuring, delegating and optimizing
            the use of assets and people that are involved in the movement of goods. These solutions can improve productivity and reduce fuel, vehicle and labor costs. The suite helps address business challenges including the following: (1) strategic
            planning; (2) daily planning; (3) pickup/delivery reservations; (4) dispatch and vertical specific mobile solutions; (5) commercial fleet navigation; (6) reporting and measuring; (7) sales and merchandiser management; and (8) telematics and
            compliance.</div>
          <div><br>
          </div>
          <div style="text-align: justify; margin-left: 54pt; font-family: Arial; font-size: 9pt; font-weight: bold;">(1) &#160;&#160;&#160;&#160;&#160;&#160; <u>Strategic Planning:</u>&#160; <font style="font-style: italic;">Descartes Sales &amp; Territory Planner&#8482; </font>and<font style="font-style: italic;"> Descartes Area Planner&#8482;</font></div>
          <div style="text-align: justify; margin-left: 54pt; font-family: Arial; font-size: 9pt;">For strategic planning of recurring pickups or deliveries, Descartes Sales &amp; Territory Planner performs complex service scheduling that simultaneously
            considers daily, weekly and multi-week deliveries, as well as holidays and other non-working days. It also evaluates geographic distribution and sales potential for each customer to help establish optimal territories and routes. Factors
            considered include minimizing travel time and related costs, and balancing opportunities across members of the sales team. Additional parameters such as stops, distance and sales volume can also be used to help determine routes and route
            schedules for sales, delivery or both.</div>
          <div><br>
          </div>
          <div style="text-align: justify; margin-left: 54pt; font-family: Arial; font-size: 9pt;">For strategic planning of highly variable pickups and deliveries, Descartes Area Planner utilizes historical demand with algorithms to create models of
            demand density patterns.&#160; Those patterns are used to create territory and route plans.&#160; Descartes Area Planner takes into account service levels and delivery product types and is able to test the territory and route plan&#8217;s resilience to change.
            Descartes Area Planner typically is used to generate multiple plans to fit daily, seasonal or business cycle driven demand variability.</div>
          <div><br>
          </div>
          <div style="text-align: justify; text-indent: -38.15pt; margin-left: 92.15pt; font-family: Arial; font-size: 9pt;"><font style="font-weight: bold;">(2)&#160;&#160;&#160;&#160;&#160;&#160;&#160; </font><font style="font-weight: bold;"><u>Daily Planning:</u></font><font style="font-weight: bold;">&#160; </font><font style="font-weight: bold; font-style: italic;">Descartes Route Planner&#8482;, Descartes Route Planner RS&#8482;,</font>&#160;<font style="font-weight: bold; font-style: italic;">Descartes Route Planner On-demand&#8482;</font>&#160;<font style="font-weight: bold;">and</font>&#160;<font style="font-weight: bold; font-style: italic;">Winroute&#8482;</font></div>
          <div style="text-align: justify; margin-left: 54pt; font-family: Arial; font-size: 9pt;">Descartes provides a number of daily planning solutions to address the range of customer requirements from the most complex to simple needs. Descartes Route
            Planner<sup style="vertical-align: text-top; line-height: 1; font-size: smaller;">TM</sup> takes in new orders as they are placed, optimizes them in real-time, allocating resources to help maximize operating efficiencies, deliver priority
            service to the most profitable accounts and routes, and</div>
          <div id="DSPFPageBreakArea" style="clear: both; margin-top: 10pt; margin-bottom: 10pt;">
            <div style="text-align: center;" id="DSPFPageNumberArea"><font style="font-family: Arial, Helvetica, 'sans-serif'; font-size: 9pt; font-weight: normal; font-style: normal;" id="DSPFPageNumber">15</font></div>
            <div id="DSPFPageBreak" style="page-break-after:always;">
              <hr style="margin: 4px 0px; width: 100%; border-width: 0; height: 2px; color: #000000; background-color: #000000; clear: both;" noshade="noshade"></div>
          </div>
          <div style="text-align: justify; margin-left: 54pt; font-family: Arial; font-size: 9pt;">maintain overall customer service objectives. Our other daily planning solutions optimize orders in groups, balancing service with costs and operational
            constraints. Our daily planning solutions are designed to integrate with existing order management or transportation planning systems and can help companies reduce costs as a result of shorter routes, reduce fuel consumption and enhance fleet
            utilization. Descartes&#8217; comprehensive offering addresses a broad range of operational environments that can vary across different industries.</div>
          <div><br>
          </div>
          <div style="text-align: justify; text-indent: -38.15pt; margin-left: 92.15pt; font-family: Arial; font-size: 9pt; font-weight: bold;">(3)&#160; &#160; &#160; &#160;&#160;&#160; <u>Pickup/Delivery Reservations:</u><font style="font-style: italic;">&#160; Descartes Reservations&#8482;</font></div>
          <div style="text-align: justify; margin-left: 54pt; font-family: Arial; font-size: 9pt;">Descartes Reservations facilitates on-line scheduling of deliveries or service &#8212; either for self-service or as a decision support tool for customer service
            agents. It helps companies to effectively tailor service to the demands of key customers while helping to achieve internal profitability goals. Descartes Reservations also confirms that requests can be met and schedules in the appointment,
            making Descartes Reservations an effective capable-to-promise tool.</div>
          <div><br>
          </div>
          <div style="text-indent: -36pt; margin-left: 90pt; font-family: Arial; font-size: 9pt; font-weight: bold;">(4) &#160;&#160;&#160; &#160;&#160; &#160; <u>Descartes Execution and Mobile Solutions:</u>&#160; <font style="font-style: italic;">Descartes Route Planner Dispatch&#8482;,
              Descartes Route Planner OnDemand Dispatch, Descartes MobileLink&#8482;, Descartes Food Perform&#8482;, Descartes Distribution Perform&#8482;, and Descartes Transport Perform&#8482;</font></div>
          <div style="text-align: justify; margin-left: 54pt; font-family: Arial; font-size: 9pt;">Descartes Execution solutions (Descartes Route Planner OnDemand Dispatch, Descartes Route Planner Automated Vehicle Locator&#8482;, Descartes Route Planner
            OnDemand AVL&#8482;) manage routes in progress, tracking their performance, addressing route exceptions as they occur and capturing delivery and pickup status updates. Descartes Execution Solutions facilitate the assignment and execution of
            pre-planned and same-day pick-ups and deliveries. Descartes Mobile solutions (Descartes MobileLink&#8482;, Descartes Food Perform&#8482;, Descartes Distribution Perform&#8482;, and Descartes Transport Perform&#8482;) provide integrated two-way wireless communication
            and supports active and passive monitoring capabilities for enhanced logistics execution. By combining route planning and a free flow of information between dispatchers and the field, Descartes Mobile solutions extend the traditional route
            planning process and provide real-time visibility into the execution of the plan. The combination of Descartes&#8217; Daily Planning solutions with Descartes Execution and Descartes Mobile solutions form the core of plan versus actual performance
            evaluation and continuous logistics improvement.</div>
          <div><br>
          </div>
          <div style="text-align: justify; margin-left: 54pt; font-family: Arial; font-size: 9pt;">Descartes Food Perform, Distribution Perform, and Transport Perform are cloud-based mobile solutions that automate traditional paper-based processes and help
            streamline complex &#8216;last mile&#8217; logistics processes. These solutions have been tailored to support &#8216;last mile&#8217; commercial processes unique to each industry. They provide configurable, feature-rich mobile technology and advanced electronic proof
            of delivery operating on a hand-held device carried by drivers and other field personnel.</div>
          <div><br>
          </div>
          <div style="text-align: justify; text-indent: -36pt; margin-left: 90pt; font-family: Arial; font-size: 9pt;"><font style="font-weight: bold;">(6) &#160;&#160; &#160; &#160; &#160; </font><font style="font-weight: bold;"><u>Reporting and Measuring:</u></font><font style="font-weight: bold;">&#160; </font><font style="font-weight: bold; font-style: italic;">Descartes Reporting Services</font>&#8482;</div>
          <div style="text-align: justify; margin-left: 54pt; font-family: Arial; font-size: 9pt;">Descartes Reporting Services helps companies create and distribute reports within an organization or to suppliers, vendors, sub-contractors or carriers. It
            provides a simple, secure way to create customized delivery statistics and metrics. It can help simplify the creation and management of supply chain scorecards and, as a byproduct, can help identify best practices.</div>
          <div><br>
          </div>
          <div style="text-indent: -36pt; margin-left: 90pt; font-family: Arial; font-size: 9pt;"><font style="font-weight: bold;">(7) &#160; &#160;&#160; &#160;&#160;&#160; </font><font style="font-weight: bold;"><u>Sales and Merchandiser Management:</u></font><font style="font-weight: bold;">&#160;</font><font style="font-weight: bold; font-style: italic;">Descartes Sales and Merchandiser Management</font>&#8482;</div>
          <div style="text-align: justify; margin-left: 54pt; font-family: Arial; font-size: 9pt;">Descartes Sales and Merchandiser Management enables resource planning, route building and optimization, and tracking across delivery operations and mobile
            workforces, including sales representatives, territory managers and merchandisers. Descartes Sales and Merchandiser Management facilitates weekly activity planning, delivery status visibility for merchandisers and sales representatives, actual
            distance driven, in-store time calculation and work data collection, and consolidated performance reporting. Performance data can be uploaded to corporate payroll and expense reporting systems to ensure appropriate payments are being made for
            resource performance. Descartes Sales and Merchandiser Management helps our</div>
          <div id="DSPFPageBreakArea" style="clear: both; margin-top: 10pt; margin-bottom: 10pt;">
            <div style="text-align: center;" id="DSPFPageNumberArea"><font style="font-family: Arial, Helvetica, 'sans-serif'; font-size: 9pt; font-weight: normal; font-style: normal;" id="DSPFPageNumber">16</font></div>
            <div id="DSPFPageBreak" style="page-break-after:always;">
              <hr style="margin: 4px 0px; width: 100%; border-width: 0; height: 2px; color: #000000; background-color: #000000; clear: both;" noshade="noshade"></div>
          </div>
          <div style="text-align: justify; margin-left: 54pt; font-family: Arial; font-size: 9pt;">customers improve sales and merchandising productivity, cut costs and improve customer service.</div>
          <div><br>
          </div>
          <div style="text-indent: -36pt; margin-left: 90pt; font-family: Arial; font-size: 9pt;"><font style="font-weight: bold;">(8)&#160;&#160; &#160; &#160;&#160; &#160; </font><font style="font-weight: bold;"><u>Telematics and Compliance:</u></font><font style="font-weight: bold;">&#160;</font><font style="font-weight: bold; font-style: italic;">Descartes Telematics and Compliance&#8482;, Descartes Smartanalysis, Descartes SmartLicence&#8482;, and Descartes</font>&#160;<font style="font-weight: bold; font-style: italic;">Driver
              Vehicle Inspection Reports&#8482;</font></div>
          <div style="text-align: justify; margin-left: 54pt; font-family: Arial; font-size: 9pt;">Descartes&#8217; Telematics and Compliance solutions offer next generation mobile handheld devices that can continuously monitor performance of vehicles and
            drivers. Robust functionality for tracking vehicles, monitoring and scoring driving behavior and automation of driver logs and reporting on driver hours for &#8220;hours of service&#8221; regulatory compliance helps increase workforce productivity and
            safety, prevents &#8220;hours of service&#8221; violations and reduces or eliminates excess paperwork and processing times. Descartes&#8217; 2018 acquisition of PinPoint adds depth, breadth and domain expertise to our offering by enhancing Descartes&#8217; ability to
            implement, collect and leverage real-time vehicle and trailer information through reseller relationships with Geotab (for telematics devices) and SkyBitz (for trailer tracking devices).</div>
          <div><br>
          </div>
          <div style="text-align: justify; margin-left: 54pt; font-family: Arial; font-size: 9pt;">In Europe, Descartes&#8217; Smartanalysis product is a leading tachograph analysis and compliance management solution. It is used by road transport operators of
            all sizes to meet legal obligations and comply with Europe&#8217;s complex driver working time regulations. Descartes SmartLicence is a comprehensive online tool for fleet operators in the UK for electronically managing driving licenses and verifying
            license details with the UK&#8217;s Driver and Vehicle Licensing Agency.</div>
          <div><br>
          </div>
          <div style="text-align: justify; margin-left: 54pt; font-family: Arial; font-size: 9pt;">Descartes&#8217; Driver Vehicle Inspection Reports (DVIR) is a configurable, cloud-based, enterprise-class solution for assuring compliance with routine driver
            vehicle safety checks required or recommended by the United States Federal Motor Carrier Safety Administration, Canadian Provincial Ministries of Transportation, and the United Kingdom Driver and Vehicle Standards Agency.</div>
          <div><br>
          </div>
          <div style="text-align: justify;">
            <div>
              <table id="zc76e385a7df94e758ce9f76d9ab5a500" class="DSPFListTable" style="font-family: 'Times New Roman', Times, serif; font-size: 10pt; width: 100%; text-align: left; color: #000000;" cellpadding="0" cellspacing="0">

                  <tr>
                    <td style="width: 18pt;"><br>
                    </td>
                    <td style="width: 54pt; vertical-align: top; align: right; font-family: Arial; font-size: 9pt; font-weight: bold;">(ii)</td>
                    <td style="width: auto; vertical-align: top; text-align: justify;">
                      <div style="font-family: Arial; font-size: 9pt; font-weight: bold;"><u>Transportation Management</u></div>
                    </td>
                  </tr>

              </table>
            </div>
          </div>
          <div style="text-align: justify; margin-left: 18pt; font-family: Arial; font-size: 9pt;">Descartes&#8217; Transportation Management solutions provide robust, network-based, modular, end-to-end multimodal functionality that spans the entire shipment
            lifecycle. We streamline and support our customers&#8217; ability to turn purchase or sales order fulfillment into transport orders, manage carrier contracts, optimize and execute transportation plans, execute cross-docked and pooled shipments,
            connect to trading partners, control the flow of prepaid freight, track shipments and inventory, audit freight and manage supplier/carrier performance. The suite of products addresses unique requirements across truck, air, ocean and parcel
            modes.</div>
          <div><br>
          </div>
          <div style="text-align: justify; text-indent: -36pt; margin-left: 90pt; font-family: Arial; font-size: 9pt; font-style: italic; font-weight: bold;">Descartes Transportation Manager&#8482;</div>
          <div style="text-align: justify; margin-left: 54pt; font-family: Arial; font-size: 9pt;">Descartes Transportation Manager facilitates efficient planning and execution of shipping across air, ocean, truck and parcel modes at multiple touch-points
            in the distribution process. It helps logistics managers, shippers and third parties simultaneously evaluate shipment alternatives to find efficient shipping methods. It is a solution that scales from the loading dock to the enterprise,
            providing up-to-date rates that allow the customer to both make efficient shipment decisions and comply with carrier communications, manifesting and labeling requirements. The pick, pack and ship capability helps our customers manage small
            parcel shipments with postal services, a variety of small-package delivery carriers and over 150 less-than-truckload carriers. It evaluates and optimizes transportation purchases across modes for both operational effectiveness and cost
            efficiency, and helps answer tough questions such as: &#8220;How can I effectively use all of my carrier contracts?&#8221;; &#8220;Who is the most suitable carrier in this mode to handle my shipment?&#8221;; &#8220;What shipments can I combine to lower my costs?&#8221;; and,
            &#8220;What shipment consolidation should I use - aggregation, multi-stop routes or pooling to reduce costs while meeting service requirements?&#8221;.</div>
          <div><br>
          </div>
          <div style="text-align: justify; text-indent: -38.15pt; margin-left: 92.15pt; font-family: Arial; font-size: 9pt; font-style: italic; font-weight: bold;">Descartes Dock Appointment Scheduling&#8482;</div>
          <div style="text-align: justify; margin-left: 54pt; font-family: Arial; font-size: 9pt;">Descartes Dock Appointment Scheduling is a collaborative solution that enables shippers, carriers and consignees to schedule dock door appointments. It
            streamlines the dock</div>
          <div id="DSPFPageBreakArea" style="clear: both; margin-top: 10pt; margin-bottom: 10pt;">
            <div style="text-align: center;" id="DSPFPageNumberArea"><font style="font-family: Arial, Helvetica, 'sans-serif'; font-size: 9pt; font-weight: normal; font-style: normal;" id="DSPFPageNumber">17</font></div>
            <div id="DSPFPageBreak" style="page-break-after:always;">
              <hr style="margin: 4px 0px; width: 100%; border-width: 0; height: 2px; color: #000000; background-color: #000000; clear: both;" noshade="noshade"></div>
          </div>
          <div style="text-align: justify; margin-left: 54pt; font-family: Arial; font-size: 9pt;">appointment process by distributing the responsibility for scheduling from the warehouse to carriers and suppliers. By ensuring all supply chain partners are
            involved in the process and have visibility into requested, scheduled and rescheduled dock orders and appointments, this solution is designed to optimize shipping and receiving operations at a warehouse.</div>
          <div><br>
          </div>
          <div style="text-indent: 18pt; margin-left: 36pt; font-family: Arial; font-size: 9pt; font-style: italic; font-weight: bold;">Descartes Yard Management&#8482;</div>
          <div style="text-align: justify; margin-left: 54pt; font-family: Arial; font-size: 9pt;">A module of Descartes Transportation Manager, Descartes Yard Management enables shipping and receiving staff, gate guards and yard jockeys to more
            effectively manage the movement of trailers and identify inventory in the yard. Designed to work seamlessly with Descartes Transportation Manager, Descartes Yard Management provides command and control of yards of all sizes.</div>
          <div><br>
          </div>
          <div style="text-align: justify; margin-left: 54pt; font-family: Arial; font-size: 9pt; font-style: italic; font-weight: bold;">Descartes Rate Builder&#8482;</div>
          <div style="text-align: justify; margin-left: 54pt; font-family: Arial; font-size: 9pt;">Descartes Rate Builder is a solution that helps carriers and non-vessel owning common carriers (&#8220;NVOCCs&#8221;) manage global rates, contracts and rate agreements
            more efficiently and meet regulatory obligations. Descartes Rate Builder enables companies to create, revise, store and distribute rates via the Internet. Once they are generated, Descartes Rate Builder stores all rates in a central database
            with controlled access privileges. Carriers can designate a &#8220;contract owner&#8221; who can allow multiple users to contribute during the drafting of a new contract or amendment. NVOCCs can effectively manage a global rate network and help enable
            logistics service providers (&#8220;LSPs&#8221;) to create and manage both buy-side and sell-side rates digitally, enforce a standardized global pricing policy and implement a global rate request process.&#160;&#160; Descartes Rate Builder also supports the audit of
            ocean bills of lading.</div>
          <div><br>
          </div>
          <div style="margin-left: 54pt; font-family: Arial; font-size: 9pt; font-style: italic; font-weight: bold;">Descartes Retail Distribution&#8482;</div>
          <div>&#160;</div>
          <div style="text-align: justify; margin-left: 54pt; font-family: Arial; font-size: 9pt;">The Descartes Retail Distribution portfolio provides visibility, reduces cost and removes bottlenecks as a retailer&#8217;s products move from a shipper&#8217;s
            Distribution Center (&#8220;DC&#8221;), consolidation point, or DC bypass facility through third-party transportation provider networks and ultimately to its stores. The portfolio includes:</div>
          <div><br>
          </div>
          <div style="text-align: justify;">
            <div>
              <table id="z8aef67e79d9940a398cd313c2dc48cbd" class="DSPFListTable" style="font-family: 'Times New Roman', Times, serif; font-size: 10pt; width: 100%; text-align: left; color: #000000;" cellpadding="0" cellspacing="0">

                  <tr>
                    <td style="width: 72pt;"><br>
                    </td>
                    <td style="width: 18pt; vertical-align: top; font-family: Arial; font-size: 9pt; font-style: italic; font-weight: bold;">(1)</td>
                    <td style="width: auto; vertical-align: top; text-align: justify;">
                      <div style="font-family: Arial; font-size: 9pt;"><font style="font-weight: bold; font-style: italic;">Descartes PCSTrac</font>&#8482; is an inventory control and management solution for retail distributors designed to manage multiple
                        retailer accounts, varying label types, and specific requirements of each retailer &#8211; such as custom delivery bills of lading (&#8220;BOL&#8221;), pallet scanning, out-of-area return processes, store-to-store transfers and EDI overage, shortage
                        and damage (OS&amp;D) files.</div>
                    </td>
                  </tr>

              </table>
            </div>
          </div>
          <div><br>
          </div>
          <div style="text-align: justify;">
            <div>
              <table id="z01544a4432b247e6b9890c99a43786ec" class="DSPFListTable" style="font-family: 'Times New Roman', Times, serif; font-size: 10pt; width: 100%; text-align: left; color: #000000;" cellpadding="0" cellspacing="0">

                  <tr>
                    <td style="width: 72pt;"><br>
                    </td>
                    <td style="width: 18pt; vertical-align: top; font-family: Arial; font-size: 9pt; font-style: italic; font-weight: bold;">(2)</td>
                    <td style="width: auto; vertical-align: top; text-align: justify;">
                      <div style="font-family: Arial; font-size: 9pt;"><font style="font-weight: bold; font-style: italic;">Descartes Retail Distribution System</font><font style="font-weight: bold;">&#8482;</font> is a carton-level freight tracking system used
                        by third-party specialty retail pool distributors for receiving, sorting, scanning, and delivering retail freight to a shipper&#8217;s stores.</div>
                    </td>
                  </tr>

              </table>
            </div>
          </div>
          <div><br>
          </div>
          <div style="text-align: justify;">
            <div>
              <table id="zbee0f52e9bed49388e02061801cf6399" class="DSPFListTable" style="font-family: 'Times New Roman', Times, serif; font-size: 10pt; width: 100%; text-align: left; color: #000000;" cellpadding="0" cellspacing="0">

                  <tr>
                    <td style="width: 72pt;"><br>
                    </td>
                    <td style="width: 18pt; vertical-align: top; font-family: Arial; font-size: 9pt; font-style: italic; font-weight: bold;">(3)</td>
                    <td style="width: auto; vertical-align: top; text-align: justify;">
                      <div style="font-family: Arial; font-size: 9pt;"><font style="font-weight: bold; font-style: italic;">Descartes Retail Claims System</font>&#8482; is a claims management system integrated with the retail distribution tracking solution and
                        the visibility tools in Descartes WebTMS. It also works in tandem with the payment cycles of the retail payment solution.</div>
                    </td>
                  </tr>

              </table>
            </div>
          </div>
          <div><br>
          </div>
          <div style="text-align: justify;">
            <div>
              <table id="z2cbeb248792447ea84ccc1a27177fae8" class="DSPFListTable" style="font-family: 'Times New Roman', Times, serif; font-size: 10pt; width: 100%; text-align: left; color: #000000;" cellpadding="0" cellspacing="0">

                  <tr>
                    <td style="width: 72pt;"><br>
                    </td>
                    <td style="width: 18pt; vertical-align: top; font-family: Arial; font-size: 9pt; font-style: italic; font-weight: bold;">(4)</td>
                    <td style="width: auto; vertical-align: top; text-align: justify;">
                      <div style="font-family: Arial; font-size: 9pt;"><font style="font-weight: bold; font-style: italic;">Descartes Retail Payment System</font>&#8482; is a freight payment system for shippers to pay linehaul and pool distribution
                        transportation providers.</div>
                    </td>
                  </tr>

              </table>
            </div>
          </div>
          <div><br>
          </div>
          <div style="text-align: justify;">
            <div>
              <table id="ze3fcc9afdf6a4ccfb7ad01c26a75cdd2" class="DSPFListTable" style="font-family: 'Times New Roman', Times, serif; font-size: 10pt; width: 100%; text-align: left; color: #000000;" cellpadding="0" cellspacing="0">

                  <tr>
                    <td style="width: 72pt;"><br>
                    </td>
                    <td style="width: 18pt; vertical-align: top; font-family: Arial; font-size: 9pt; font-style: italic; font-weight: bold;">(5)</td>
                    <td style="width: auto; vertical-align: top; text-align: justify;">
                      <div style="font-family: Arial; font-size: 9pt;"><font style="font-weight: bold; font-style: italic;">Descartes ScanTrac</font>&#8482; enables &#8220;smart scanning&#8221; at delivery with any mobile device. Drivers use a Bluetooth attachment or their
                        mobile phone camera to scan against the delivery manifest. If no cellular or WiFi connection is available, the data is transmitted as soon as a connection is restored.</div>
                    </td>
                  </tr>

              </table>
            </div>
          </div>
          <div><br>
          </div>
          <div style="text-align: justify;">
            <div>
              <table id="za73aecaaaf1546be9b698731abcad574" class="DSPFListTable" style="font-family: 'Times New Roman', Times, serif; font-size: 10pt; width: 100%; text-align: left; color: #000000;" cellpadding="0" cellspacing="0">

                  <tr>
                    <td style="width: 72pt;"><br>
                    </td>
                    <td style="width: 18pt; vertical-align: top; font-family: Arial; font-size: 9pt; font-style: italic; font-weight: bold;">(6)</td>
                    <td style="width: auto; vertical-align: top; text-align: justify;">
                      <div style="font-family: Arial; font-size: 9pt;"><font style="font-weight: bold; font-style: italic;">Descartes StoreTrac</font>&#8482; allows users to create and maintain visibility, down to the item level, from the moment the inventory
                        leaves the DC all the way through to receipt at the store.</div>
                    </td>
                  </tr>

              </table>
            </div>
          </div>
          <div><br>
          </div>
          <div id="DSPFPageBreakArea" style="clear: both; margin-top: 10pt; margin-bottom: 10pt;">
            <div style="text-align: center;" id="DSPFPageNumberArea"><font style="font-family: Arial, Helvetica, 'sans-serif'; font-size: 9pt; font-weight: normal; font-style: normal;" id="DSPFPageNumber">18</font></div>
            <div id="DSPFPageBreak" style="page-break-after:always;">
              <hr style="margin: 4px 0px; width: 100%; border-width: 0; height: 2px; color: #000000; background-color: #000000; clear: both;" noshade="noshade"></div>
          </div>
          <div style="text-align: justify;">
            <div>
              <table id="ze85181f9cbae4570b0b56b5119130b4c" class="DSPFListTable" style="font-family: 'Times New Roman', Times, serif; font-size: 10pt; width: 100%; text-align: left; color: #000000;" cellpadding="0" cellspacing="0">

                  <tr>
                    <td style="width: 72pt;"><br>
                    </td>
                    <td style="width: 18pt; vertical-align: top; font-family: Arial; font-size: 9pt; font-style: italic; font-weight: bold;">(7)</td>
                    <td style="width: auto; vertical-align: top; text-align: justify;">
                      <div style="font-family: Arial; font-size: 9pt;"><font style="font-weight: bold; font-style: italic;">Descartes WebTMS</font>&#8482; is a web-based visibility tool that allows a retailer to see its entire outbound distribution supply chain
                        and reverse logistics operations.</div>
                    </td>
                  </tr>

              </table>
            </div>
          </div>
          <div><br>
          </div>
          <div style="text-align: justify; margin-left: 54pt; font-family: Arial; font-size: 9pt;"><font style="font-weight: bold; font-style: italic;">Descartes Bookings and Reservations</font>&#8482;</div>
          <div style="text-align: justify; margin-left: 54pt; font-family: Arial; font-size: 9pt;">Descartes&#8217; centralized booking portals provide visibility into rates, contracts, and shipment details from global locations to enable more informed
            decision-making and contract development. Carriers can distribute product, routing, capacity and rate information to forwarders 24/7 in real-time, while forwarders can access carrier information and make electronic bookings via a simple web
            browser. Integration of cost tables with contracts also allows for deeper analysis to improve asset utilization and overall margins. Additionally, our host-to-host service enables forwarders to execute bookings from within their own in-house
            systems. Descartes Bookings and Reservations services include the Descartes Global Freight Exchange and Descartes CargoBooker.</div>
          <div><br>
          </div>
          <div style="text-align: justify; margin-left: 54pt; font-family: Arial; font-size: 9pt;"><font style="font-weight: bold; font-style: italic;">Descartes OzLink</font>&#8482;</div>
          <div style="text-align: justify; margin-left: 54pt; font-family: Arial; font-size: 9pt;">Descartes OzLink is a platform for integrating and extending ERP, accounting, e-commerce, and WMS systems to streamline order management, inventory control,
            and shipping. The solution functions as a complement to core business systems where gaps exist in the flow of data and/or system automation. Descartes OzLink&#8217;s standard integration modules and business process extensions can help seamlessly
            move data between systems and automate tasks to eliminate labor-intensive clerical work, error-prone data entry, lead time delays, and compromised customer service. The solution can flexibly connect systems that run in the cloud, operate on
            premise or within a hosted environment to address an extensive range of e-Commerce, warehousing, and shipping processes.</div>
          <div><br>
          </div>
          <div style="text-align: justify; margin-left: 54pt; font-family: Arial; font-size: 9pt; font-style: italic; font-weight: bold;">Descartes pixi eCommerce Fulfillment/ Warehouse Management</div>
          <div style="text-align: justify; margin-left: 54pt; font-family: Arial; font-size: 9pt;">Descartes pixi eCommerce Fulfillment/Warehouse Management helps customers automate ecommerce processes originating from online orders. Integrated with
            hundreds of ecommerce sites in Europe, the solution enables small-to-medium sized businesses and large retailers looking to enhance their online presence to support the growing consumer demand for omnichannel deliveries. The solution collects
            order information from ecommerce websites, translates it into a scanner-driven pick and pack process within the warehouse, initiates the shipment to the customer, and synchronizes all of this information with the customer&#8217;s financial system for
            invoicing and shipment tracking.</div>
          <div><br>
          </div>
          <div style="margin-left: 54pt; font-family: Arial; font-size: 9pt; font-weight: bold;"><font style="font-style: italic;">Descartes Peoplevox</font>&#8482;</div>
          <div style="text-align: justify; margin-left: 54pt; font-family: Arial; font-size: 9pt;">Descartes Peoplevox is a cloud-based warehouse management and ecommerce fulfillment solution that helps online retailers connect to webshop front ends,
            translate order information into a mobile-driven pick and pack process, and then feed parcel delivery systems for shipment execution. With sales and implementation services that can be provided completely remotely, it&#8217;s rapid to deploy.</div>
          <div>&#160;</div>
          <div style="margin-left: 54pt; font-family: Arial; font-size: 9pt; font-weight: bold;"><font style="font-style: italic;">Descartes ShipRush</font>&#8482;</div>
          <div style="text-align: justify; margin-left: 54pt; font-family: Arial; font-size: 9pt;">Descartes ShipRush helps customers ship efficiently and cost-effectively by integrating with front-end commerce systems and parcel shipping providers for
            seamless package labelling, rating, tracking and postage processing. With integrations to over 70 business systems, including leading ERP, ecommerce and supply chain platforms, the ShipRush platform helps customers to streamline their supply
            chain and reduce transportation costs. Using the solution, companies can automatically import orders; compare carrier rates in real-time to get the best options every time; print shipping labels for FedEx, UPS, USPS, and other major U.S. and
            global carriers; and track shipments through to final delivery.</div>
          <div>&#160;</div>
          <div style="margin-left: 54pt; font-family: Arial; font-size: 9pt; font-weight: bold;"><font style="font-style: italic;">Descartes MacroPoint</font>&#8482;</div>
          <div style="text-align: justify; margin-left: 54pt; font-family: Arial; font-size: 9pt;">Descartes MacroPoint is a multimodal freight visibility platform for shippers, brokers and 3PLs to get real-time visibility and predictive analytics for
            in-transit freight. Our industry-leading visibility network is connected to over 100,000 carriers and millions of assets and drivers through integrations with on-board ELDs, GPS telematics devices, carrier transportation</div>
          <div id="DSPFPageBreakArea" style="clear: both; margin-top: 10pt; margin-bottom: 10pt;">
            <div style="text-align: center;" id="DSPFPageNumberArea"><font style="font-family: Arial, Helvetica, 'sans-serif'; font-size: 9pt; font-weight: normal; font-style: normal;" id="DSPFPageNumber">19</font></div>
            <div id="DSPFPageBreak" style="page-break-after:always;">
              <hr style="margin: 4px 0px; width: 100%; border-width: 0; height: 2px; color: #000000; background-color: #000000; clear: both;" noshade="noshade"></div>
          </div>
          <div style="text-align: justify; margin-left: 54pt; font-family: Arial; font-size: 9pt;">management systems (TMS), GPS-enabled smartphone applications and location-based mobile phone triangulation.</div>
          <div><br>
          </div>
          <div style="margin-left: 54pt; font-family: Arial; font-size: 9pt; font-style: italic; font-weight: bold;">Descartes MacroPoint&#8482; for Capacity Matching</div>
          <div style="text-align: justify; margin-left: 54pt; font-family: Arial; font-size: 9pt;">Descartes MacroPoint&#8482; for Capacity Matching provides freight brokers with greater visibility to the transportation capacity available within their network of
            carriers and cooperating brokers. By accessing previously unused freight capacity using advanced visualization and analytical capabilities, freight brokers can cover more loads, build stronger carrier relationships and reduce costs.</div>
          <div><br>
          </div>
          <div style="margin-left: 54pt; font-family: Arial; font-size: 9pt; font-weight: bold;"><font style="font-style: italic;">Descartes Aljex</font>&#8482;</div>
          <div style="text-align: justify; margin-left: 54pt; font-family: Arial; font-size: 9pt;">The Descartes Aljex solution provides back-office transportation management for freight brokers and transportation providers. These solutions help customers
            automate business processes and create electronic documents critical for executing transportation moves. In addition, customers can manage the lifecycle of a shipment from order creation through execution, including real-time tracking with
            connectivity to the Descartes MacroPoint network.</div>
          <div><br>
          </div>
          <div style="margin-left: 54pt; font-family: Arial; font-size: 9pt; font-weight: bold;"><font style="font-style: italic;">Descartes BestTransport</font>&#8482;</div>
          <div style="text-align: justify; margin-left: 54pt; font-family: Arial; font-size: 9pt;">Descartes BestTransport is a cloud-based transportation management system (TMS) tailored for flatbed-intensive manufacturers and distributors. It provides
            capabilities that address requirements from contract rate management through to load building, shipment execution and freight payment for flatbed transportation moves.</div>
          <div><br>
          </div>
          <div style="text-align: justify; margin-left: 18pt; font-family: Arial; font-size: 9pt; font-weight: bold;">(iii)&#160; &#160; &#160; &#160;&#160; <u>Customs &amp; Regulatory Compliance</u>&#160; </div>
          <div style="text-align: justify; margin-left: 18pt; font-family: Arial; font-size: 9pt;">Our Customs &amp; Regulatory Compliance solutions<font style="font-weight: bold;">&#160;</font>help companies meet regulatory requirements for international
            shipments and the necessary customs declarations and security initiatives. We offer different methods to transmit shipment information directly to customs authorities or to the carriers who may be compiling data for security filing, which helps
            to ensure the smooth delivery of cargo as it moves through ports and airports, and ultimately to the end customer.</div>
          <div><br>
          </div>
          <div style="text-align: justify; margin-left: 54pt; font-family: Arial; font-size: 9pt; font-style: italic; font-weight: bold;">Descartes Global Cargo Security &#8482;</div>
          <div style="text-align: justify; margin-left: 54pt; font-family: Arial; font-size: 9pt;">For carriers, freight forwarders, NVOCCs and shippers, Descartes Global Cargo Security Suite offers solutions which help customers comply with electronic
            manifest filing initiatives across a broad number of countries that have adopted various advance security filing requirements spanning different modes of transportation. To accommodate customers&#8217; varying technical capabilities, we offer options
            that range from user-friendly web portals that permit manual entry of cargo manifest information through to tightly integrated system-to-system electronic data interchange (&#8220;EDI&#8221;) connections. Descartes&#8217; offerings in this area include the
            Descartes Importer Security Filing&#8482;, Descartes ACI eManifest&#8482;, Descartes Advance Electronic Information (AEI)&#8482;, Descartes ACAS Solution&#8482; and others.</div>
          <div><br>
          </div>
          <div style="text-align: justify; margin-left: 54pt; font-family: Arial; font-size: 9pt; font-style: italic; font-weight: bold;">Descartes Export Compliance&#8482;</div>
          <div style="text-align: justify; margin-left: 54pt; font-family: Arial; font-size: 9pt;">Descartes Export Compliance suite offers denied party screening, license validation and audit for all international trading partners.&#160; Screening parties for
            acceptability for receipt of product and the proper use of export licenses is essential to&#160;support compliance with the US and EU requirements for export.</div>
          <div><br>
          </div>
          <div style="text-align: justify; margin-left: 54pt; font-family: Arial; font-size: 9pt; font-style: italic; font-weight: bold;">Descartes Border Compliance&#8482;</div>
          <div style="text-align: justify; margin-right: 4.5pt; margin-left: 54pt; font-family: Arial; font-size: 9pt;">Descartes Border Compliance provides customs compliance services to assist transportation providers and LSPs with imports and/or exports
            to Canada, the US, India and the Netherlands. Through our Viatrade Service, the GLN offers an enhanced range of services to help carriers and LSPs negotiate increasingly complex document exchange requirements brought about by international
            security initiatives and tightened borders. In addition, Descartes Border Compliance services enable customs brokers to receive electronic manifests and invoices from</div>
          <div id="DSPFPageBreakArea" style="clear: both; margin-top: 10pt; margin-bottom: 10pt;">
            <div style="text-align: center;" id="DSPFPageNumberArea"><font style="font-family: Arial, Helvetica, 'sans-serif'; font-size: 9pt; font-weight: normal; font-style: normal;" id="DSPFPageNumber">20</font></div>
            <div id="DSPFPageBreak" style="page-break-after:always;">
              <hr style="margin: 4px 0px; width: 100%; border-width: 0; height: 2px; color: #000000; background-color: #000000; clear: both;" noshade="noshade"></div>
          </div>
          <div style="text-align: justify; margin-right: 4.5pt; margin-left: 54pt; font-family: Arial; font-size: 9pt;">transportation carriers so that the manifest can be mapped to the Canadian and US customs release systems.</div>
          <div><br>
          </div>
          <div style="text-align: justify; margin-left: 54pt; font-family: Arial; font-size: 9pt; font-style: italic; font-weight: bold;">Descartes Ocean Tariff Compliance&#8482;</div>
          <div style="text-align: justify; margin-left: 54pt; font-family: Arial; font-size: 9pt;">Descartes Ocean Tariff Compliance helps ocean carriers comply with US Federal Maritime Commission requirements, and also helps manage the rate information
            for cargo that moves according to the terms of a privately-negotiated service contract or NVOCC Service Arrangement rather than the public rates of a tariff.</div>
          <div><br>
          </div>
          <div style="text-align: justify; margin-left: 54pt; font-family: Arial; font-size: 9pt; font-style: italic; font-weight: bold;">Descartes Electronic In-Bond&#8482;</div>
          <div style="text-align: justify; margin-left: 54pt; font-family: Arial; font-size: 9pt;">Specifically designed for transportation carriers, Descartes Electronic In-Bond helps transmit the necessary advance electronic cargo information to CBP
            regarding inbound shipments prior to their arrival in the US. Using approved EDI protocols for the transmission of advance cargo information, we help carriers complete the requirements for filing, and receive in-bond movement authorization
            within minutes instead of hours or even days.</div>
          <div><br>
          </div>
          <div style="text-align: justify; margin-left: 54pt; font-family: Arial; font-size: 9pt; font-style: italic; font-weight: bold;">Descartes Customs Warehouse Management&#8482;</div>
          <div style="text-align: justify; margin-left: 54pt; font-family: Arial; font-size: 9pt;">Descartes Customs Warehouse Management solution can play an integral role in simplifying procedures associated with customs warehousing, while taking
            advantage of the maximum available benefits. This on-demand solution is specifically designed to allow users to manage goods stored under the customs warehouse procedure, by storing information on imported goods and accounts, tracking all
            movement and activity, and enabling more accurate and timely electronic declaration processing. Customs warehousing is used by many organizations as a means to suspend/defer import duties and/or value-added tax on goods entering the EU. It is
            an effective and efficient means of enabling importers to choose an optimum time to clear goods and pay duties or re-export them outside of the EU.</div>
          <div><br>
          </div>
          <div style="text-align: justify; margin-left: 54pt; font-family: Arial; font-size: 9pt; font-style: italic; font-weight: bold;">Descartes Global Customs &amp; Transport&#8482;</div>
          <div style="text-align: justify; margin-left: 54pt; font-family: Arial; font-size: 9pt;">Descartes&#8217; Global Customs &amp; Transport (&#8220;GCT&#8221;) suite provides its customers with European-centric customs declaration, security filing, transportation
            management and freight forwarding technology solutions on both a cloud-based basis and a deployed model. The GCT platform supports fiscal customs filings in 18 countries and security filings in all 28 EU member states.</div>
          <div><br>
          </div>
          <div style="text-align: justify; margin-left: 54pt; font-family: Arial; font-size: 9pt; font-style: italic; font-weight: bold;">Descartes Pentant&#8482;</div>
          <div style="text-align: justify; margin-left: 54pt; font-family: Arial; font-size: 9pt;">Descartes Pentant<font style="font-weight: bold; font-style: italic;">&#8482; </font>is a Community System Provider (&#8220;CSP&#8221;) in the UK providing manufacturers,
            retailers, distributors and logistics service provider customers with a reliable and secure connection to both CDS (the UK&#8217;s central system for customs declarations) and the EU&#8217;s ICS to streamline declaration, cargo security and clearance
            processes. Pentant also helps customers meet UK Revenue &amp; Customs requirements for imports and exports to be managed through a fully approved inventory control system for the ports of Dover, Portland, Poole, Plymouth, Teignmouth, Bideford,
            Scrabster, as well as London City and Warton airports.</div>
          <div><br>
          </div>
          <div style="text-align: justify; margin-left: 54pt; font-family: Arial; font-size: 9pt; font-style: italic; font-weight: bold;">Descartes e-customs&#8482;</div>
          <div style="text-align: justify; margin-left: 54pt; font-family: Arial; font-size: 9pt;">Descartes e-customs<font style="font-weight: bold; font-style: italic;">&#8482;</font> is a modular, cloud-based solution offering that helps manufacturers,
            retailers, distributors and logistics service providers to cost-effectively comply with UK and fiscal security filing requirements. It is designed to reduce complexity, increase automation, and facilitate the end-to-end customs declaration
            process. Importers and exporters can leverage default and client-specific standing data, declaration templates, historical filings, on-screen tips and system validations to increase speed and accuracy in the filing process.</div>
          <div><br>
          </div>
          <div style="text-align: justify; margin-left: 18pt; font-family: Arial; font-size: 9pt;"> <font style="font-weight: bold;">(iv)&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; <u>Global Logistics Network Services</u></font> </div>
          <div style="text-align: justify; margin-left: 18pt; font-family: Arial; font-size: 9pt;">GLN services simplify cargo and freight management by providing electronic services to the cargo industry and to companies who engage in international and
            domestic transportation activities. GLN provides a secure and reliable transaction exchange plus connectivity services that include trading partner on-boarding programs, data standards and protocol conversion, transportation-specific document
            compliance, audit and error checking, and archiving. We offer several document management, connectivity and community services, including:</div>
          <div id="DSPFPageBreakArea" style="clear: both; margin-top: 10pt; margin-bottom: 10pt;">
            <div style="text-align: center;" id="DSPFPageNumberArea"><font style="font-family: Arial, Helvetica, 'sans-serif'; font-size: 9pt; font-weight: normal; font-style: normal;" id="DSPFPageNumber">21</font></div>
            <div id="DSPFPageBreak" style="page-break-after:always;">
              <hr style="margin: 4px 0px; width: 100%; border-width: 0; height: 2px; color: #000000; background-color: #000000; clear: both;" noshade="noshade"></div>
          </div>
          <div style="text-align: justify; margin-left: 54pt; font-family: Arial; font-size: 9pt; font-style: italic; font-weight: bold;">Descartes CargoAssist&#8482;</div>
          <div style="text-align: justify; margin-left: 53.85pt; font-family: Arial; font-size: 9pt;">Freight forwarders use Descartes CargoAssist to improve freight booking, send electronic waybills and ensure that consignments are handled quickly and
            efficiently at freight terminals around the world. We provide freight forwarders with access that connects them with their customers and logistics partners.</div>
          <div><br>
          </div>
          <div style="text-align: justify; margin-left: 54pt; font-family: Arial; font-size: 9pt; font-style: italic; font-weight: bold;">Descartes e-Pouch&#8482;</div>
          <div style="text-align: justify; margin-left: 54pt; font-family: Arial; font-size: 9pt;">As part of the Descartes air cargo solution suite, Descartes e-Pouch integrates with applications for bookings, shipment monitoring, quality performance
            reporting and customs filing to provide a central repository that enhances electronic document exchange connections between back-office system and trading partners. Descartes e-Pouch provides users with the functionality to facilitate the
            sharing of information with approved parties, automate routine interactions, help flag problems at an early stage and provide a repository for retrieval of completed deliveries.</div>
          <div><br>
          </div>
          <div style="text-align: justify; margin-left: 54pt; font-family: Arial; font-size: 9pt; font-style: italic; font-weight: bold;">Descartes webDocs&#8482;</div>
          <div style="text-align: justify; margin-left: 54pt; font-family: Arial; font-size: 9pt;">Freight forwarders use Descartes webDocs web forms to help improve air freight booking processes, send electronic waybills and distribute freight messages
            with the required information directly to the air carriers. Descartes webDocs gives forwarders access to electronic web forms that enables quick and easy creation of the various documents and electronic messages that are dictated by the
            industry, such as the International Air Transport Association&#8217;s (&#8220;IATA&#8221;) e-freight requirements. The solution also provides forwarders with the ability to easily create messaging documents such as master airway bill, house airway bill and
            labels and transmit these documents electronically to the air carrier.</div>
          <div><br>
          </div>
          <div style="text-align: justify; margin-left: 54pt; font-family: Arial; font-size: 9pt; font-style: italic; font-weight: bold;">Descartes Data Integrity Services&#8482;</div>
          <div style="text-align: justify; margin-left: 54pt; font-family: Arial; font-size: 9pt;">Descartes Data Integrity Services continuously monitors messages and their delivery to trading partners to identify and report errors. Once an error is
            identified, we contact trading partners and coordinate the correction of inaccuracies and re-submission of corrected data. The service also provides periodic summary reports by trading partner, message type and error type.</div>
          <div><br>
          </div>
          <div style="text-align: justify; margin-left: 54pt; font-family: Arial; font-size: 9pt; font-style: italic; font-weight: bold;">Descartes Cargo iQ&#8482; (formerly Cargo 2000&#8482;)</div>
          <div style="text-align: justify; margin-left: 54pt; font-family: Arial; font-size: 9pt;">Descartes Cargo iQ allows customers to monitor shipments at a master air waybill level from airport to airport, assisting customers in complying with IATA
            Cargo 2000 certification process. Information provided by the system includes quality report compilation, shipment status, exception alerts, route map creation, and departure time reporting. This information enables better decision-making for
            fulfilling customer expectations and ensures standardized processes for improved service levels.</div>
          <div><br>
          </div>
          <div style="text-align: justify; margin-left: 54pt; font-family: Arial; font-size: 9pt; font-style: italic; font-weight: bold;">Descartes Carrier Portal&#8482;</div>
          <div style="text-align: justify; margin-left: 54pt; font-family: Arial; font-size: 9pt;">Descartes Carrier Portal is a cost-effective and efficient solution designed to help carriers without EDI capabilities, shippers, and freight payment
            agencies (&#8220;FPAs&#8221;) realize all the benefits of EDI capabilities without the complexity of in-house solutions. The solution is a web-based information service that facilitates the collaboration and automation of load tendering and freight payment
            between highway carriers and shippers (or FPAs representing them). The carrier portal bridges the gap between EDI-enabled back office systems of shippers and FPAs and less automated carriers.</div>
          <div><br>
          </div>
          <div style="text-align: justify; margin-left: 54pt; font-family: Arial; font-size: 9pt; font-style: italic; font-weight: bold;">Descartes Supplier Portal&#8482;</div>
          <div style="text-align: justify; margin-left: 54pt; font-family: Arial; font-size: 9pt;">Descartes Supplier Portal enables suppliers without EDI capabilities to electronically communicate and collaborate with EDI enabled carriers, logistics
            service providers and shippers by providing capabilities to schedule pick-ups, automate tendering, and track the status of shipments.</div>
          <div><br>
          </div>
          <div style="text-align: justify; margin-left: 53.85pt; font-family: Arial; font-size: 9pt; font-style: italic; font-weight: bold;">Descartes GLN eArchiving&#8482;</div>
          <div style="text-align: justify; margin-left: 53.85pt; font-family: Arial; font-size: 9pt;">Descartes GLN eArchiving enables customers to store and archive electronic documents in an &#8220;electronic safe&#8221;. This electronic safe is accessible from the
            GLN via which relevant documents</div>
          <div id="DSPFPageBreakArea" style="clear: both; margin-top: 10pt; margin-bottom: 10pt;">
            <div style="text-align: center;" id="DSPFPageNumberArea"><font style="font-family: Arial, Helvetica, 'sans-serif'; font-size: 9pt; font-weight: normal; font-style: normal;" id="DSPFPageNumber">22</font></div>
            <div id="DSPFPageBreak" style="page-break-after:always;">
              <hr style="margin: 4px 0px; width: 100%; border-width: 0; height: 2px; color: #000000; background-color: #000000; clear: both;" noshade="noshade"></div>
          </div>
          <div style="text-align: justify; margin-left: 53.85pt; font-family: Arial; font-size: 9pt;">can be forwarded to customer&#8217;s data warehouse to comply with standards and document retention policies.</div>
          <div><br>
          </div>
          <div style="text-align: justify; margin-left: 54pt; font-family: Arial; font-size: 9pt; font-style: italic; font-weight: bold;">Descartes Port Community Services&#8482;</div>
          <div style="text-align: justify; margin-left: 54pt; font-family: Arial; font-size: 9pt;">Descartes Port Community Services assist in improving cargo clearance and management operations for local port communities and their trading partners by
            connecting and streamlining information exchange between ocean carriers, inland carriers, forwarders, shippers, terminal operators, and port and customs authorities.</div>
          <div><br>
          </div>
          <div style="text-align: justify; margin-left: 54pt; font-family: Arial; font-size: 9pt; font-style: italic; font-weight: bold;">Descartes Global Data Catalog Connect&#8482;</div>
          <div style="text-align: justify; margin-left: 54pt; font-family: Arial; font-size: 9pt;">Descartes&#8217; Global Data Catalog Connect provides retail/supplier collaboration, product catalog management and electronic business-to-business messaging. It
            is a web-based application that helps in the upload, management and exchange of data. It offers the ability to integrate with industry standard data pools like GS1DAS for automation of electronic product catalogue functionality.</div>
          <div><br>
          </div>
          <div style="text-align: justify; margin-left: 54pt; font-family: Arial; font-size: 9pt; font-style: italic; font-weight: bold;">Descartes B2B Integration&#8482;</div>
          <div style="text-align: justify; margin-left: 54pt; font-family: Arial; font-size: 9pt;">Descartes B2B Integration&#8482; solution provides cloud-based supply chain connectivity capabilities to a wide range of systems and platforms using most any
            protocol or method. Our advanced solutions automate supply chain processes, enhance collaboration and add visibility among global trading partners. Users can benefit from cost-effective transaction management, automated purchase to pay
            capabilities, connectivity to multiple ERP systems and more.</div>
          <div><br>
          </div>
          <div style="text-align: justify; margin-left: 54pt; font-family: Arial; font-size: 9pt; font-style: italic; font-weight: bold;">Descartes STEPCom&#8482;</div>
          <div style="text-align: justify; margin-left: 54pt; font-family: Arial; font-size: 9pt;">Descartes STEPcom connects B2B trading partners to enable the collaboration and exchange of electronic data, automation of supply chain processes and
            management of a wide array of complex, mission-critical documents used in procure-to-pay and order-to-cash processes.</div>
          <div><br>
          </div>
          <div style="text-align: justify; margin-left: 54pt; font-family: Arial; font-size: 9pt; font-style: italic; font-weight: bold;">Descartes Velocity Mail&#8482;</div>
          <div style="text-align: justify; margin-left: 54pt; font-family: Arial; font-size: 9pt;">Descartes Velocity Mail is an air mail and parcel management and tracking solution that leverages mobile devices to automate the entire air mail process from
            route generation to accounting reconciliation with real-time tracking and delivery visibility.</div>
          <div><br>
          </div>
          <div style="text-align: justify; margin-left: 54pt; font-family: Arial; font-size: 9pt; font-style: italic; font-weight: bold;">Descartes COREInsight&#8482;</div>
          <div style="text-align: justify; margin-left: 54pt; font-family: Arial; font-size: 9pt;">Descartes COREInsight is a suite of supply chain applications that provides transportation management and tracking capabilities for air cargo shipments and
            assets.</div>
          <div style="text-align: justify;">
            <div>
              <table id="z24dc272b911e49679d95286f406681be" class="DSPFListTable" style="font-family: 'Times New Roman', Times, serif; font-size: 10pt; width: 100%; text-align: left; color: #000000;" cellpadding="0" cellspacing="0">

                  <tr>
                    <td style="width: 72pt;"><br>
                    </td>
                    <td style="width: 18pt; vertical-align: top; align: right; font-family: Arial; font-size: 9pt;">&#8226;</td>
                    <td style="width: auto; vertical-align: top; text-align: justify;">
                      <div style="font-family: Arial; font-size: 9pt;">COREInsight Postal manages the process of mail and postal product movement for domestic and international air mail. It provides airlines with operational visibility of mail moving in
                        their network, as well as financial forecasting and performance insights.</div>
                    </td>
                  </tr>

              </table>
            </div>
          </div>
          <div style="text-align: justify;">
            <div>
              <table id="z800797b1c8d947fc889fe5cd6a18ea2c" class="DSPFListTable" style="font-family: 'Times New Roman', Times, serif; font-size: 10pt; width: 100%; text-align: left; color: #000000;" cellpadding="0" cellspacing="0">

                  <tr>
                    <td style="width: 72pt;"><br>
                    </td>
                    <td style="width: 18pt; vertical-align: top; align: right; font-family: Arial; font-size: 9pt;">&#8226;</td>
                    <td style="width: auto; vertical-align: top; text-align: justify;">
                      <div style="font-family: Arial; font-size: 9pt;">COREInsight ULD solution provides real-time tracking of unit load devices (ULD), a specialized container used for air cargo, as well as the freight contained in each ULD. The solution
                        helps carriers better match capacity with ULD inventory, reduce ULD fleet losses, and reduce costs associated with misplaced equipment or the requirement to lease additional ULDs.</div>
                    </td>
                  </tr>

              </table>
            </div>
          </div>
          <div><br>
          </div>
          <div style="text-align: justify; margin-left: 18pt; font-family: Arial; font-size: 9pt;"> <font style="font-weight: bold;">(v)&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; <u>Broker &amp; Forwarder Enterprise Systems</u></font></div>
          <div style="text-align: justify; margin-left: 18pt; font-family: Arial; font-size: 9pt;">Descartes&#8217; Broker &amp; Forwarder Enterprise Systems are designed to help brokers and forwarders more efficiently run complex international operations. Our
            on-demand solutions enable large and small organizations to take advantage of robust capabilities for bookings, security filings and customs entries, shipment and financial management. They automate the collection of shared data and multi-party
            shipment processes as well as help brokers and forwarders extend the command of operations with their logistics partners to help meet their delivery performance objectives.</div>
          <div><br>
          </div>
          <div style="text-align: justify; margin-left: 54pt; font-family: Arial; font-size: 9pt; font-style: italic; font-weight: bold;">Descartes ITMR4&#8482; Canadian Customs Brokerage Suite</div>
          <div style="text-align: justify; margin-left: 54pt; font-family: Arial; font-size: 9pt;">Descartes ITMR4 Canadian Customs Brokerage Suite is an on-demand, enterprise level software solution that handles functions that a customs broker, freight
            forwarder or self-filing importer typically uses to manage its operations. Those operations include documentation</div>
          <div id="DSPFPageBreakArea" style="clear: both; margin-top: 10pt; margin-bottom: 10pt;">
            <div style="text-align: center;" id="DSPFPageNumberArea"><font style="font-family: Arial, Helvetica, 'sans-serif'; font-size: 9pt; font-weight: normal; font-style: normal;" id="DSPFPageNumber">23</font></div>
            <div id="DSPFPageBreak" style="page-break-after:always;">
              <hr style="margin: 4px 0px; width: 100%; border-width: 0; height: 2px; color: #000000; background-color: #000000; clear: both;" noshade="noshade"></div>
          </div>
          <div style="text-align: justify; margin-left: 54pt; font-family: Arial; font-size: 9pt;">filing, accounting, financial reports, imaging, e-billing and web tools for tracking and tracing, reporting and data entry related to Canadian customs
            declarations.</div>
          <div><br>
          </div>
          <div style="text-align: justify; margin-left: 53.85pt; font-family: Arial; font-size: 9pt; font-style: italic; font-weight: bold;">Descartes EDItrade&#8482; Customs Link</div>
          <div style="text-align: justify; margin-left: 53.85pt; font-family: Arial; font-size: 9pt;">Descartes EDItrade Customs Link<font style="font-weight: bold; font-style: italic;">&#160;</font>allows custom brokers and self-filing importers to collect
            data and prepare it for US customs ACE entries, including cargo release, remote location filing and post-entry compliance and supportive modules and the range of PGA documentation and data requirements to streamline the customs process and
            create accurate declarations.</div>
          <div><br>
          </div>
          <div style="text-align: justify; margin-left: 53.85pt; font-family: Arial; font-size: 9pt; font-style: italic; font-weight: bold;">Descartes European Brokerage and Declaration</div>
          <div style="text-align: justify; margin-left: 53.85pt; font-family: Arial; font-size: 9pt;">Descartes European Brokerage &amp; Declaration helps simplify the complexities of customs clearance in the European market. Descartes&#8217; solution is
            Authorized Economic Operator compliant. It has a variety of modules to handle export management, import management, creation of the Single Administrative Document for normal or simplified procedures, incoming and outgoing transit declarations,
            connectivity to the New Computerized Transit System and facilitates compliance with different member state customs authorities&#8217; requirements.</div>
          <div><br>
          </div>
          <div style="text-align: justify; margin-left: 53.85pt; font-family: Arial; font-size: 9pt; font-style: italic; font-weight: bold;">Descartes OneView&#8482; Forwarder Enterprise &amp; Customs House Brokerage Solution</div>
          <div style="text-align: justify; margin-left: 53.85pt; font-family: Arial; font-size: 9pt;">Descartes OneView Forwarder Enterprise &amp; Customs House Brokerage Solution allows freight forwarders, NVOCCs and third-party logistics service
            providers to effectively coordinate air, truck and ocean import/export shipments. It supports end-to-end planning and execution of international shipments, including leveraging system data to prepare and submit customs entries and cargo
            security filings to CBP.</div>
          <div><br>
          </div>
          <div style="text-align: justify; margin-left: 53.85pt; font-family: Arial; font-size: 9pt; font-style: italic; font-weight: bold;">Descartes ForwarderLogic&#8482;</div>
          <div style="text-align: justify; margin-left: 53.85pt; font-family: Arial; font-size: 9pt;">Descartes ForwarderLogic is a cloud-based solution that provides comprehensive back-office functionality and real-time information exchange for LSPs
            handling all modes (air, ocean and land), inland/international import and export shipments from purchase orders all the way through to final delivery.</div>
          <div><br>
          </div>
          <div style="text-align: justify; margin-left: 53.85pt; font-family: Arial; font-size: 9pt; font-style: italic; font-weight: bold;">Descartes Shipment Portal&#8482;</div>
          <div style="text-align: justify; margin-left: 53.85pt; font-family: Arial; font-size: 9pt;">Descartes Shipment Portal&#8482; is a web-based portal that helps forwarders and shippers collaborate for shipment creation and status tracking throughout the
            shipment&#8217;s lifecycle. Powered by the Descartes GLN with extensive existing EDI connectivity, the solution aggregates information from these parties and enables forwarders and their customers to build dashboard views of their transportation
            portfolio for up-to-the minute information on a wide range of data points. The solution also features purchase order management tools that support extensive collaboration between shippers, suppliers and transportation providers, and centralizes
            transportation request processes so forwarders can offer their customers a single point for up-to-date information on their global shipments<font style="font-weight: bold; font-style: italic;">.</font></div>
          <div><br>
          </div>
          <div style="text-align: justify; margin-left: 18pt; font-family: Arial; font-size: 9pt; font-weight: bold;"> (vi)&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; <u>Global Trade Content Solutions &amp; Services</u></div>
          <div style="text-align: justify; margin-left: 18pt; font-family: Arial; font-size: 9pt;">Descartes&#8217; global trade content solutions help customers research and make informed supply chain decisions; monitor and evaluate potential growth
            opportunities, logistics partners, and competitors; classify goods appropriately to ensure compliance while minimizing duties and tariffs; and reduce the risk of transacting business with denied parties while establishing an audit trail of
            reasonable care practices. Global trade content from Descartes can also be used on a service basis, to directly populate ERP and global trade management systems to enhance automation and compliance processes.</div>
          <div><br>
          </div>
          <div style="text-align: justify; margin-left: 53.85pt; font-family: Arial; font-size: 9pt; font-style: italic; font-weight: bold;">Descartes Customs Info&#8482;</div>
          <div style="text-align: justify; margin-left: 53.85pt; font-family: Arial; font-size: 9pt;">Descartes Customs Info helps customers research and make better classification decisions while providing a record of the process to support classification
            determinations. This robust global trade content offering provides various levels of access to millions of reference documents, including cross-referenced and searchable duty rates, customs rulings, regulations, WCO Explanatory Notes, WCO
            Opinions, Commodity Export Codes, Other Government Agency information, Customs Directives, Export Control Classification Number locators and more<font style="font-style: italic;">.</font></div>
          <div id="DSPFPageBreakArea" style="clear: both; margin-top: 10pt; margin-bottom: 10pt;">
            <div style="text-align: center;" id="DSPFPageNumberArea"><font style="font-family: Arial, Helvetica, 'sans-serif'; font-size: 9pt; font-weight: normal; font-style: normal;" id="DSPFPageNumber">24</font></div>
            <div id="DSPFPageBreak" style="page-break-after:always;">
              <hr style="margin: 4px 0px; width: 100%; border-width: 0; height: 2px; color: #000000; background-color: #000000; clear: both;" noshade="noshade"></div>
          </div>
          <div style="text-align: justify; margin-left: 53.85pt; font-family: Arial; font-size: 9pt; font-style: italic; font-weight: bold;">Descartes Datamyne&#8482;</div>
          <div style="text-align: justify; margin-left: 53.85pt; font-family: Arial; font-size: 9pt;">With a comprehensive database of accurate, up-to-date import-export information, Descartes Datamyne delivers actionable intelligence for market research,
            sales insight, supply chain management, enhanced security and competitive strategy. The Descartes Datamyne solution includes one of the largest searchable resources of trade activity. Manufacturers, shippers, wholesalers, transport and
            logistics service providers, management consultants, legal practitioners, industry analysts and others use this data and the analysis tools to evaluate growth strategies, explore new markets, benchmark performance, monitor commodity volumes and
            values, simplify trade data research, discover buyer-seller relationships and refine sourcing strategies.</div>
          <div><br>
          </div>
          <div style="text-align: justify; margin-left: 53.85pt; font-family: Arial; font-size: 9pt; font-style: italic; font-weight: bold;">Descartes MK Denied Party Screening&#8482;</div>
          <div style="text-align: justify; margin-left: 53.85pt; font-family: Arial; font-size: 9pt;">Descartes MK Denied Party Screening provides easy-to-use options to quickly and efficiently screen customers, suppliers and trading partners against a
            comprehensive database of international restricted and denied party lists. Customers can tailor screening processes to fit their unique risk parameters and flag potential compliance issues for resolution.</div>
          <div><br>
          </div>
          <div style="text-align: justify; margin-left: 53.85pt; font-family: Arial; font-size: 9pt; font-style: italic; font-weight: bold;">Descartes Visual Compliance&#8482;</div>
          <div style="text-align: justify; margin-left: 53.85pt; font-family: Arial; font-size: 9pt;">Descartes Visual Compliance offers more robust solutions for restricted and denied party screening, classification, automation, and export license
            management. These intuitive solutions to enhance compliance and mitigate risk include capabilities for integrated screening, visually-driven compliance workflow management, and robust export control and documentation.</div>
          <div><br>
          </div>
          <div style="font-family: Arial; font-size: 9pt; font-weight: bold;"><u>Consulting, Implementation and Training Services</u></div>
          <div><br>
          </div>
          <div style="text-align: justify; font-family: Arial; font-size: 9pt;">Our consulting team provide a variety of professional services to customers. These services include project management and consulting services to assist in configuration,
            implementation and deployment of our solutions. We offer a variety of site-specific technical and consulting services to assist in all phases of the implementation process. We also provide assistance in integrating our products with the
            customer's existing software. In addition, we offer training services that provide customers with a formalized program to ensure that applications are implemented and utilized in an efficient and cost-effective manner.</div>
          <div><br>
          </div>
          <div style="font-family: Arial; font-size: 9pt; font-weight: bold;"><u>Customer Service and Support and Maintenance</u></div>
          <div><br>
          </div>
          <div style="text-align: justify; font-family: Arial; font-size: 9pt;">We provide worldwide support to our customers through our central support system. Our customer support program is conducted via telephone, online customer portal and/or email
            and with our extended support options can be available 24-hours-a-day, 7-days-per-week.</div>
          <div style="text-align: justify;"><br>
          </div>
          <div style="text-align: justify;"><font style="font-size: 9pt; font-family: Arial; font-weight: bold;">4.3</font>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;<font style="font-size: 9pt; font-family: Arial; font-weight: bold;">Revenue Sources</font></div>
          <div style="text-align: justify; font-family: Arial; font-size: 9pt;">We generate our revenues from sales of each of the services and products identified in the previous section, which are sometimes sold on a stand-alone basis and sometimes sold
            as bundles of services and products. As such, we do not measure our revenues by the particular services or products referenced above. Instead, we measure our revenue performance based on whether the customer is buying a license to our
            technology or is buying technology services or other services from us. Based on this, our revenues are measured in three categories: license revenues; services revenues; and professional services and other revenues. Services revenues are
            comprised of ongoing transactional and/or subscription fees for use of our services and products by our customers and maintenance fees, which include revenues associated with our provision of maintenance and support for our services and
            products. Professional services and other revenues are comprised of professional services revenues from consulting, implementation and training services related to our services and products, hardware revenues and other revenues.</div>
          <div><br>
          </div>
          <div id="DSPFPageBreakArea" style="clear: both; margin-top: 10pt; margin-bottom: 10pt;">
            <div style="text-align: center;" id="DSPFPageNumberArea"><font style="font-family: Arial, Helvetica, 'sans-serif'; font-size: 9pt; font-weight: normal; font-style: normal;" id="DSPFPageNumber">25</font></div>
            <div id="DSPFPageBreak" style="page-break-after:always;">
              <hr style="margin: 4px 0px; width: 100%; border-width: 0; height: 2px; color: #000000; background-color: #000000; clear: both;" noshade="noshade"></div>
          </div>
          <div style="text-align: justify; font-family: Arial; font-size: 9pt;">We review our operating results, assess our performance, make decisions about resources, and generate discrete financial information at the single enterprise level.
            Accordingly, we have determined that we operate in one business segment providing logistics technology solutions. The following table provides revenue information by revenue source for fiscal 2020 and 2019:</div>
          <div><br>
          </div>
          <table id="z8e257f77c7a946f3be0658422adecea6" style="font-family: 'Times New Roman', Times, serif; font-size: 10pt; width: 100%; border-collapse: collapse; text-align: left; color: #000000;" border="0" cellpadding="0" cellspacing="0">

              <tr>
                <td style="width: 34%; vertical-align: top; border-top: 1px solid rgb(0, 0, 0);" rowspan="3">
                  <div style="font-family: Arial; font-size: 9pt; font-weight: bold;">Revenues</div>
                </td>
                <td style="vertical-align: top; border-top: 1px solid rgb(0, 0, 0); border-bottom: 1px solid rgb(0, 0, 0);" colspan="4">
                  <div style="text-align: center; margin-right: 12pt; font-family: Arial; font-size: 9pt;">Fiscal year ended January 31</div>
                </td>
              </tr>
              <tr>
                <td style="vertical-align: top; border-right: 1px solid rgb(0, 0, 0); border-top: 1px solid rgb(0, 0, 0); border-bottom: 1px solid rgb(0, 0, 0);" colspan="2">
                  <div style="text-align: center; margin-right: 12pt; font-family: Arial; font-size: 9pt;">2020</div>
                </td>
                <td style="vertical-align: top; border-left: 1px solid rgb(0, 0, 0); border-top: 1px solid rgb(0, 0, 0); border-bottom: 1px solid rgb(0, 0, 0);" colspan="2">
                  <div style="text-align: center; margin-right: 12pt; font-family: Arial; font-size: 9pt;">2019</div>
                </td>
              </tr>
              <tr>
                <td style="width: 15%; vertical-align: top; border-top: 1px solid rgb(0, 0, 0);">
                  <div style="text-align: right; margin-right: 12pt; font-family: Arial; font-size: 9pt;">Amount</div>
                  <div style="text-align: right; margin-right: 12.25pt; font-family: Arial; font-size: 9pt;">(in millions)</div>
                </td>
                <td style="width: 18%; vertical-align: top; border-right: 1px solid rgb(0, 0, 0); border-top: 1px solid rgb(0, 0, 0);">
                  <div style="text-align: right; margin-right: 12pt; font-family: Arial; font-size: 9pt;">Percentage of </div>
                  <div style="text-align: right; margin-right: 12pt; font-family: Arial; font-size: 9pt;"> Total Revenues</div>
                </td>
                <td style="width: 15%; vertical-align: top; border-left: 1px solid rgb(0, 0, 0); border-top: 1px solid rgb(0, 0, 0);">
                  <div style="text-align: right; margin-right: 12pt; font-family: Arial; font-size: 9pt;">Amount</div>
                  <div style="text-align: right; margin-right: 12.25pt; font-family: Arial; font-size: 9pt;">(in millions)</div>
                </td>
                <td style="width: 18%; vertical-align: top; border-top: 1px solid rgb(0, 0, 0);">
                  <div style="text-align: right; margin-right: 12pt; font-family: Arial; font-size: 9pt;">Percentage of </div>
                  <div style="text-align: right; margin-right: 12pt; font-family: Arial; font-size: 9pt;">Total Revenues</div>
                </td>
              </tr>
              <tr>
                <td style="width: 34%; vertical-align: top; border-top: 1px solid rgb(0, 0, 0); border-bottom: 1px solid rgb(0, 0, 0);">
                  <div style="font-family: Arial; font-size: 9pt;">License</div>
                </td>
                <td style="width: 15%; vertical-align: middle; border-top: 1px solid rgb(0, 0, 0);">
                  <div style="text-align: right; margin-right: 12pt; font-family: Arial; font-size: 9pt;">$7.5</div>
                </td>
                <td style="width: 18%; vertical-align: middle; border-right: 1px solid rgb(0, 0, 0); border-top: 1px solid rgb(0, 0, 0);">
                  <div style="text-align: right; margin-right: 12pt; font-family: Arial; font-size: 9pt;">2%</div>
                </td>
                <td style="width: 15%; vertical-align: middle; border-left: 1px solid rgb(0, 0, 0); border-top: 1px solid rgb(0, 0, 0);">
                  <div style="text-align: right; margin-right: 12pt; font-family: Arial; font-size: 9pt;">$5.9</div>
                </td>
                <td style="width: 18%; vertical-align: middle; border-top: 1px solid rgb(0, 0, 0);">
                  <div style="text-align: right; margin-right: 12pt; font-family: Arial; font-size: 9pt;">2%</div>
                </td>
              </tr>
              <tr>
                <td style="width: 34%; vertical-align: top; border-top: 1px solid rgb(0, 0, 0); border-bottom: 1px solid rgb(0, 0, 0);">
                  <div style="font-family: Arial; font-size: 9pt;">Services</div>
                </td>
                <td style="width: 15%; vertical-align: middle; border-top: 1px solid rgb(0, 0, 0);">
                  <div style="text-align: right; margin-right: 12pt; font-family: Arial; font-size: 9pt;">284.7</div>
                </td>
                <td style="width: 18%; vertical-align: middle; border-right: 1px solid rgb(0, 0, 0); border-top: 1px solid rgb(0, 0, 0);">
                  <div style="text-align: right; margin-right: 12pt; font-family: Arial; font-size: 9pt;">88%</div>
                </td>
                <td style="width: 15%; vertical-align: middle; border-left: 1px solid rgb(0, 0, 0); border-top: 1px solid rgb(0, 0, 0);">
                  <div style="text-align: right; margin-right: 12pt; font-family: Arial; font-size: 9pt;">241.5</div>
                </td>
                <td style="width: 18%; vertical-align: middle; border-top: 1px solid rgb(0, 0, 0);">
                  <div style="text-align: right; margin-right: 12pt; font-family: Arial; font-size: 9pt;">88%</div>
                </td>
              </tr>
              <tr>
                <td style="width: 34%; vertical-align: top; border-top: 1px solid rgb(0, 0, 0);">
                  <div style="font-family: Arial; font-size: 9pt;">Professional services and other</div>
                </td>
                <td style="width: 15%; vertical-align: top; border-top: 1px solid rgb(0, 0, 0);">
                  <div style="text-align: right; margin-right: 12pt; font-family: Arial; font-size: 9pt;">33.6</div>
                </td>
                <td style="width: 18%; vertical-align: top; border-right: 1px solid rgb(0, 0, 0); border-top: 1px solid rgb(0, 0, 0);">
                  <div style="text-align: right; margin-right: 12pt; font-family: Arial; font-size: 9pt;">10%</div>
                </td>
                <td style="width: 15%; vertical-align: top; border-left: 1px solid rgb(0, 0, 0); border-top: 1px solid rgb(0, 0, 0);">
                  <div style="text-align: right; margin-right: 12pt; font-family: Arial; font-size: 9pt;">27.8</div>
                </td>
                <td style="width: 18%; vertical-align: top; border-top: 1px solid rgb(0, 0, 0);">
                  <div style="text-align: right; margin-right: 12pt; font-family: Arial; font-size: 9pt;">10%</div>
                </td>
              </tr>
              <tr>
                <td style="width: 34%; vertical-align: top; border-top: 1px solid rgb(0, 0, 0); border-bottom: 1px solid rgb(0, 0, 0);">
                  <div style="font-family: Arial; font-size: 9pt; font-weight: bold;">Total revenues</div>
                </td>
                <td style="width: 15%; vertical-align: top; border-top: 1px solid rgb(0, 0, 0); border-bottom: 1px solid rgb(0, 0, 0);">
                  <div style="text-align: right; margin-right: 12pt; font-family: Arial; font-size: 9pt; font-weight: bold;">$325.8</div>
                </td>
                <td style="width: 18%; vertical-align: top; border-right: 1px solid rgb(0, 0, 0); border-top: 1px solid rgb(0, 0, 0); border-bottom: 1px solid rgb(0, 0, 0);">
                  <div style="text-align: right; margin-right: 12pt; font-family: Arial; font-size: 9pt; font-weight: bold;">100%</div>
                </td>
                <td style="width: 15%; vertical-align: top; border-left: 1px solid rgb(0, 0, 0); border-top: 1px solid rgb(0, 0, 0); border-bottom: 1px solid rgb(0, 0, 0);">
                  <div style="text-align: right; margin-right: 12pt; font-family: Arial; font-size: 9pt; font-weight: bold;">$275.2</div>
                </td>
                <td style="width: 18%; vertical-align: top; border-top: 1px solid rgb(0, 0, 0); border-bottom: 1px solid rgb(0, 0, 0);">
                  <div style="text-align: right; margin-right: 12pt; font-family: Arial; font-size: 9pt; font-weight: bold;">100%</div>
                </td>
              </tr>

          </table>
          <div><br>
          </div>
          <div style="text-align: justify;"><font style="font-size: 9pt; font-family: Arial; font-weight: bold;">4.4</font>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;<font style="font-size: 9pt; font-family: Arial; font-weight: bold;">Customer Base</font></div>
          <div style="text-align: justify; font-family: Arial; font-size: 9pt;">Our customers are globally diverse, located in the Americas, Europe, Middle East and Africa (&#8220;EMEA&#8221;) and Asia Pacific regions. Our customers range from small- and medium-sized
            enterprises to established &#8220;blue-chip&#8221; leaders across a variety of industry verticals. We have a large customer base of transportation carriers, third-party logistics providers, freight forwarders, NVOCCs and customs brokers. Other customers
            include government customs and census agencies, manufacturers, retailers, consumer products suppliers, wholesale distributors, and companies in industries such as healthcare, recycling/waste management, pharmaceuticals and oil and gas.</div>
          <div><br>
          </div>
          <div style="text-align: justify; font-family: Arial; font-size: 9pt;">The following table provides revenue information by geographic region based on the location of our customers:</div>
          <div><br>
          </div>
          <table id="za1236cc2a0c94b1198cacf307a340c16" style="font-family: 'Times New Roman', Times, serif; font-size: 10pt; width: 100%; border-collapse: collapse; text-align: left; color: #000000;" border="0" cellpadding="0" cellspacing="0">

              <tr>
                <td style="width: 34%; vertical-align: top; border-top: 1px solid rgb(0, 0, 0);" rowspan="3">
                  <div style="font-family: Arial; font-size: 9pt; font-weight: bold;">Revenues</div>
                </td>
                <td style="vertical-align: top; border-top: 1px solid rgb(0, 0, 0); border-bottom: 1px solid rgb(0, 0, 0);" colspan="4">
                  <div style="text-align: center; margin-right: 12pt; font-family: Arial; font-size: 9pt;">Fiscal year ended January 31</div>
                </td>
              </tr>
              <tr>
                <td style="vertical-align: top; border-right: 1px solid rgb(0, 0, 0); border-top: 1px solid rgb(0, 0, 0); border-bottom: 1px solid rgb(0, 0, 0);" colspan="2">
                  <div style="text-align: center; margin-right: 12pt; font-family: Arial; font-size: 9pt;">2020</div>
                </td>
                <td style="vertical-align: top; border-left: 1px solid rgb(0, 0, 0); border-top: 1px solid rgb(0, 0, 0); border-bottom: 1px solid rgb(0, 0, 0);" colspan="2">
                  <div style="text-align: center; margin-right: 12pt; font-family: Arial; font-size: 9pt;">2019</div>
                </td>
              </tr>
              <tr>
                <td style="width: 15%; vertical-align: top; border-top: 1px solid rgb(0, 0, 0);">
                  <div style="text-align: right; margin-right: 12pt; font-family: Arial; font-size: 9pt;">Amount</div>
                  <div style="text-align: right; margin-right: 12.25pt; font-family: Arial; font-size: 9pt;">(in millions)</div>
                </td>
                <td style="width: 18%; vertical-align: top; border-right: 1px solid rgb(0, 0, 0); border-top: 1px solid rgb(0, 0, 0);">
                  <div style="text-align: right; margin-right: 12pt; font-family: Arial; font-size: 9pt;">Percentage of</div>
                  <div style="text-align: right; margin-right: 12pt; font-family: Arial; font-size: 9pt;"> Total Revenues</div>
                </td>
                <td style="width: 15%; vertical-align: top; border-left: 1px solid rgb(0, 0, 0); border-top: 1px solid rgb(0, 0, 0);">
                  <div style="text-align: right; margin-right: 12pt; font-family: Arial; font-size: 9pt;">Amount</div>
                  <div style="text-align: right; margin-right: 12.25pt; font-family: Arial; font-size: 9pt;">(in millions)</div>
                </td>
                <td style="width: 18%; vertical-align: top; border-top: 1px solid rgb(0, 0, 0);">
                  <div style="text-align: right; margin-right: 12pt; font-family: Arial; font-size: 9pt;">Percentage of</div>
                  <div style="text-align: right; margin-right: 12pt; font-family: Arial; font-size: 9pt;"> Total Revenues</div>
                </td>
              </tr>
              <tr>
                <td style="width: 34%; vertical-align: top; border-top: 1px solid rgb(0, 0, 0); border-bottom: 1px solid rgb(0, 0, 0);">
                  <div style="font-family: Arial; font-size: 9pt;">United States</div>
                </td>
                <td style="width: 15%; vertical-align: middle; border-top: 1px solid rgb(0, 0, 0);">
                  <div style="text-align: right; margin-right: 12pt; font-family: Arial; font-size: 9pt;">$202.8</div>
                </td>
                <td style="width: 18%; vertical-align: middle; border-right: 1px solid rgb(0, 0, 0); border-top: 1px solid rgb(0, 0, 0);">
                  <div style="text-align: right; margin-right: 12pt; font-family: Arial; font-size: 9pt;">62%</div>
                </td>
                <td style="width: 15%; vertical-align: middle; border-left: 1px solid rgb(0, 0, 0); border-top: 1px solid rgb(0, 0, 0);">
                  <div style="text-align: right; margin-right: 12pt; font-family: Arial; font-size: 9pt;">$165.1</div>
                </td>
                <td style="width: 18%; vertical-align: middle; border-top: 1px solid rgb(0, 0, 0);">
                  <div style="text-align: right; margin-right: 12pt; font-family: Arial; font-size: 9pt;">60%</div>
                </td>
              </tr>
              <tr>
                <td style="width: 34%; vertical-align: top; border-top: 1px solid rgb(0, 0, 0);">
                  <div style="font-family: Arial; font-size: 9pt;">Europe, Middle-East and Africa</div>
                </td>
                <td style="width: 15%; vertical-align: top; border-top: 1px solid rgb(0, 0, 0);">
                  <div style="text-align: right; margin-right: 12pt; font-family: Arial; font-size: 9pt;">82.6</div>
                </td>
                <td style="width: 18%; vertical-align: top; border-right: 1px solid rgb(0, 0, 0); border-top: 1px solid rgb(0, 0, 0);">
                  <div style="text-align: right; margin-right: 12pt; font-family: Arial; font-size: 9pt;">25%</div>
                </td>
                <td style="width: 15%; vertical-align: top; border-left: 1px solid rgb(0, 0, 0); border-top: 1px solid rgb(0, 0, 0);">
                  <div style="text-align: right; margin-right: 12pt; font-family: Arial; font-size: 9pt;">80.1</div>
                </td>
                <td style="width: 18%; vertical-align: top; border-top: 1px solid rgb(0, 0, 0);">
                  <div style="text-align: right; margin-right: 12pt; font-family: Arial; font-size: 9pt;">29%</div>
                </td>
              </tr>
              <tr>
                <td style="width: 34%; vertical-align: top; border-top: 1px solid rgb(0, 0, 0); border-bottom: 1px solid rgb(0, 0, 0);">
                  <div style="font-family: Arial; font-size: 9pt;">Canada</div>
                </td>
                <td style="width: 15%; vertical-align: top; border-top: 1px solid rgb(0, 0, 0); border-bottom: 1px solid rgb(0, 0, 0);">
                  <div style="text-align: right; margin-right: 12pt; font-family: Arial; font-size: 9pt;">27.3</div>
                </td>
                <td style="width: 18%; vertical-align: top; border-right: 1px solid rgb(0, 0, 0); border-top: 1px solid rgb(0, 0, 0); border-bottom: 1px solid rgb(0, 0, 0);">
                  <div style="text-align: right; margin-right: 12pt; font-family: Arial; font-size: 9pt;">9%</div>
                </td>
                <td style="width: 15%; vertical-align: top; border-left: 1px solid rgb(0, 0, 0); border-top: 1px solid rgb(0, 0, 0); border-bottom: 1px solid rgb(0, 0, 0);">
                  <div style="text-align: right; margin-right: 12pt; font-family: Arial; font-size: 9pt;">18.2</div>
                </td>
                <td style="width: 18%; vertical-align: top; border-top: 1px solid rgb(0, 0, 0); border-bottom: 1px solid rgb(0, 0, 0);">
                  <div style="text-align: right; margin-right: 12pt; font-family: Arial; font-size: 9pt;">7%</div>
                </td>
              </tr>
              <tr>
                <td style="width: 34%; vertical-align: top; border-top: 1px solid rgb(0, 0, 0); border-bottom: 1px solid rgb(0, 0, 0);">
                  <div style="font-family: Arial; font-size: 9pt;">Asia Pacific</div>
                </td>
                <td style="width: 15%; vertical-align: top; border-top: 1px solid rgb(0, 0, 0); border-bottom: 1px solid rgb(0, 0, 0);">
                  <div style="text-align: right; margin-right: 12pt; font-family: Arial; font-size: 9pt;">13.1</div>
                </td>
                <td style="width: 18%; vertical-align: top; border-right: 1px solid rgb(0, 0, 0); border-top: 1px solid rgb(0, 0, 0); border-bottom: 1px solid rgb(0, 0, 0);">
                  <div style="text-align: right; margin-right: 12pt; font-family: Arial; font-size: 9pt;">4%</div>
                </td>
                <td style="width: 15%; vertical-align: top; border-left: 1px solid rgb(0, 0, 0); border-top: 1px solid rgb(0, 0, 0); border-bottom: 1px solid rgb(0, 0, 0);">
                  <div style="text-align: right; margin-right: 12pt; font-family: Arial; font-size: 9pt;">11.8</div>
                </td>
                <td style="width: 18%; vertical-align: top; border-top: 1px solid rgb(0, 0, 0); border-bottom: 1px solid rgb(0, 0, 0);">
                  <div style="text-align: right; margin-right: 12pt; font-family: Arial; font-size: 9pt;">4%</div>
                </td>
              </tr>
              <tr>
                <td style="width: 34%; vertical-align: top; border-top: 1px solid rgb(0, 0, 0); border-bottom: 1px solid rgb(0, 0, 0);">
                  <div style="font-family: Arial; font-size: 9pt; font-weight: bold;">Total revenues</div>
                </td>
                <td style="width: 15%; vertical-align: top; border-top: 1px solid rgb(0, 0, 0); border-bottom: 1px solid rgb(0, 0, 0);">
                  <div style="text-align: right; margin-right: 12pt; font-family: Arial; font-size: 9pt; font-weight: bold;">$325.8</div>
                </td>
                <td style="width: 18%; vertical-align: top; border-right: 1px solid rgb(0, 0, 0); border-top: 1px solid rgb(0, 0, 0); border-bottom: 1px solid rgb(0, 0, 0);">
                  <div style="text-align: right; margin-right: 12pt; font-family: Arial; font-size: 9pt; font-weight: bold;">100%</div>
                </td>
                <td style="width: 15%; vertical-align: top; border-left: 1px solid rgb(0, 0, 0); border-top: 1px solid rgb(0, 0, 0); border-bottom: 1px solid rgb(0, 0, 0);">
                  <div style="text-align: right; margin-right: 12pt; font-family: Arial; font-size: 9pt; font-weight: bold;">$275.2</div>
                </td>
                <td style="width: 18%; vertical-align: top; border-top: 1px solid rgb(0, 0, 0); border-bottom: 1px solid rgb(0, 0, 0);">
                  <div style="text-align: right; margin-right: 12pt; font-family: Arial; font-size: 9pt; font-weight: bold;">100%</div>
                </td>
              </tr>

          </table>
          <div><br>
          </div>
          <div><br>
          </div>
          <div style="font-family: Arial; font-size: 9pt; font-weight: bold;">4.5&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; Sales and Marketing&#160;&#160;&#160;&#160;&#160;&#160;&#160; </div>
          <div> <br>
          </div>
          <div><font style="font-size: 9pt; font-family: Arial;">(a)</font>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;<font style="font-family: Arial; font-size: 9pt;"><u>Sales Force</u></font></div>
          <div style="text-align: justify; font-family: Arial; font-size: 9pt;">Our sales force is expected to sell across our solutions, targeting specific industry verticals and geographies. At present, we sell most of our products and services through a
            direct sales team that is focused primarily on the North American and EMEA markets. We have a limited direct sales presence in Asia Pacific with resources in China, Hong Kong and Japan. As at January 31, 2020, we employed a total of 184
            individuals in sales and marketing roles and had active relationships with approximately 75 distributors and resellers.</div>
          <div><br>
          </div>
          <div style="text-align: justify; font-family: Arial; font-size: 9pt;">We are headquartered in Waterloo, Ontario, Canada, with additional representative offices in Canada in Ottawa, Ontario; Toronto, Ontario; Windsor, Ontario; and Montreal,
            Quebec. Our primary representative</div>
          <div id="DSPFPageBreakArea" style="clear: both; margin-top: 10pt; margin-bottom: 10pt;">
            <div style="text-align: center;" id="DSPFPageNumberArea"><font style="font-family: Arial, Helvetica, 'sans-serif'; font-size: 9pt; font-weight: normal; font-style: normal;" id="DSPFPageNumber">26</font></div>
            <div id="DSPFPageBreak" style="page-break-after:always;">
              <hr style="margin: 4px 0px; width: 100%; border-width: 0; height: 2px; color: #000000; background-color: #000000; clear: both;" noshade="noshade"></div>
          </div>
          <div style="text-align: justify; font-family: Arial; font-size: 9pt;">offices in the United States are in Irvine, California; Boulder, Colorado; Denver, Colorado; Miami, Florida; Atlanta, Georgia; Owing Mills, Maryland; Silver Spring, Maryland;
            Westborough, Massachusetts; Minneapolis, Minnesota; Livingston, New Jersey; Midland Park, New Jersey; Cleveland, Ohio; Columbus, Ohio; Pittsburgh, Pennsylvania; Trevose, Pennsylvania; and Seattle, Washington. In Europe, our primary
            representative offices are in Ghent, Belgium; Lier, Belgium; Glostrup, Denmark; Antony, France; Munich, Germany;&#160; Leipzig, Germany; Amersfoort, Netherlands; Woerden, Netherlands; Oslo, Norway; Fredrikstaad, Norway; Zilina, Slovakia; Ljubljana,
            Slovenia; Madrid, Spain; Stockholm, Sweden; Malmo, Sweden; Gotenborg, Sweden; Murten, Switzerland; Rheinfelden, Switzerland; Chippenham, UK; Aylesbury, UK; Reading, UK; and Totton, UK. In South America, our primary representative offices are in
            Montevideo, Uruguay; Buenos Aires, Argentina; and Sao Paulo, Brazil. In Asia Pacific, our primary representative offices are in Nelson, New Zealand; Makati City, Philippines; Hong Kong; Tokyo, Japan; Suzhou, China; and Shanghai, China.</div>
          <div><br>
          </div>
          <div><font style="font-size: 9pt; font-family: Arial;">(b)</font>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;<font style="font-family: Arial; font-size: 9pt;"><u>Strategic Marketing Alliances</u></font></div>
          <div style="text-align: justify; font-family: Arial; font-size: 9pt;">Through our United by Design alliance program, we also form strategic partnerships with various companies in different geographic markets, in different industries and for
            different products with the goal of expanding our market base. Typically, an alliance participant will market our products in certain geographic and vertical markets and refer customers to us, in exchange for a fee in respect of new customers
            generated by the alliance participant. Additionally, we have established several working relationships with telecommunication companies, management consulting firms, and complementary hardware and software firms.</div>
          <div><br>
          </div>
          <div style="text-align: justify; font-family: Arial; font-size: 9pt;">Our various channel partners, including a variety of distributors and value-added resellers, play a central role in our strategy to address global customers, particularly in
            the Asia Pacific region and in Latin America with our delivery management solutions.</div>
          <div><br>
          </div>
          <div><font style="font-family: Arial; font-size: 9pt; font-weight: bold;">4.6&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; Research and Development</font> </div>
          <div> <br>
          </div>
          <div style="text-align: justify; font-family: Arial; font-size: 9pt;">We believe that our future success depends in large part on our ability to maintain and continually enhance our current product lines and form tight integrations with our
            applications on our Logistics Technology Platform. Accordingly, we invest in product development to ensure that sufficient resources are focused on developing new products or enhancing our existing products. We also believe that it is important
            that our technology keeps pace with evolutions in hardware, applications and services that enable us to operate and deliver our own services at lower cost. In 2020, we incurred research and development expenses of approximately $53.5 million,
            or approximately 16% of our annual consolidated revenues for 2020.</div>
          <div><br>
          </div>
          <div style="text-align: justify; font-family: Arial; font-size: 9pt;">We continue to make substantial investments in research and development based on our belief that our ability to enhance existing applications, develop and introduce new
            applications that keep pace with technological advances, meet changing customer requirements, respond to competitive products and achieve market acceptance is important to our growth and future financial performance.</div>
          <div><br>
          </div>
          <div style="text-align: justify; font-family: Arial; font-size: 9pt;">Our research and development program requires in-depth knowledge of logistics, supply chain and customer know-how from business analysis, network operations and design,
            technical design, and quality assurance. Particular expertise in solving operations research or logistics problems is a benefit to us, as is practical experience in dealing with the day-to-day challenges that our customers face in dealing with
            logistics providers and deliveries in general. We believe that we are well positioned to address our customers&#8217; requirements with our existing complement of resources; however, we evaluate our staffing levels on an ongoing basis particularly in
            those areas where we see ways we might expand or expedite our development processes as necessary to meet market opportunities or changes.</div>
          <div><br>
          </div>
          <div style="text-align: justify; font-family: Arial; font-size: 9pt;">To build applications, we have implemented an application development process based on size, deployment mode and complexity. For our smaller, less complex applications as well
            as for our network services and SaaS solutions, we have adopted an approach centered on frequent, smaller application updates. With the applications and solutions being deployed in our own, known environment and technology infrastructure, we
            are able to minimize development time otherwise needed to accommodate the myriad of platforms that an application may be used over. Using this approach, the majority of these applications, network services and SaaS solutions were updated in
            fiscal 2020.</div>
          <div id="DSPFPageBreakArea" style="clear: both; margin-top: 10pt; margin-bottom: 10pt;">
            <div style="text-align: center;" id="DSPFPageNumberArea"><font style="font-family: Arial, Helvetica, 'sans-serif'; font-size: 9pt; font-weight: normal; font-style: normal;" id="DSPFPageNumber">27</font></div>
            <div id="DSPFPageBreak" style="page-break-after:always;">
              <hr style="margin: 4px 0px; width: 100%; border-width: 0; height: 2px; color: #000000; background-color: #000000; clear: both;" noshade="noshade"></div>
          </div>
          <div style="text-align: justify; font-family: Arial; font-size: 9pt;">For our larger more complex applications and solutions, we have adopted a four- to twelve-month release cycle. While we generally use the same underlying development
            methodology, building in smaller incremental blocks, we apply a more traditional process for review and quality assurance testing as well as bundling of several of these incremental blocks into each generally available release. Using this four-
            to twelve-month release schedule, most of our larger and more complex generally available applications and solutions were enhanced in fiscal 2020.</div>
          <div><br>
          </div>
          <div style="text-align: justify; font-family: Arial; font-size: 9pt;">Enhancements not yet generally commercially available are typically subject to internal testing and, where applicable, additional testing may be conducted with select
            customers, following which we release the enhancements for general commercial use.</div>
          <div><br>
          </div>
          <div style="text-align: justify; font-family: Arial; font-size: 9pt;">We continue to build and develop our network infrastructure to enhance our delivery of services to our customers. We continue to execute on our internal &#8216;One Networked
            Enterprise&#8217; initiative whereby we are consolidating legacy network infrastructure acquired as part of previous acquisition activities. We anticipate continuing this initiative through fiscal 2021, including the advancement of additional
            integration activities resulting from new acquisitions. To facilitate these advancements in integration activities, we continue to invest in our integration platform with a specific focus on decoupling business logic from the presentation
            layer.</div>
          <div style="text-align: justify;"><font style="font-size: 9pt; font-family: Arial;"> </font><br>
          </div>
          <div style="text-align: justify; font-family: Arial; font-size: 9pt;">We estimate that the costs for our planned research and development activities in fiscal 2021 will not result in any significant increase relative to our historical
            expenditures on research and development activities.</div>
          <div><br>
          </div>
          <div style="text-align: justify;"><font style="font-size: 9pt; font-family: Arial; font-weight: bold;">4.7</font>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;<font style="font-size: 9pt; font-family: Arial; font-weight: bold;">Competition</font></div>
          <div>&#160;</div>
          <div style="text-align: justify; font-family: Arial; font-size: 9pt;">Although we have experienced limited competition to-date from companies with broad application suites with comparable capabilities, the market for our applications is
            nevertheless highly competitive and subject to rapid technological change. As such, we expect competition to increase in the future. On an application-by-application basis, especially in markets where similar technology has been available for
            some time, such as routing software and value-added networks, we do experience competition from established vendors. However, we have found that our particular expertise in solving complex logistics problems on a network basis has enabled us to
            remain competitive. On a geographic basis, we experience competition from both multinational companies and local competitors. We face some disadvantage in entering new markets where competitors may have existing solutions with user interfaces
            that are advanced in local language presentation. To maintain and improve our competitive position on a global basis, we continue to develop and introduce new applications with the functionality to be easily adapted to local user interface
            needs (either by Descartes or its distributors in a particular region).</div>
          <div><br>
          </div>
          <div style="text-align: justify; font-family: Arial; font-size: 9pt;">We compete or may compete, directly or indirectly, with the following: (i) application software vendors, including supply chain planning and execution software vendors, that
            may broaden their product offerings by internally developing, or by acquiring or partnering with, independent developers of supply chain network solutions, particularly on the execution (rather than planning) side, such as Manhattan Associates,
            Omnitracs, Verizon (formerly, Telogis) and Ortec; (ii) enterprise resource planning software vendors who may expand their current offerings into supply chain network service offerings, some of whom may from time to time jointly market our
            products as a complement to their own systems, such as SAP AG, Oracle and Infor Global Solutions; (iii) internal development efforts by corporate information technology departments; (iv) middleware software and service vendors that provide
            integration software, such as Software AG and SPS Commerce; (v) telematics solution providers, such as Verizon (formerly, Fleetmatics), Omnitracs and Trimble Navigation; (vi) other value-added messaging and visibility networks, such as those
            offered by Kleinschmidt, OpenText GXS, CHAMP Cargosystems, FourKites and Project 44; (vii) other cargo booking portals, such as Cargo Portal Services operated by Unisys Corporation and INTTRA; (viii) other customs compliance and forwarder
            back-office solution providers, such as Blu-Jay Solutions (formerly, Kewill) and WiseTech; (ix) other customs and security declaration providers, often specialized in particular domestic markets, such as AEB GmbH and MIC Datenverabeitung GmbH;
            (x) other trade data providers who may either bundle their data with a global trade management system, such as E2open (formerly Amber Road), provide trade intelligence platforms such as IHS Markets and S&amp;P Global</div>
          <div id="DSPFPageBreakArea" style="clear: both; margin-top: 10pt; margin-bottom: 10pt;">
            <div style="text-align: center;" id="DSPFPageNumberArea"><font style="font-family: Arial, Helvetica, 'sans-serif'; font-size: 9pt; font-weight: normal; font-style: normal;" id="DSPFPageNumber">28</font></div>
            <div id="DSPFPageBreak" style="page-break-after:always;">
              <hr style="margin: 4px 0px; width: 100%; border-width: 0; height: 2px; color: #000000; background-color: #000000; clear: both;" noshade="noshade"></div>
          </div>
          <div style="text-align: justify; font-family: Arial; font-size: 9pt;">or sell trade data content on a standalone basis, such as Thomson Reuters; and (xi) eCommerce shipping and fulfillment providers such as ShipStation, ShipHawk, Finale and RF
            Smart. We also expect to face additional competition as other established and emerging companies enter the market for logistics technology solutions and new products and technologies are introduced and as we expand to new businesses. In
            addition, current and potential competitors may make strategic acquisitions or establish co-operative relationships among themselves or with third parties, thereby increasing the ability of their products to address the needs of our prospective
            customers.</div>
          <div><br>
          </div>
          <div style="text-align: justify; font-family: Arial; font-size: 9pt;">We believe the principal competitive factors affecting the market for our solutions include vendor and product reputation; expertise and experience in implementing products in
            the customer's industry sector; product architecture, functionality and features; cost of ownership; ease and speed of implementation; customer support; product quality, price and performance; and product attributes such as flexibility,
            scalability, compatibility, functionality and ease of use. In order to be successful in the future, we believe we must continue to respond promptly and effectively to technological change and competitors' innovations.</div>
          <div style="text-align: justify;"><br>
          </div>
          <div style="text-align: justify;"><font style="font-size: 9pt; font-family: Arial; font-weight: bold;">4.8</font>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;<font style="font-size: 9pt; font-family: Arial; font-weight: bold;">Intellectual Property and Other Proprietary Rights</font></div>
          <div>&#160;</div>
          <div style="text-align: justify; font-family: Arial; font-size: 9pt;">We believe our success depends significantly on our proprietary technology. Through our internal research and development and our acquisitions we have continued to enhance the
            breadth of our intellectual property portfolio. We continue to rely primarily on a combination of patent, copyright, trademark and trade secret laws, license agreements, non-disclosure agreements and other contractual provisions to establish,
            maintain and protect our proprietary rights in our products and technology. Some registered forms of protection, such as patents, copyright and trademark registrations, have a limited period of protection determined by the applicable law
            governing the registration. Other contractual forms of protection, such as license and non-disclosure agreements, have a limited contractual period of protection. The source codes and routing algorithms for our applications and technology are
            protected both as trade secrets and as unregistered copyrighted works with indefinite periods of protection. We have an extensive portfolio of patents, both over technologies we have developed internally and patents that have been acquired
            through our various acquisitions where patents were already held by the acquired companies or were pending. We continue to invest in the ongoing expansion of our patent portfolio.&#160;&#160; Each of these patents offer a limited period of protection
            determined by the applicable laws governing the patents. We have registered or applied for registration of certain trademarks and service marks with limited periods of protection and will continue to evaluate the registration of additional
            trademarks and service marks as appropriate.</div>
          <div><br>
          </div>
          <div style="text-align: justify; font-family: Arial; font-size: 9pt;">We also utilize certain other software technologies, such as geographic data, shipping rate data, shipping mile data, sailing schedule data and global tariff and duty
            data,&#160;translation applications and business intelligence applications that we license from third parties, generally on a non-exclusive basis, including software that is integrated with internally developed software and used in our products to
            perform key functions. These third-party licenses generally require the payment of royalties based on sales of the product in which the technology is used.</div>
          <div><br>
          </div>
          <div style="text-align: justify; font-family: Arial; font-size: 9pt;">Our network customers may use electronic logistics information generated by the customer, or by third parties on behalf of the customer, in connection with the customer&#8217;s use
            of our network services. Our customers are responsible for procuring and paying for the generation of such electronic logistics information and the right to use such electronic logistics information in connection with our network services.</div>
          <div><br>
          </div>
          <div style="text-align: justify; font-family: Arial; font-size: 9pt;">Many of our data content solutions rely on data being available to us from various public sources. This data is available on a non-exclusive basis and generally available
            without the payment of fees except in certain cases where we may choose to obtain the data through third party data providers who may have pre-processed or aggregated the data in a manner that is more efficient or effective for our purposes.
            This data is similarly available to other parties and may allow other parties to develop competitive offerings. Our ability to maintain our market position is dependent upon our continued innovation in the ability to organize the data and
            provision of tools that facilitate the use of the data while continuing to expand and enhance the data.</div>
          <div id="DSPFPageBreakArea" style="clear: both; margin-top: 10pt; margin-bottom: 10pt;">
            <div style="text-align: center;" id="DSPFPageNumberArea"><font style="font-family: Arial, Helvetica, 'sans-serif'; font-size: 9pt; font-weight: normal; font-style: normal;" id="DSPFPageNumber">29</font></div>
            <div id="DSPFPageBreak" style="page-break-after:always;">
              <hr style="margin: 4px 0px; width: 100%; border-width: 0; height: 2px; color: #000000; background-color: #000000; clear: both;" noshade="noshade"></div>
          </div>
          <div style="text-align: justify;"><font style="font-size: 9pt; font-family: Arial; font-weight: bold;">4.9</font>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;<font style="font-size: 9pt; font-family: Arial; font-weight: bold;">Contracts</font></div>
          <div>&#160;</div>
          <div style="text-align: justify;"><font style="font-size: 9pt; font-family: Arial;">(a)</font>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;<font style="font-family: Arial; font-size: 9pt;"><u>Customer Contracts</u></font></div>
          <div style="text-align: justify; font-family: Arial; font-size: 9pt;">We provide our GLN services and access to our data content services to our customers primarily by way of written subscription agreement. The subscription agreement sets out the
            applicable terms and restrictions on use of the service, the length of time the customer can use the service, and the applicable fees to be paid by the customer. Typically, these subscription agreements renew at a customer&#8217;s option and, in some
            cases, are subject to earlier termination by the customer on appropriate notice.</div>
          <div><br>
          </div>
          <div style="text-align: justify; font-family: Arial; font-size: 9pt;">We license our software products to our customers primarily by way of written license agreements. The license agreements specify the applicable terms and restrictions on use of
            the software, the terms and conditions of any enrolment by the customer in our software maintenance program, and the applicable fees to be paid by the customer.</div>
          <div><br>
          </div>
          <div style="text-align: justify; font-family: Arial; font-size: 9pt;">We depend on our installed customer base for a significant portion of our revenues. We have significant contracts with our license customers for ongoing support and
            maintenance, as well as significant service contracts that provide recurring services revenues to us. In addition, our installed customer base has historically generated additional new license and services revenues for us. Service contracts are
            generally renewable at a customer&#8217;s option, and there are generally no mandatory payment obligations or obligations to license additional software or subscribe for additional services.</div>
          <div style="text-align: justify;"><font style="font-size: 9pt; font-family: Arial;"> </font><br>
          </div>
          <div style="text-align: justify; font-family: Arial; font-size: 9pt;">If our customers terminate their subscription agreements, fail to renew their service contracts, fail to purchase or license additional services or products, or consolidate
            contracts with acquired companies, then our revenues could decrease and our operating results could be materially adversely affected. Factors influencing such contract terminations and non-renewals could include changes in the financial
            circumstances of our customers, dissatisfaction with our products or services, our retirement or lack of support for our legacy products and services, our customers selecting or building alternate technologies to replace ours, changes in our
            customers&#8217; business or in regulation impacting our customers&#8217; business that may no longer necessitate the use of our products or services, general economic or market conditions, or other reasons. Further, our customers could delay or terminate
            implementations or use of our services and products or be reluctant to migrate to new products. Such customers will not generate the revenues we may have anticipated within the timelines anticipated, if at all, and may be less likely to invest
            in additional services or products from us in the future. We may not be able to adjust our expense levels quickly enough to account for any such revenues losses. Our business may also be materially adversely affected by market trends impacting
            our customer base, such as consolidation activity.</div>
          <div><br>
          </div>
          <div style="text-align: justify;"><font style="font-size: 9pt; font-family: Arial;">(b)</font>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;<font style="font-family: Arial; font-size: 9pt;"><u>Outsourcing Contracts</u></font></div>
          <div style="text-align: justify; font-family: Arial; font-size: 9pt;">We deliver some of our GLN services over our proprietary networks, which are hosted by commercial public cloud and co-location providers such as, Microsoft, Q9 Networks Inc.,
            InterXion and CenturyLink. These hosting and co-location contracts, on which we are substantially dependent as they relate to the delivery of our network services, typically contemplate services to be provided for a term at a defined service
            level, with applicable rights of termination and renewal. We typically pay monthly fees under these contracts, some of which are based on the volume of network activity flowing through the hosting provider. If any of these contracts were
            terminated without our consent, we could incur substantial costs in migrating to an alternate hosting provider. In such an event, the costs and related management effort could materially adversely affect our operating results and the services
            that we provide to our customers.</div>
          <div><br>
          </div>
          <div style="text-align: justify;"><font style="font-size: 9pt; font-family: Arial; font-weight: bold;">4.10</font>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;<font style="font-size: 9pt; font-family: Arial; font-weight: bold;">Employees</font></div>
          <div style="text-align: justify; font-family: Arial; font-size: 9pt;">As at January 31, 2020, the Company employed 1,547 employees including 1,509 full-time staff. Of the 1,509 full-time staff, 437 of the individuals were engaged in customer
            service roles (which includes customer support, activations and implementation services), 495<font style="font-weight: bold;">&#160;</font>were in research and development roles, 182 were engaged in sales and marketing roles, 260 in network and
            product support roles and 135 were in general administration roles. Geographically, 891 employees were located in North America, 483 were located in Europe, 72<font style="font-weight: bold;">&#160;</font>were located in the Asia Pacific region and
            63 were located in South America.</div>
          <div><br>
          </div>
          <div id="DSPFPageBreakArea" style="clear: both; margin-top: 10pt; margin-bottom: 10pt;">
            <div style="text-align: center;" id="DSPFPageNumberArea"><font style="font-family: Arial, Helvetica, 'sans-serif'; font-size: 9pt; font-weight: normal; font-style: normal;" id="DSPFPageNumber">30</font></div>
            <div id="DSPFPageBreak" style="page-break-after:always;">
              <hr style="margin: 4px 0px; width: 100%; border-width: 0; height: 2px; color: #000000; background-color: #000000; clear: both;" noshade="noshade"></div>
          </div>
          <div style="text-align: justify;"><font style="font-size: 9pt; font-family: Arial; font-weight: bold;">4.11</font>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;<font style="font-size: 9pt; font-family: Arial; font-weight: bold;">Risks Associated with Foreign Sales and Exchange Rate
              Fluctuations</font></div>
          <div>&#160;</div>
          <div style="text-align: justify; font-family: Arial; font-size: 9pt;">In fiscal 2020, sales outside of the Americas accounted for approximately 29% of our total revenues. Our international revenues are subject to risks associated with foreign
            sales, including longer collection times from foreign customers, difficulty in repatriating cash from foreign jurisdictions, unexpected changes in legal and regulatory requirements, export restrictions, changes in tariffs, exchange rates and
            other trade barriers, political and economic instability, difficulties in accounts receivable collection, difficulties in management of distributors or representatives, difficulties in staffing and managing foreign operations, difficulties in
            protecting our intellectual property, seasonality of sales, language issues and potentially adverse tax consequences. There can be no assurance that any of these factors will not have a material adverse effect on our business, results of
            operations and financial condition.</div>
          <div><br>
          </div>
          <div style="text-align: justify; font-family: Arial; font-size: 9pt;">During fiscal 2020, 70% of our revenues were denominated in US dollars, and historically the majority of our revenues have been denominated in US dollars. However, a
            significant portion of our expenses, including the wages of our non-US employees and obligations under certain key supply agreements, have been denominated in Canadian dollars, euros and other foreign currencies. Therefore, changes in the value
            of the US dollar as compared to the Canadian dollar, the euro, British pound sterling and other foreign currencies may materially affect our operating results. We generally have not implemented hedging programs to mitigate our exposure to
            currency fluctuations affecting international accounts receivable, cash balances and inter-company accounts. We also have not hedged our exposure to currency fluctuations affecting future international revenues and expenses and other
            commitments. Accordingly, currency exchange rate fluctuations have caused, and may continue to cause, variability in our foreign currency denominated revenue streams, expenses, and our cost to settle foreign currency denominated liabilities.</div>
          <div><br>
          </div>
          <div style="text-align: justify;"><font style="font-size: 9pt; font-family: Arial; font-weight: bold;">4.12</font>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;<font style="font-size: 9pt; font-family: Arial; font-weight: bold;">Risks Associated with Cyclical or Seasonal Aspects of
              Business</font></div>
          <div>&#160;</div>
          <div style="text-align: justify; font-family: Arial; font-size: 9pt;">Our business may be impacted from time to time by the general cyclical and seasonal nature of particular modes of transportation and the freight market in general, as well as
            the cyclical and seasonal nature of the industries that such markets serve. Factors which may create cyclical fluctuations in such modes of transportation or the freight market in general include legal and regulatory requirements, timing of
            contract renewals between our customers and their own customers, seasonal-based tariffs, vacation periods applicable to particular shipping or receiving nations, weather-related and global health-pandemic events that impact shipping in
            particular geographies and amendments to international trade agreements.&#160; In particular, the uncertainties arising from a pandemic, such as the current COVID-19 global pandemic could adversely impact global shipment volumes in all modes of
            transportation in fiscal 2021 and potentially beyond. Since some of our revenues from particular products and services are tied to the volume of shipments being processed, adverse fluctuations in the volume of global shipments or shipments in
            any particular mode of transportation may adversely affect our revenues. Declines in shipment volumes in the US or internationally likely would have a material adverse effect on our business.</div>
          <div><br>
          </div>
          <div><font style="font-weight: bold; font-family: Arial; font-size: 9pt;">4.13 &#160; &#160; &#160; &#160;&#160; Reorganizations</font> </div>
          <div><br>
          </div>
          <div style="text-align: justify; font-family: Arial; font-size: 9pt;">In 2020, 2019 and 2018, we completed various integration and reorganization activities in connection with our acquisitions of StepCom, BestTransport, Core, Visual Compliance,
            PinPoint, VelocityMail, Aljex, MacroPoint, PCSTrac and ShipRush, including merging or consolidating various legal entities and operations, eliminating redundant management positions and canceling certain ongoing operating contracts.</div>
          <div><br>
          </div>
          <div><font style="font-family: Arial; font-size: 9pt; font-weight: bold;">4.14 &#160; &#160; &#160; &#160;&#160; Material Contracts</font> </div>
          <div style="text-align: justify; font-family: Arial; font-size: 9pt;">The Company previously determined that the&#160; amended and expanded credit facility agreement of the Company announced on January 28, 2019&#160; would constitute a &#8220;material contract&#8221;
            of the Company and filed a copy of the agreement on SEDAR at <u>www.sedar.com</u>. Particulars of such contract are disclosed in &#8220;Item 3 - General Developments of the Business&#8221; of this AIF. Other than such agreement, as of January 31, 2020,
            the Company had not otherwise entered into any material contracts, other than contracts</div>
          <div id="DSPFPageBreakArea" style="clear: both; margin-top: 10pt; margin-bottom: 10pt;">
            <div style="text-align: center;" id="DSPFPageNumberArea"><font style="font-family: Arial, Helvetica, 'sans-serif'; font-size: 9pt; font-weight: normal; font-style: normal;" id="DSPFPageNumber">31</font></div>
            <div id="DSPFPageBreak" style="page-break-after:always;">
              <hr style="margin: 4px 0px; width: 100%; border-width: 0; height: 2px; color: #000000; background-color: #000000; clear: both;" noshade="noshade"></div>
          </div>
          <div style="text-align: justify; font-family: Arial; font-size: 9pt;">entered into in the ordinary course of business, within the past year, or entered into before the most recently completed fiscal year that are still in effect.</div>
          <div><br>
          </div>
          <div>
            <div style="text-align: justify; font-family: Arial; font-size: 9pt;"><font style="font-weight: bold;">4.15 &#160; &#160; &#160; &#160;&#160; </font><font style="font-weight: bold;">Code of Business Conduct and Ethics</font></div>
            <div style="text-align: justify; font-family: Arial; font-size: 9pt;">Our Board of Directors has adopted our Code of Business Conduct and Ethics (&#8220;the Code&#8221;) applicable to our directors, officers and employees. The Code is reviewed on a regular
              basis by our Board of Directors and may be updated from time to time. The most recent version of the Code is available on our website at http://www.descartes.com&#160;and has been filed on and is accessible through the SEDAR website at
              http://www.sedar.com. The Code sets out in detail the core values and principles by which the Company is governed and addresses topics such as: honest and ethical conduct; conflicts of interest; compliance with applicable laws and our
              policies and procedures; public disclosure and books and records; use of corporate assets and opportunities; confidentiality of corporate information; reporting responsibilities and procedures; health and safety; anti-corruption; and
              non-retaliation.</div>
          </div>
          <div><br>
          </div>
          <div>
            <div style="border-bottom: 1px solid #000000; border-top: 1px solid #000000; text-align: justify;"><font style="font-size: 9pt; font-family: Arial; font-weight: bold;">ITEM 5</font>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;<font style="font-size: 9pt; font-family: Arial; font-weight: bold;">RISK FACTORS</font></div>
          </div>
          <div><br>
          </div>
          <div style="text-align: justify; font-family: Arial; font-size: 9pt;">Reference is made to the section entitled &#8220;Certain Factors That May Affect Future Results&#8221; in the &#8220;Management&#8217;s Discussion and Analysis of Financial Condition and Results of
            Operations&#8221; contained in our 2019 Annual Report for the year ended January 31, 2020, made available to all of our shareholders and filed with various securities regulators, which section is incorporated herein by reference. This information is
            available through the EDGAR website at http://www.sec.gov or through the SEDAR website at http://www.sedar.com.</div>
          <div><br>
          </div>
          <div style="text-align: justify; font-family: Arial; font-size: 9pt; font-style: italic; font-weight: bold;">COVID-19 Global Pandemic</div>
          <div><br>
          </div>
          <div style="text-align: justify; font-family: Arial; font-size: 9pt;">The COVID-19 pandemic and the efforts to contain it have negatively impacted the global economy, disrupted manufacturing operations and global supply chains and created
            significant volatility and disruption of financial markets. In addition, the COVID-19 pandemic has significantly increased economic and demand uncertainty and has the potential to result in a global recession. The COVID-19 pandemic and
            resulting significantly weaker global economic conditions could have a negative impact on our future results of operations although the extent of that impact is uncertain at this time.</div>
          <div><br>
          </div>
          <div style="text-align: justify; font-family: Arial; font-size: 9pt;">We remain well positioned to adjust to market conditions to assist our customers as they work to manage their transportation, logistics and supply chain processes.&#160; As noted
            previously, we&#8217;ve been able to transition our workforce such that the majority of our workforce can work remotely and continue to service and support our customers and ensure the uninterrupted availability of our various solutions, most of
            which are delivered by way of a software-as-a-service or cloud-based delivery model.&#160; In addition, the nature of the products and services provided by Descartes to the transportation and logistics community have been classified as an &#8220;essential
            service&#8221; in the majority of the markets in which we have personnel located which allows us, to the extent necessary, to have requisite personnel attend at our various data-centers and hosting facilities to ensure the continuity of our services
            under state-of-emergency and shelter-in-place orders recently issued in various jurisdictions globally.</div>
          <div><br>
          </div>
          <div style="text-align: justify; font-family: Arial; font-size: 9pt;">We expect the significance of the COVID-19 pandemic, including the extent of its effect on our financial condition and results of operations, to be dictated by, among other
            things, its duration, the success of efforts to contain it and the impact of actions taken in&#160;response. While we are not able at this time to estimate the impact of the COVID-19 pandemic, an extended period of global supply chain and economic
            disruption could materially and adversely affect our business, results of operations, access to sources of liquidity and financial condition. In addition, an extended global recession caused by the COVID-19 pandemic could have a further adverse
            impact on our financial condition and operations.</div>
          <div><br>
          </div>
          <div style="text-align: justify; font-family: Arial; font-size: 9pt; font-style: italic; font-weight: bold;">Catastrophic Events, Natural Disasters, Severe Weather and Disease</div>
          <div><br>
          </div>
          <div style="text-align: justify; font-family: Arial; font-size: 9pt;">Our business may be negatively impacted to varying degrees by a number of events which are beyond our control, including energy blackouts, pandemics (or other public health
            crises), terrorist attacks, acts of war, earthquakes, hurricanes, tornados, fires, floods, ice storms or other natural or manmade</div>
          <div id="DSPFPageBreakArea" style="clear: both; margin-top: 10pt; margin-bottom: 10pt;">
            <div style="text-align: center;" id="DSPFPageNumberArea"><font style="font-family: Arial, Helvetica, 'sans-serif'; font-size: 9pt; font-weight: normal; font-style: normal;" id="DSPFPageNumber">32</font></div>
            <div id="DSPFPageBreak" style="page-break-after:always;">
              <hr style="margin: 4px 0px; width: 100%; border-width: 0; height: 2px; color: #000000; background-color: #000000; clear: both;" noshade="noshade"></div>
          </div>
          <div style="text-align: justify; font-family: Arial; font-size: 9pt;">catastrophes. While we engage in emergency preparedness, including business continuity planning, to mitigate risks, such events can evolve very rapidly, and their impacts can
            be difficult to predict. As such, there can be no assurance that in the event of such a catastrophe that our operations and ability to carry on business will not be disrupted. The occurrence of such events may not release us from performing our
            obligations to third parties. A catastrophic event, including an outbreak of infectious disease, a pandemic or a similar health threat, such as the evolving 2019 COVID-19 global pandemic, or fear of any of the foregoing, could adversely impact
            us and our investments. In addition, liquidity and volatility, credit availability and market and financial conditions generally could change at any time as a result. Any of these events in isolation or in combination, could have a material
            negative impact on our performance, financial condition, results of operations and cash flows.</div>
          <div><br>
          </div>
          <div style="border-bottom: 1px solid #000000; border-top: 1px solid #000000; font-family: Arial; font-size: 9pt; font-weight: bold;">ITEM 6&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; MARKET FOR SECURITIES AND RELATED SECURITYHOLDER MATTERS</div>
          <div><br>
          </div>
          <div style="text-align: justify;">
            <div>
              <table id="z0fc8c1f08056407cbc4b209fc69663db" class="DSPFListTable" style="font-family: 'Times New Roman', Times, serif; font-size: 10pt; width: 100%; text-align: left; color: #000000;" cellpadding="0" cellspacing="0">

                  <tr>
                    <td style="width: 36pt; vertical-align: top; font-family: Arial; font-size: 9pt; font-weight: bold;">6.1</td>
                    <td style="width: auto; vertical-align: top; text-align: justify;">
                      <div style="font-family: Arial; font-size: 9pt; font-weight: bold;">Common Shares</div>
                    </td>
                  </tr>

              </table>
            </div>
          </div>
          <div style="text-align: justify; font-family: Arial; font-size: 9pt;">We are authorized to issue an unlimited number of common shares for unlimited consideration. The common shares are not redeemable or convertible. Each common share carries the
            right to receive notice of and one vote at a meeting of shareholders; the right to participate in any distribution of our assets on liquidation, dissolution or winding up; and the right to receive dividends if, as and when declared by the Board
            of Directors. As at April 14, 2020, there were 84,156,316 common shares outstanding. The common shares are listed on the TSX under the symbol &#8220;DSG&#8221; and listed on NASDAQ under the symbol &#8220;DSGX&#8221;.</div>
          <div><br>
          </div>
          <div style="text-align: justify;">
            <div>
              <table id="zf8872ccefc2e4233aac712d42c96585d" class="DSPFListTable" style="font-family: 'Times New Roman', Times, serif; font-size: 10pt; width: 100%; text-align: left; color: #000000;" cellpadding="0" cellspacing="0">

                  <tr>
                    <td style="width: 36pt; vertical-align: top; font-family: Arial; font-size: 9pt; font-weight: bold;">6.2</td>
                    <td style="width: auto; vertical-align: top; text-align: justify;">
                      <div style="font-family: Arial; font-size: 9pt; font-weight: bold;">Transfer Agent and Registrar</div>
                    </td>
                  </tr>

              </table>
            </div>
          </div>
          <div style="text-align: justify; font-family: Arial; font-size: 9pt;">The register of transfers of common shares is located in the offices of our stock transfer agent: Computershare Investor Services Inc., 100 University Avenue, Toronto, Ontario,
            Canada, M5J 2Y1.</div>
          <div><br>
          </div>
          <div style="text-align: justify;">
            <div>
              <table id="z8b5a14388ef341e5881d392c3d79d090" class="DSPFListTable" style="font-family: 'Times New Roman', Times, serif; font-size: 10pt; width: 100%; text-align: left; color: #000000;" cellpadding="0" cellspacing="0">

                  <tr>
                    <td style="width: 36pt; vertical-align: top; font-family: Arial; font-size: 9pt; font-weight: bold;">6.3</td>
                    <td style="width: auto; vertical-align: top; text-align: justify;">
                      <div style="font-family: Arial; font-size: 9pt; font-weight: bold;">Dividend Policy</div>
                    </td>
                  </tr>

              </table>
            </div>
          </div>
          <div style="text-align: justify; font-family: Arial; font-size: 9pt;">We have not paid any dividends on our common shares to date. We may consider paying dividends on our common shares in the future when operational circumstances permit, having
            regard to, among other things, our earnings, cash flow and financial requirements as well as relevant legal and business considerations. We are prohibited by the Credit Facility from making a distribution (which includes a dividend) when there
            is an uncured event of default pursuant to the Credit Facility. At present there is no such event of default.</div>
          <div><br>
          </div>
          <div><br>
          </div>
          <div><br>
          </div>
          <div><br>
            <div><br>
            </div>
            <div><br>
            </div>
            <div><br>
            </div>
            <div><br>
            </div>
            <br>
          </div>
          <div style="clear: both; margin-top: 10pt; margin-bottom: 10pt;" id="DSPFPageBreakArea">
            <div style="text-align: center;" id="DSPFPageNumberArea"><font style="font-family: Arial, Helvetica, 'sans-serif'; font-size: 9pt; font-weight: normal; font-style: normal;" id="DSPFPageNumber">33</font></div>
            <div style="page-break-after: always;" id="DSPFPageBreak">
              <hr style="border-width: 0px; clear: both; margin: 4px 0px; width: 100%; height: 2px; color: #000000; background-color: #000000;" noshade="noshade"></div>
          </div>
          <!--PROfilePageNumberReset%Num%34%%%-->
          <div style="text-align: justify;">
            <div>
              <table id="z839f51e01a7b498f848b64d9b6a78360" class="DSPFListTable" style="font-family: 'Times New Roman', Times, serif; font-size: 10pt; width: 100%; text-align: left; color: #000000;" cellpadding="0" cellspacing="0">

                  <tr>
                    <td style="width: 36pt; vertical-align: top; font-family: Arial; font-size: 9pt; font-weight: bold;">6.4</td>
                    <td style="width: auto; vertical-align: top; text-align: justify;">
                      <div style="font-family: Arial; font-size: 9pt; font-weight: bold;">Market for Common Shares</div>
                    </td>
                  </tr>

              </table>
            </div>
          </div>
          <div>&#160;</div>
          <div style="text-align: justify; font-family: Arial; font-size: 9pt;">Please see the following table that identifies the marketplaces on which our common shares trade, as well as the fiscal 2020 monthly price ranges and volume traded on each
            exchange:</div>
          <div><br>
          </div>
          <div><br>
          </div>
          <table id="z2cb4f7d115184ad9ae490fbdde6db022" style="border-collapse: collapse; width: 90%; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt; text-align: left;" align="center" border="0" cellpadding="2" cellspacing="0">

              <tr>
                <td style="width: 24.93%; vertical-align: top; border-left: #000000 1px solid; border-right: #000000 1px solid; border-top: #000000 1px solid; border-bottom: #000000 1px solid;">&#160;</td>
                <td style="width: 37.21%; vertical-align: top; border-left: #000000 1px solid; border-right: #000000 1px solid; border-top: #000000 1px solid; border-bottom: #000000 1px solid;" colspan="2">
                  <div style="text-align: center; font-family: Arial; font-size: 9pt; font-weight: bold;">Common Shares - TSX</div>
                </td>
                <td style="width: 37.86%; vertical-align: top; border-left: #000000 1px solid; border-right: #000000 1px solid; border-top: #000000 1px solid; border-bottom: #000000 1px solid;" colspan="2">
                  <div style="text-align: center; font-family: Arial; font-size: 9pt; font-weight: bold;">Common Shares &#8211; NASDAQ</div>
                </td>
              </tr>
              <tr>
                <td style="width: 24.93%; vertical-align: bottom; border-left: #000000 1px solid; border-right: #000000 1px solid; border-top: #000000 1px solid; border-bottom: #000000 1px solid;">
                  <div style="text-align: center; font-family: Arial; font-size: 9pt; font-weight: bold;">Month</div>
                </td>
                <td style="width: 21.98%; vertical-align: bottom; border-left: #000000 1px solid; border-right: #000000 1px solid; border-top: #000000 1px solid; border-bottom: #000000 1px solid;">
                  <div style="text-align: center; font-family: Arial; font-size: 9pt; font-weight: bold;">Price Range (CAD$)</div>
                </td>
                <td style="width: 15.23%; vertical-align: bottom; border-left: #000000 1px solid; border-right: #000000 1px solid; border-top: #000000 1px solid; border-bottom: #000000 1px solid;">
                  <div style="text-align: center; font-family: Arial; font-size: 9pt; font-weight: bold;">Volume</div>
                </td>
                <td style="width: 21.95%; vertical-align: bottom; border-left: #000000 1px solid; border-right: #000000 1px solid; border-top: #000000 1px solid; border-bottom: #000000 1px solid;">
                  <div style="text-align: center; font-family: Arial; font-size: 9pt; font-weight: bold;">Price Range (US$)</div>
                </td>
                <td style="width: 15.9%; vertical-align: bottom; border-left: #000000 1px solid; border-right: #000000 1px solid; border-top: #000000 1px solid; border-bottom: #000000 1px solid;">
                  <div style="text-align: center; font-family: Arial; font-size: 9pt; font-weight: bold;">Volume</div>
                </td>
              </tr>
              <tr>
                <td style="width: 24.93%; vertical-align: bottom; border-left: #000000 1px solid; border-right: #000000 1px solid; border-top: #000000 1px solid; border-bottom: #000000 1px solid;">
                  <div style="text-align: right; font-family: Arial; font-size: 9pt; font-weight: bold;">February 2019</div>
                </td>
                <td style="width: 21.98%; vertical-align: bottom; border-left: #000000 1px solid; border-right: #000000 1px solid; border-top: #000000 1px solid; border-bottom: #000000 1px solid;">
                  <div style="text-align: center; font-family: Arial; font-size: 9pt;">$40.91 - 45.85</div>
                </td>
                <td style="width: 15.23%; vertical-align: bottom; border-left: #000000 1px solid; border-right: #000000 1px solid; border-top: #000000 1px solid; border-bottom: #000000 1px solid;">
                  <div style="text-align: center; font-family: Arial; font-size: 9pt;">2,495,227</div>
                </td>
                <td style="width: 21.95%; vertical-align: bottom; border-left: #000000 1px solid; border-right: #000000 1px solid; border-top: #000000 1px solid; border-bottom: #000000 1px solid;">
                  <div style="text-align: center; font-family: Arial; font-size: 9pt;">$31.28 - 34.78</div>
                </td>
                <td style="width: 15.9%; vertical-align: bottom; border-left: #000000 1px solid; border-right: #000000 1px solid; border-top: #000000 1px solid; border-bottom: #000000 1px solid;">
                  <div style="text-align: center; font-family: Arial; font-size: 9pt;">1,658,616</div>
                </td>
              </tr>
              <tr>
                <td style="width: 24.93%; vertical-align: bottom; border-left: #000000 1px solid; border-right: #000000 1px solid; border-top: #000000 1px solid; border-bottom: #000000 1px solid;">
                  <div style="text-align: right; font-family: Arial; font-size: 9pt; font-weight: bold;">March 2019</div>
                </td>
                <td style="width: 21.98%; vertical-align: bottom; border-left: #000000 1px solid; border-right: #000000 1px solid; border-top: #000000 1px solid; border-bottom: #000000 1px solid;">
                  <div style="text-align: center; font-family: Arial; font-size: 9pt;">$45.18 - 48.72</div>
                </td>
                <td style="width: 15.23%; vertical-align: bottom; border-left: #000000 1px solid; border-right: #000000 1px solid; border-top: #000000 1px solid; border-bottom: #000000 1px solid;">
                  <div style="text-align: center; font-family: Arial; font-size: 9pt;">3,382,717</div>
                </td>
                <td style="width: 21.95%; vertical-align: bottom; border-left: #000000 1px solid; border-right: #000000 1px solid; border-top: #000000 1px solid; border-bottom: #000000 1px solid;">
                  <div style="text-align: center; font-family: Arial; font-size: 9pt;">$33.70 - 36.44</div>
                </td>
                <td style="width: 15.9%; vertical-align: bottom; border-left: #000000 1px solid; border-right: #000000 1px solid; border-top: #000000 1px solid; border-bottom: #000000 1px solid;">
                  <div style="text-align: center; font-family: Arial; font-size: 9pt;">1,943,470</div>
                </td>
              </tr>
              <tr>
                <td style="width: 24.93%; vertical-align: bottom; border-left: #000000 1px solid; border-right: #000000 1px solid; border-top: #000000 1px solid; border-bottom: #000000 1px solid;">
                  <div style="text-align: right; font-family: Arial; font-size: 9pt; font-weight: bold;">April 2019</div>
                </td>
                <td style="width: 21.98%; vertical-align: bottom; border-left: #000000 1px solid; border-right: #000000 1px solid; border-top: #000000 1px solid; border-bottom: #000000 1px solid;">
                  <div style="text-align: center; font-family: Arial; font-size: 9pt;">$48.90 - 54.06</div>
                </td>
                <td style="width: 15.23%; vertical-align: bottom; border-left: #000000 1px solid; border-right: #000000 1px solid; border-top: #000000 1px solid; border-bottom: #000000 1px solid;">
                  <div style="text-align: center; font-family: Arial; font-size: 9pt;">3,104,513</div>
                </td>
                <td style="width: 21.95%; vertical-align: bottom; border-left: #000000 1px solid; border-right: #000000 1px solid; border-top: #000000 1px solid; border-bottom: #000000 1px solid;">
                  <div style="text-align: center; font-family: Arial; font-size: 9pt;">$36.65 - 40.17</div>
                </td>
                <td style="width: 15.9%; vertical-align: bottom; border-left: #000000 1px solid; border-right: #000000 1px solid; border-top: #000000 1px solid; border-bottom: #000000 1px solid;">
                  <div style="text-align: center; font-family: Arial; font-size: 9pt;">3,182,191</div>
                </td>
              </tr>
              <tr>
                <td style="width: 24.93%; vertical-align: bottom; border-left: #000000 1px solid; border-right: #000000 1px solid; border-top: #000000 1px solid; border-bottom: #000000 1px solid;">
                  <div style="text-align: right; font-family: Arial; font-size: 9pt; font-weight: bold;">May 2019</div>
                </td>
                <td style="width: 21.98%; vertical-align: bottom; border-left: #000000 1px solid; border-right: #000000 1px solid; border-top: #000000 1px solid; border-bottom: #000000 1px solid;">
                  <div style="text-align: center; font-family: Arial; font-size: 9pt;">$52.95 - 56.01</div>
                </td>
                <td style="width: 15.23%; vertical-align: bottom; border-left: #000000 1px solid; border-right: #000000 1px solid; border-top: #000000 1px solid; border-bottom: #000000 1px solid;">
                  <div style="text-align: center; font-family: Arial; font-size: 9pt;">4,008,650</div>
                </td>
                <td style="width: 21.95%; vertical-align: bottom; border-left: #000000 1px solid; border-right: #000000 1px solid; border-top: #000000 1px solid; border-bottom: #000000 1px solid;">
                  <div style="text-align: center; font-family: Arial; font-size: 9pt;">$39.10 - 41.60</div>
                </td>
                <td style="width: 15.9%; vertical-align: bottom; border-left: #000000 1px solid; border-right: #000000 1px solid; border-top: #000000 1px solid; border-bottom: #000000 1px solid;">
                  <div style="text-align: center; font-family: Arial; font-size: 9pt;">2,758,706</div>
                </td>
              </tr>
              <tr>
                <td style="width: 24.93%; vertical-align: bottom; border-left: #000000 1px solid; border-right: #000000 1px solid; border-top: #000000 1px solid; border-bottom: #000000 1px solid;">
                  <div style="text-align: right; font-family: Arial; font-size: 9pt; font-weight: bold;">June 2019</div>
                </td>
                <td style="width: 21.98%; vertical-align: bottom; border-left: #000000 1px solid; border-right: #000000 1px solid; border-top: #000000 1px solid; border-bottom: #000000 1px solid;">
                  <div style="text-align: center; font-family: Arial; font-size: 9pt;">$47.30 - 54.13</div>
                </td>
                <td style="width: 15.23%; vertical-align: bottom; border-left: #000000 1px solid; border-right: #000000 1px solid; border-top: #000000 1px solid; border-bottom: #000000 1px solid;">
                  <div style="text-align: center; font-family: Arial; font-size: 9pt;">4,734,569</div>
                </td>
                <td style="width: 21.95%; vertical-align: bottom; border-left: #000000 1px solid; border-right: #000000 1px solid; border-top: #000000 1px solid; border-bottom: #000000 1px solid;">
                  <div style="text-align: center; font-family: Arial; font-size: 9pt;">$35.97 - 40.08</div>
                </td>
                <td style="width: 15.9%; vertical-align: bottom; border-left: #000000 1px solid; border-right: #000000 1px solid; border-top: #000000 1px solid; border-bottom: #000000 1px solid;">
                  <div style="text-align: center; font-family: Arial; font-size: 9pt;">5,304.406</div>
                </td>
              </tr>
              <tr>
                <td style="width: 24.93%; vertical-align: bottom; border-left: #000000 1px solid; border-right: #000000 1px solid; border-top: #000000 1px solid; border-bottom: #000000 1px solid;">
                  <div style="text-align: right; font-family: Arial; font-size: 9pt; font-weight: bold;">July 2019</div>
                </td>
                <td style="width: 21.98%; vertical-align: bottom; border-left: #000000 1px solid; border-right: #000000 1px solid; border-top: #000000 1px solid; border-bottom: #000000 1px solid;">
                  <div style="text-align: center; font-family: Arial; font-size: 9pt;">$47.40 - 50.72</div>
                </td>
                <td style="width: 15.23%; vertical-align: bottom; border-left: #000000 1px solid; border-right: #000000 1px solid; border-top: #000000 1px solid; border-bottom: #000000 1px solid;">
                  <div style="text-align: center; font-family: Arial; font-size: 9pt;">2,498,782</div>
                </td>
                <td style="width: 21.95%; vertical-align: bottom; border-left: #000000 1px solid; border-right: #000000 1px solid; border-top: #000000 1px solid; border-bottom: #000000 1px solid;">
                  <div style="text-align: center; font-family: Arial; font-size: 9pt;">$35.92 - 38.48</div>
                </td>
                <td style="width: 15.9%; vertical-align: bottom; border-left: #000000 1px solid; border-right: #000000 1px solid; border-top: #000000 1px solid; border-bottom: #000000 1px solid;">
                  <div style="text-align: center; font-family: Arial; font-size: 9pt;">2,335,921</div>
                </td>
              </tr>
              <tr>
                <td style="width: 24.93%; vertical-align: bottom; border-left: #000000 1px solid; border-right: #000000 1px solid; border-top: #000000 1px solid; border-bottom: #000000 1px solid;">
                  <div style="text-align: right; font-family: Arial; font-size: 9pt; font-weight: bold;">August 2019</div>
                </td>
                <td style="width: 21.98%; vertical-align: bottom; border-left: #000000 1px solid; border-right: #000000 1px solid; border-top: #000000 1px solid; border-bottom: #000000 1px solid;">
                  <div style="text-align: center; font-family: Arial; font-size: 9pt;">$44.48 - 48.76</div>
                </td>
                <td style="width: 15.23%; vertical-align: bottom; border-left: #000000 1px solid; border-right: #000000 1px solid; border-top: #000000 1px solid; border-bottom: #000000 1px solid;">
                  <div style="text-align: center; font-family: Arial; font-size: 9pt;">2,496,817</div>
                </td>
                <td style="width: 21.95%; vertical-align: bottom; border-left: #000000 1px solid; border-right: #000000 1px solid; border-top: #000000 1px solid; border-bottom: #000000 1px solid;">
                  <div style="text-align: center; font-family: Arial; font-size: 9pt;">$33.35 - 36.97</div>
                </td>
                <td style="width: 15.9%; vertical-align: bottom; border-left: #000000 1px solid; border-right: #000000 1px solid; border-top: #000000 1px solid; border-bottom: #000000 1px solid;">
                  <div style="text-align: center; font-family: Arial; font-size: 9pt;">1,928,683</div>
                </td>
              </tr>
              <tr>
                <td style="width: 24.93%; vertical-align: bottom; border-left: #000000 1px solid; border-right: #000000 1px solid; border-top: #000000 1px solid; border-bottom: #000000 1px solid;">
                  <div style="text-align: right; font-family: Arial; font-size: 9pt; font-weight: bold;">September 2019</div>
                </td>
                <td style="width: 21.98%; vertical-align: bottom; border-left: #000000 1px solid; border-right: #000000 1px solid; border-top: #000000 1px solid; border-bottom: #000000 1px solid;">
                  <div style="text-align: center; font-family: Arial; font-size: 9pt;">$46.98 - 54.29</div>
                </td>
                <td style="width: 15.23%; vertical-align: bottom; border-left: #000000 1px solid; border-right: #000000 1px solid; border-top: #000000 1px solid; border-bottom: #000000 1px solid;">
                  <div style="text-align: center; font-family: Arial; font-size: 9pt;">3,595,763</div>
                </td>
                <td style="width: 21.95%; vertical-align: bottom; border-left: #000000 1px solid; border-right: #000000 1px solid; border-top: #000000 1px solid; border-bottom: #000000 1px solid;">
                  <div style="text-align: center; font-family: Arial; font-size: 9pt;">$35.25 - 40.99</div>
                </td>
                <td style="width: 15.9%; vertical-align: bottom; border-left: #000000 1px solid; border-right: #000000 1px solid; border-top: #000000 1px solid; border-bottom: #000000 1px solid;">
                  <div style="text-align: center; font-family: Arial; font-size: 9pt;">2,021,954</div>
                </td>
              </tr>
              <tr>
                <td style="width: 24.93%; vertical-align: bottom; border-left: #000000 1px solid; border-right: #000000 1px solid; border-top: #000000 1px solid; border-bottom: #000000 1px solid;">
                  <div style="text-align: right; font-family: Arial; font-size: 9pt; font-weight: bold;">October 2019</div>
                </td>
                <td style="width: 21.98%; vertical-align: bottom; border-left: #000000 1px solid; border-right: #000000 1px solid; border-top: #000000 1px solid; border-bottom: #000000 1px solid;">
                  <div style="text-align: center; font-family: Arial; font-size: 9pt;">$49.76 - 54.29</div>
                </td>
                <td style="width: 15.23%; vertical-align: bottom; border-left: #000000 1px solid; border-right: #000000 1px solid; border-top: #000000 1px solid; border-bottom: #000000 1px solid;">
                  <div style="text-align: center; font-family: Arial; font-size: 9pt;">2,163,055</div>
                </td>
                <td style="width: 21.95%; vertical-align: bottom; border-left: #000000 1px solid; border-right: #000000 1px solid; border-top: #000000 1px solid; border-bottom: #000000 1px solid;">
                  <div style="text-align: center; font-family: Arial; font-size: 9pt;">$38.10 - 41.05</div>
                </td>
                <td style="width: 15.9%; vertical-align: bottom; border-left: #000000 1px solid; border-right: #000000 1px solid; border-top: #000000 1px solid; border-bottom: #000000 1px solid;">
                  <div style="text-align: center; font-family: Arial; font-size: 9pt;">1,280,591</div>
                </td>
              </tr>
              <tr>
                <td style="width: 24.93%; vertical-align: bottom; border-left: #000000 1px solid; border-right: #000000 1px solid; border-top: #000000 1px solid; border-bottom: #000000 1px solid;">
                  <div style="text-align: right; font-family: Arial; font-size: 9pt; font-weight: bold;">November 2019</div>
                </td>
                <td style="width: 21.98%; vertical-align: bottom; border-left: #000000 1px solid; border-right: #000000 1px solid; border-top: #000000 1px solid; border-bottom: #000000 1px solid;">
                  <div style="text-align: center; font-family: Arial; font-size: 9pt;">$50.95 - 58.11</div>
                </td>
                <td style="width: 15.23%; vertical-align: bottom; border-left: #000000 1px solid; border-right: #000000 1px solid; border-top: #000000 1px solid; border-bottom: #000000 1px solid;">
                  <div style="text-align: center; font-family: Arial; font-size: 9pt;">2,097,623</div>
                </td>
                <td style="width: 21.95%; vertical-align: bottom; border-left: #000000 1px solid; border-right: #000000 1px solid; border-top: #000000 1px solid; border-bottom: #000000 1px solid;">
                  <div style="text-align: center; font-family: Arial; font-size: 9pt;">$38.65 - 43.76</div>
                </td>
                <td style="width: 15.9%; vertical-align: bottom; border-left: #000000 1px solid; border-right: #000000 1px solid; border-top: #000000 1px solid; border-bottom: #000000 1px solid;">
                  <div style="text-align: center; font-family: Arial; font-size: 9pt;">1,292,674</div>
                </td>
              </tr>
              <tr>
                <td style="width: 24.93%; vertical-align: bottom; border-left: #000000 1px solid; border-right: #000000 1px solid; border-top: #000000 1px solid; border-bottom: #000000 1px solid;">
                  <div style="text-align: right; font-family: Arial; font-size: 9pt; font-weight: bold;">December 2019</div>
                </td>
                <td style="width: 21.98%; vertical-align: bottom; border-left: #000000 1px solid; border-right: #000000 1px solid; border-top: #000000 1px solid; border-bottom: #000000 1px solid;">
                  <div style="text-align: center; font-family: Arial; font-size: 9pt;">$52.62 - 58.10</div>
                </td>
                <td style="width: 15.23%; vertical-align: bottom; border-left: #000000 1px solid; border-right: #000000 1px solid; border-top: #000000 1px solid; border-bottom: #000000 1px solid;">
                  <div style="text-align: center; font-family: Arial; font-size: 9pt;">2,974,801</div>
                </td>
                <td style="width: 21.95%; vertical-align: bottom; border-left: #000000 1px solid; border-right: #000000 1px solid; border-top: #000000 1px solid; border-bottom: #000000 1px solid;">
                  <div style="text-align: center; font-family: Arial; font-size: 9pt;">$39.96 - 43.81</div>
                </td>
                <td style="width: 15.9%; vertical-align: bottom; border-left: #000000 1px solid; border-right: #000000 1px solid; border-top: #000000 1px solid; border-bottom: #000000 1px solid;">
                  <div style="text-align: center; font-family: Arial; font-size: 9pt;">2,237,673</div>
                </td>
              </tr>
              <tr>
                <td style="width: 24.93%; vertical-align: bottom; border-left: #000000 1px solid; border-right: #000000 1px solid; border-top: #000000 1px solid; border-bottom: #000000 1px solid;">
                  <div style="text-align: right; font-family: Arial; font-size: 9pt; font-weight: bold;">January 2020</div>
                </td>
                <td style="width: 21.98%; vertical-align: bottom; border-left: #000000 1px solid; border-right: #000000 1px solid; border-top: #000000 1px solid; border-bottom: #000000 1px solid;">
                  <div style="text-align: center; font-family: Arial; font-size: 9pt;">$55.37 - 61.41</div>
                </td>
                <td style="width: 15.23%; vertical-align: bottom; border-left: #000000 1px solid; border-right: #000000 1px solid; border-top: #000000 1px solid; border-bottom: #000000 1px solid;">
                  <div style="text-align: center; font-family: Arial; font-size: 9pt;">2,858,337</div>
                </td>
                <td style="width: 21.95%; vertical-align: bottom; border-left: #000000 1px solid; border-right: #000000 1px solid; border-top: #000000 1px solid; border-bottom: #000000 1px solid;">
                  <div style="text-align: center; font-family: Arial; font-size: 9pt;">$42.57 - 46.86</div>
                </td>
                <td style="width: 15.9%; vertical-align: bottom; border-left: #000000 1px solid; border-right: #000000 1px solid; border-top: #000000 1px solid; border-bottom: #000000 1px solid;">
                  <div style="text-align: center; font-family: Arial; font-size: 9pt;">2,392,299</div>
                </td>
              </tr>

          </table>
          <div><br>
          </div>
          <div>
            <div style="text-align: justify; font-family: Arial; font-size: 9pt;">As of the date of this AIF, the most recent closing price for trading of our common shares was CAD$ 52.34 on the TSX and US$ 37.58 on the NASDAQ.</div>
          </div>
          <div><br>
          </div>
          <div style="text-align: justify;">
            <div>
              <table id="z4a4745da9d02434e97306748a71d2d56" class="DSPFListTable" style="font-family: 'Times New Roman', Times, serif; font-size: 10pt; width: 100%; text-align: left; color: #000000;" cellpadding="0" cellspacing="0">

                  <tr>
                    <td style="width: 36pt; vertical-align: top; font-family: Arial; font-size: 9pt; font-weight: bold;">6.5</td>
                    <td style="width: auto; vertical-align: top; text-align: justify;">
                      <div style="font-family: Arial; font-size: 9pt; font-weight: bold;">Shareholder Rights Plan</div>
                    </td>
                  </tr>

              </table>
            </div>
          </div>
          <div>&#160;</div>
          <div style="text-align: justify; font-family: Arial; font-size: 9pt;">On November 29, 2004, our Board of Directors approved a shareholder rights plan (the &#8220;Rights Plan&#8221;) which was approved by the TSX and was approved by our shareholders on May
            18, 2005. The primary objectives of the Rights Plan are to ensure that to the extent possible, in the context of an unsolicited take-over bid for of the common shares of our Company, that all shareholders of the Company are treated fairly and
            to ensure that the Board of Directors is provided with sufficient time to evaluate any such bid and to assess alternatives to maximize shareholder value that may include, without limitation, the continued implementation of the Company&#8217;s
            long-term strategic plans, as those may be modified by the Company from time to time. The Rights Plan is specifically designed to ensure that the following occurs following an unsolicited take-over bid: (i) there is adequate time for competing
            bids to emerge; (ii) shareholders have an equal opportunity to participate in such a bid; (iii) shareholders are provided with adequate time to properly assess the bid; and (iv) a reduction in the pressure to tender which may be encountered by
            a shareholder in the course of a bid. The Rights Plan creates a right that attaches to each present and subsequently issued common share. Until the separation time, which typically occurs at the time of an unsolicited take-over bid, whereby an
            offeror (including persons acting jointly or in concert with the offeror) acquires or attempts to acquire 20% or more of our common shares, the rights are not separable from the common shares, are not exercisable and no separate rights
            certificates are issued. Each right entitles the holder, other than the 20% offeror, from and after the separation time and before the expiration time, to acquire one of our common shares at 50% of the market price at the time of exercise. The
            continuation of the Rights Plan must be approved by shareholders every three years. On each of June 2, 2011, May 29, 2014 and June 1, 2017, our shareholders approved certain amendments</div>
          <div id="DSPFPageBreakArea" style="clear: both; margin-top: 10pt; margin-bottom: 10pt;">
            <div style="text-align: center;" id="DSPFPageNumberArea"><font style="font-family: Arial,Helvetica,'sans-serif'; font-size: 9pt; font-weight: normal; font-style: normal;" id="DSPFPageNumber">34</font></div>
            <div id="DSPFPageBreak" style="page-break-after:always;">
              <hr style="margin: 4px 0px; width: 100%; border-width: 0; height: 2px; color: #000000; background-color: #000000; clear: both;" noshade="noshade"></div>
          </div>
          <div style="text-align: justify; font-family: Arial; font-size: 9pt;">to the Rights Plan and approved the continued effectiveness of the Rights Plan. The Rights Plan will expire at the termination of our annual meeting of the shareholders to be
            held in the 2020 calendar year, unless its continued existence is approved by the shareholders before such expiration.</div>
          <div><br>
          </div>
          <div>
            <div style="border-bottom: 1px solid #000000; border-top: 1px solid #000000; text-align: justify;"><font style="font-size: 9pt; font-family: Arial; font-weight: bold;">ITEM 7</font>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;<font style="font-size: 9pt; font-family: Arial; font-weight: bold;">DIRECTORS AND EXECUTIVE OFFICERS</font></div>
          </div>
          <div style="text-align: justify;"><br>
          </div>
          <div style="text-align: justify;"><font style="font-size: 9pt; font-family: Arial; font-weight: bold;">7.1</font>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;<font style="font-size: 9pt; font-family: Arial; font-weight: bold;">Summary Information</font></div>
          <div style="text-align: justify; font-family: Arial; font-size: 9pt;">The following table sets forth the name, location of residence and office held by each of our executive officers and directors as at April 14, 2020. Each director is elected at
            the annual meeting of shareholders or appointed pursuant to the provisions of our by-laws and applicable laws to serve until the next annual meeting or until a successor is elected or appointed, subject to earlier resignation by the director.</div>
          <div><br>
          </div>
          <table id="zab0d5e4379814280b7f1666b2c493e3b" style="font-family: 'Times New Roman', Times, serif; font-size: 10pt; width: 100%; border-collapse: collapse; text-align: left; color: #000000;" cellpadding="0" cellspacing="0">

              <tr>
                <td style="width: 48.21%; vertical-align: top;">
                  <div style="margin: 0px 0px 3px; font-family: Arial; font-size: 9pt; font-weight: bold;"><u>Name and Location of Residence</u></div>
                </td>
                <td style="width: 51.79%; vertical-align: top;">
                  <div style="margin: 0px 0px 5px; font-family: Arial; font-size: 9pt; font-weight: bold;"><u>Office Held</u></div>
                </td>
              </tr>
              <tr>
                <td style="width: 48.21%; vertical-align: top;">
                  <div style="font-family: Arial; font-size: 9pt;"><font style="font-weight: bold;">Eric A. Demirian</font><sup style="vertical-align: text-top; line-height: 1; font-size: smaller;">(1)(3)</sup></div>
                  <div style="margin: 0px 0px 7px; font-family: Arial; font-size: 9pt;">Toronto, Ontario, Canada</div>
                </td>
                <td style="width: 51.79%; vertical-align: top;">
                  <div style="font-family: Arial; font-size: 9pt;">Chair of the Board</div>
                </td>
              </tr>
              <tr>
                <td style="width: 48.21%; vertical-align: top;">
                  <div style="margin: 0px 0px 7px; font-family: Arial; font-size: 9pt;"><font style="font-weight: bold;">David I. Beatson</font><sup style="vertical-align: text-top; line-height: 1; font-size: smaller;">(2)(4)</sup><br>
                    Hillsborough, California, USA</div>
                </td>
                <td style="width: 51.79%; vertical-align: top;">
                  <div style="font-family: Arial; font-size: 9pt;">Director</div>
                </td>
              </tr>
              <tr>
                <td style="width: 48.21%; vertical-align: top;">
                  <div style="margin: 0px 0px 7px; font-family: Arial; font-size: 9pt;"><font style="font-weight: bold;">Deborah Close</font><sup style="vertical-align: text-top; line-height: 1; font-size: smaller;">(1)(2)</sup><br>
                    Calgary, Alberta Canada</div>
                </td>
                <td style="width: 51.79%; vertical-align: top;">
                  <div style="font-family: Arial; font-size: 9pt;">Director</div>
                </td>
              </tr>
              <tr>
                <td style="width: 48.21%; vertical-align: top;">
                  <div style="margin: 0px 0px 7px; font-family: Arial; font-size: 9pt;"><font style="font-weight: bold;">Dennis Maple</font><sup style="vertical-align: text-top; line-height: 1; font-size: smaller;"> (2)(4)</sup><br>
                    Malvern, Pennsylvania, USA</div>
                </td>
                <td style="width: 51.79%; vertical-align: top;">
                  <div style="font-family: Arial; font-size: 9pt;">Director</div>
                </td>
              </tr>
              <tr>
                <td style="width: 48.21%; vertical-align: top;">
                  <div style="margin: 0px 0px 7px; font-family: Arial; font-size: 9pt;"><font style="font-weight: bold;">Jane O&#8217;Hagan</font><sup style="vertical-align: text-top; line-height: 1; font-size: smaller;">(2)(3)(4)</sup><br>
                    Calgary, Alberta, Canada</div>
                </td>
                <td style="width: 51.79%; vertical-align: top;">
                  <div style="font-family: Arial; font-size: 9pt;">Director</div>
                </td>
              </tr>
              <tr>
                <td style="width: 48.21%; vertical-align: top;">
                  <div style="font-family: Arial; font-size: 9pt;"><font style="font-weight: bold;">John J. Walker</font><sup style="vertical-align: text-top; line-height: 1; font-size: smaller;">(1)(3)(4)</sup></div>
                  <div style="margin: 0px 0px 7px; font-family: Arial; font-size: 9pt;">Wyckoff, New Jersey, USA</div>
                </td>
                <td style="width: 51.79%; vertical-align: top;">
                  <div style="font-family: Arial; font-size: 9pt;">Director</div>
                </td>
              </tr>
              <tr>
                <td style="width: 48.21%; vertical-align: top;">
                  <div style="margin: 0px 0px 7px; font-family: Arial; font-size: 9pt;"><font style="font-weight: bold;">Edward J. Ryan</font><br>
                    Fort Washington, Pennsylvania, USA</div>
                </td>
                <td style="width: 51.79%; vertical-align: top;">
                  <div style="font-family: Arial; font-size: 9pt;">Director and Chief Executive Officer</div>
                </td>
              </tr>
              <tr>
                <td style="width: 48.21%; vertical-align: top;">
                  <div style="margin: 0px 0px 7px; font-family: Arial; font-size: 9pt;"><font style="font-weight: bold;">J. Scott Pagan</font><br>
                    Cambridge, Ontario, Canada</div>
                </td>
                <td style="width: 51.79%; vertical-align: top;">
                  <div style="font-family: Arial; font-size: 9pt;">President and Chief Operating Officer</div>
                </td>
              </tr>
              <tr>
                <td style="width: 48.21%; vertical-align: top;">
                  <div style="margin: 0px 0px 7px; font-family: Arial; font-size: 9pt;"><font style="font-weight: bold;">Allan Brett</font><br>
                    Kleinburg, Ontario, Canada</div>
                </td>
                <td style="width: 51.79%; vertical-align: top;">
                  <div style="font-family: Arial; font-size: 9pt;">Chief Financial Officer</div>
                </td>
              </tr>
              <tr>
                <td style="width: 48.21%; vertical-align: top;">
                  <div style="margin: 0px 0px 7px; font-family: Arial; font-size: 9pt;"><font style="font-weight: bold;">Raimond Diederik</font><br>
                    Waterloo, Ontario, Canada</div>
                </td>
                <td style="width: 51.79%; vertical-align: top;">
                  <div style="font-family: Arial; font-size: 9pt;">Executive Vice President, Information Services</div>
                </td>
              </tr>
              <tr>
                <td style="width: 48.21%; vertical-align: top;">
                  <div style="margin: 0px 0px 7px; font-family: Arial; font-size: 9pt;"><font style="font-weight: bold;">Ed Gardner</font><br>
                    Toronto, Ontario, Canada</div>
                </td>
                <td style="width: 51.79%; vertical-align: top;">
                  <div style="font-family: Arial; font-size: 9pt;">Executive Vice President, Corporate Development</div>
                </td>
              </tr>
              <tr>
                <td style="width: 48.21%; vertical-align: top;">
                  <div style="margin: 0px 0px 7px; font-family: Arial; font-size: 9pt;"><font style="font-weight: bold;">Chris Jones</font><br>
                    Boston, Massachusetts, USA</div>
                </td>
                <td style="width: 51.79%; vertical-align: top;">
                  <div style="font-family: Arial; font-size: 9pt;">Executive Vice President, Marketing and Services</div>
                </td>
              </tr>
              <tr>
                <td style="width: 48.21%; vertical-align: top;">
                  <div style="margin: 0px 0px 7px; font-family: Arial; font-size: 9pt;"><font style="font-weight: bold;">Robert Parker</font><br>
                    Halifax, Nova Scotia, Canada</div>
                </td>
                <td style="width: 51.79%; vertical-align: top;">
                  <div style="font-family: Arial; font-size: 9pt;">Executive Vice President, Customer Support and Client Services</div>
                </td>
              </tr>
              <tr>
                <td style="width: 48.21%; vertical-align: top;">
                  <div style="margin: 0px 0px 7px; font-family: Arial; font-size: 9pt;"><font style="font-weight: bold;">Andrew Roszko</font><br>
                    Montreal, Quebec, Canada</div>
                </td>
                <td style="width: 51.79%; vertical-align: top;">
                  <div style="font-family: Arial; font-size: 9pt;">Executive Vice President, Global Sales</div>
                </td>
              </tr>
              <tr>
                <td style="width: 48.21%; vertical-align: top;">
                  <div style="margin: 0px 0px 7px; font-family: Arial; font-size: 9pt;"><font style="font-weight: bold;">Michael Verhoeve</font><br>
                    Waterloo, Ontario, Canada</div>
                </td>
                <td style="width: 51.79%; vertical-align: top;">
                  <div style="font-family: Arial; font-size: 9pt;">Executive Vice President, Legal, General Counsel and Corporate Secretary</div>
                </td>
              </tr>
              <tr>
                <td style="width: 48.21%; vertical-align: top;">
                  <div style="font-family: Arial; font-size: 9pt;"><font style="font-weight: bold;">Kenneth Wood</font><br>
                    Fort Myers, Florida, USA</div>
                </td>
                <td style="width: 51.79%; vertical-align: top;">
                  <div style="font-family: Arial; font-size: 9pt;">Executive Vice President, Product Management</div>
                </td>
              </tr>

          </table>
          <div><br>
          </div>
          <div id="DSPFPageBreakArea" style="clear: both; margin-top: 10pt; margin-bottom: 10pt;">
            <div style="text-align: center;" id="DSPFPageNumberArea"><font style="font-family: Arial,Helvetica,'sans-serif'; font-size: 9pt; font-weight: normal; font-style: normal;" id="DSPFPageNumber">35</font></div>
            <div id="DSPFPageBreak" style="page-break-after:always;">
              <hr style="margin: 4px 0px; width: 100%; border-width: 0; height: 2px; color: #000000; background-color: #000000; clear: both;" noshade="noshade"></div>
          </div>
          <div style="text-indent: -36pt; margin-left: 72pt; font-family: Arial; font-size: 9pt;">Notes:</div>
          <div>
            <div>
              <table id="z0dd2a78724a1423f9f12c0c9d734012f" class="DSPFListTable" style="font-family: 'Times New Roman', Times, serif; font-size: 10pt; width: 100%; text-align: left; color: #000000;" cellpadding="0" cellspacing="0">

                  <tr>
                    <td style="width: 36pt;"><br>
                    </td>
                    <td style="width: 72pt; vertical-align: top; align: right; font-family: Arial; font-size: 9pt;">(1)</td>
                    <td style="width: auto; vertical-align: top;">
                      <div style="font-family: Arial; font-size: 9pt;">Member of the Audit Committee.</div>
                    </td>
                  </tr>

              </table>
            </div>
          </div>
          <div>
            <div>
              <table id="zfbd5da6069a441baac692bfc01407960" class="DSPFListTable" style="font-family: 'Times New Roman', Times, serif; font-size: 10pt; width: 100%; text-align: left; color: #000000;" cellpadding="0" cellspacing="0">

                  <tr>
                    <td style="width: 36pt;"><br>
                    </td>
                    <td style="width: 72pt; vertical-align: top; align: right; font-family: Arial; font-size: 9pt;">(2)</td>
                    <td style="width: auto; vertical-align: top;">
                      <div style="font-family: Arial; font-size: 9pt;">Member of the Compensation Committee.</div>
                    </td>
                  </tr>

              </table>
            </div>
          </div>
          <div>
            <div>
              <table id="z52288025c65c42659f686dd15e280302" class="DSPFListTable" style="font-family: 'Times New Roman', Times, serif; font-size: 10pt; width: 100%; text-align: left; color: #000000;" cellpadding="0" cellspacing="0">

                  <tr>
                    <td style="width: 36pt;"><br>
                    </td>
                    <td style="width: 72pt; vertical-align: top; align: right; font-family: Arial; font-size: 9pt;">(3)</td>
                    <td style="width: auto; vertical-align: top;">
                      <div style="font-family: Arial; font-size: 9pt;">Member of the Corporate Governance Committee.</div>
                    </td>
                  </tr>

              </table>
            </div>
          </div>
          <div>
            <div>
              <table id="z841f77041d864d8b90b136be6aec2462" class="DSPFListTable" style="font-family: 'Times New Roman', Times, serif; font-size: 10pt; width: 100%; text-align: left; color: #000000;" cellpadding="0" cellspacing="0">

                  <tr>
                    <td style="width: 36pt;"><br>
                    </td>
                    <td style="width: 72pt; vertical-align: top; align: right; font-family: Arial; font-size: 9pt;">(4)</td>
                    <td style="width: auto; vertical-align: top;">
                      <div style="font-family: Arial; font-size: 9pt;">Member of the Nominating Committee</div>
                    </td>
                  </tr>

              </table>
            </div>
          </div>
          <div><br>
          </div>
          <div style="text-align: justify; font-family: Arial; font-size: 9pt;">Information about each of our directors and executive officers, including his or her respective principal occupation during at least the five years preceding January 31, 2020,
            is as follows:</div>
          <div><br>
          </div>
          <div style="text-align: justify; font-family: Arial; font-size: 9pt;"><font style="font-weight: bold; font-style: italic;">Eric A. Demirian</font><font style="font-weight: bold;">&#160;</font>has been a member of our Board of Directors since June
            2011. Mr. Demirian was appointed Chairman of the Board in May 2014 and previously acted as Chair of the Corporation&#8217;s audit committee. Mr. Demirian is a Chartered Professional Accountant, Certified General Accountant and a Chartered Accountant.
            Since 2003, Mr. Demirian has served as president of Parklea Capital, Inc. (&#8220;<font style="font-weight: bold;">Parklea</font>&#8221;), a boutique financial and strategy advisory firm providing services to small- and mid-market public and private
            companies, and President of Demicap Inc., a private investment firm. Prior to Mr. Demirian&#8217;s position at Parklea, he held the position of Executive Vice President of Group Telecom, Inc. from 2000 to 2003. From 1983 to 2000, Mr. Demirian was
            with PricewaterhouseCoopers LLP (&#8220;<font style="font-weight: bold;">PwC</font>&#8221;) where he was a partner and head of the Information and Communications Practice. Mr. Demirian serves on the boards of Enghouse Systems Ltd. (TSX:ENGH), Redline
            Communications Inc. (TSX:RDL), and Imax Corporation (NYSE:IMAX). Mr. Demirian is a former director and chair of the audit committees of a number of public companies. Mr. Demirian holds a Bachelor of Business Management degree from Ryerson
            University.</div>
          <div><br>
          </div>
          <div style="text-align: justify; font-family: Arial; font-size: 9pt;"><font style="font-weight: bold; font-style: italic;">David I. Beatson</font> has been a member of our Board of Directors since March 2006. Since August 2001, Mr. Beatson has
            been head of Ascent Advisors, LLC, a San Francisco Bay-Area consulting firm focusing on strategic planning and mergers and acquisitions. From December 2006 to October 2012, Mr. Beatson was Chief Executive Officer of GlobalWare Solutions, a
            full-service provider of e-commerce services along with digital and physical supply chain management solutions with operations in North America, Europe and Asia. From June 2003 to April 2005, Mr. Beatson was President and Chief Executive
            Officer of North America for Panalpina, Inc., a world-leading global transportation and logistics supplier based in Basel, Switzerland. Previously, Mr. Beatson served as Chairman, President and Chief Executive Officer of Circle International
            Group, Inc., a global transportation and logistics company, and as President and Chief Executive Officer of US-based air and ocean freight forwarder Emery Worldwide. Mr. Beatson serves on the board of directors, chair of the audit committee and
            member of the compensation committee of PFSweb, Inc. (NASDAQ: PFSW); on the board of directors of Pilot Freight Services, Ltd. a global transportation and logistics company; on the Executive Board of ATL Partners, a private equity fund based in
            New York City, and on several other corporate and industry boards. Mr. Beatson received his BS in Business Administration from The Ohio State University and his MBA from The University of Cincinnati and also serves on the Dean&#8217;s Advisory
            Council at The Fisher School of Business, The Ohio State University.</div>
          <div><br>
          </div>
          <div style="text-align: justify; font-family: Arial; font-size: 9pt;"><font style="font-weight: bold; font-style: italic;">Deborah Close </font>has been a member of our Board of Directors since May 2015. Ms. Close held the position of President
            of the Production Services division of Tervita Corporation from 2010 until 2016. Tervita Production Services, now High Artic Energy Services (TSX:HWO), delivers engineering and field-based services to the oil and gas industry. From 2002 to
            2010, Ms. Close was the Executive Vice President of DO2 Technologies (now Transzap, Inc.), a software company providing electronic invoicing to the oil and gas industry. During Ms. Close&#8217;s tenure, DO2 grew from a start-up to the leading
            provider of e-invoicing to oil and gas companies and their suppliers. Prior to DO2, Ms. Close served in a number of Regional Vice President roles in Halliburton Corporation&#8217;s software division, Landmark Graphics.&#160; She held executive roles in
            several of Landmark&#8217;s largest regions, including VP of Strategic Accounts, Regional VP of North America and Regional VP of Europe and the Former Soviet Union. During Ms. Close&#8217;s 12 years at Halliburton, she worked in Canada, the US and Europe.&#160;
            Ms. Close also currently serves on the board of directors of a private oil and gas company.&#160; Ms. Close holds a Bachelor of Arts from the University of Calgary and the ICD.D designation from the Institute of Corporate Directors and Rotman School
            of Management.</div>
          <div><br>
          </div>
          <div><br>
          </div>
          <div id="DSPFPageBreakArea" style="clear: both; margin-top: 10pt; margin-bottom: 10pt;">
            <div style="text-align: center;" id="DSPFPageNumberArea"><font style="font-family: Arial,Helvetica,'sans-serif'; font-size: 9pt; font-weight: normal; font-style: normal;" id="DSPFPageNumber">36</font></div>
            <div id="DSPFPageBreak" style="page-break-after:always;">
              <hr style="margin: 4px 0px; width: 100%; border-width: 0; height: 2px; color: #000000; background-color: #000000; clear: both;" noshade="noshade"></div>
          </div>
          <div style="text-align: justify; font-family: Arial; font-size: 9pt;"><font style="font-weight: bold; font-style: italic;">Dennis Maple</font> was elected to our Board of Directors on June 1, 2017. Mr. Maple is currently President and CEO of
            Goddard Systems, Inc., which oversees the operation of more than 500 premium early childhood education schools across the United States. Between January 2014 and August 2019, Mr. Maple was the President of First Student, Inc., a subsidiary of
            United Kingdom based publicly-traded First Group plc. First Group plc is the leading transport operator in the United Kingdom and North America, providing solutions encompassing student bus transportation and public rail. Mr. Maple&#8217;s portfolio
            at First Student included 57,000 employees focused on providing more than 5.5 million passenger journeys daily across the US and Canada. Prior to serving as President of First Group, from 2006 to January 2014, Mr. Maple was President of Aramark
            Education where he had responsibility for more than 15,000 employees serving more than 4,500 US schools with food preparation, facilities management and related services. Prior to his role as President of Aramark Education, from 2003 to 2006,
            Mr. Maple held senior executive management positions at Aramark. Prior to serving in an executive role at Aramark, from 1994 to 2003, Mr. Maple served as an Area Vice President at Coors Brewing and in several other management roles. Prior to
            1994, Mr. Maple held roles at Kraft-General Foods, PepsiCola and The Quaker Oats Company. Mr. Maple has a Bachelor of Science, Business Administration, Accounting from the University of Tennessee. Mr. Maple has served on numerous charitable and
            community-based boards and has been an active participant in organizations supporting primary and secondary schools and communities across North America.</div>
          <div><br>
          </div>
          <div style="text-align: justify; font-family: Arial; font-size: 9pt;"><font style="font-weight: bold; font-style: italic;">Jane O&#8217;Hagan </font>has been a member of our Board of Directors since May 2014. From 2010 until 2014, Ms. O&#8217;Hagan was the
            Executive Vice President and Chief Marketing Officer of Canadian Pacific Railway Limited (&#8220;<font style="font-weight: bold;">CP Rail</font>&#8221;). Ms. O&#8217;Hagan also held various roles at CP including Senior Vice President, Strategy and Yield, Vice
            President, Strategy and External Affairs and Assistant Vice President, Strategy and Research. Ms. O&#8217;Hagan also serves as a director of USD Partners GP LCC, the general partner of USD Partners LP (NYSE:USDP), an acquirer, developer and operator
            of energy-related rail terminals and other complementary mid-stream assets, where&#160; Ms. O&#8217;Hagan serves as the Chair of USD Partners GP LLC board&#8217;s conflicts committee and as a member of the audit committee. In 2018, Ms. O&#8217;Hagan joined the board
            of Pinnacle Renewable Holdings (TSX:PL), a supplier of industrial wood pellets based in Richmond, BC and serves as a member of the audit and risk committees. Ms. O&#8217;Hagan has a Bachelor of Arts (Hons.) and a Bachelor of Administrative and
            Commercial Studies from the University of Western Ontario (London, Ontario, Canada) and has completed graduate studies in Program and Policy Studies from the University of Western Ontario. In December 2012, Ms. O&#8217;Hagan was named one of Canada&#8217;s
            Top 100 Most Powerful Women by the Women&#8217;s Executive Network. Ms. O&#8217;Hagan is also a holder of the ICD.D designation from the Institute of Corporate Directors, which she achieved in June 2016 and earned the CERT Certificate in Cyber Risk
            Oversight issued by Carnegie Mellon University and the National Association of Corporate Directors in February 2018.&#160;</div>
          <div><br>
          </div>
          <div style="text-align: justify; font-family: Arial; font-size: 9pt;"><font style="font-weight: bold; font-style: italic;">John J. Walker</font> has been a member of our Board of Directors since September 2011. Mr. Walker is a Certified Public
            Accountant and a Chartered Global Management Accountant with 37 years overall financial and executive management experience including twenty-one years of experience as a Chief Financial Officer with both public and private companies. Since
            December 2018, Mr. Walker is also a member of the Board of Directors, Chair of the Audit Committee and member of the Compensation and Nominating Committees of Schultze Special Purpose Acquisition Corp. (Nasdaq: SAMAU; SAMA and SAMAW).
            Previously, he served as Chief Financial Officer, and Senior Vice President of Bowne &amp; Company, a New York Stock Exchange-listed provider of services to help companies produce and manage their shareholder, investor and marketing &amp;
            business communications, from 2006 until its acquisition by R.R. Donnelley &amp; Sons in 2010. Prior to Bowne &amp; Company, from 1988 to 2006, Mr. Walker was an executive with Loews Cineplex Entertainment Corporation a motion picture theatre
            exhibition chain, including sixteen years as Chief Financial Officer. Prior thereto, Mr. Walker served for six years as Controller and Principal Accounting Officer of Corporate Property Investors, then one of the largest real estate investment
            trusts in the United States. Mr. Walker also served for six years as Treasurer and Assistant Corporate Controller of Princess Hotels International a company involved in the ownership and operation of luxury resort hotels, real estate and
            timesharing developments. Mr. Walker started his career in the New York office of then-Price Waterhouse. Mr. Walker is a member of the American Institute of Certified Public Accountants and the New York State Society of CPAs.</div>
          <div style="text-align: justify;"><br>
          </div>
          <div id="DSPFPageBreakArea" style="clear: both; margin-top: 10pt; margin-bottom: 10pt;">
            <div style="text-align: center;" id="DSPFPageNumberArea"><font style="font-family: Arial,Helvetica,'sans-serif'; font-size: 9pt; font-weight: normal; font-style: normal;" id="DSPFPageNumber">37</font></div>
            <div id="DSPFPageBreak" style="page-break-after:always;">
              <hr style="margin: 4px 0px; width: 100%; border-width: 0; height: 2px; color: #000000; background-color: #000000; clear: both;" noshade="noshade"></div>
          </div>
          <div style="text-align: justify; font-family: Arial; font-size: 9pt;"><font style="font-weight: bold; font-style: italic;">Edward J. Ryan</font> is our Chief Executive Officer and has been a member of our Board of Directors since May 2014. Mr.
            Ryan joined Descartes in February 2000 in connection with our acquisition of E-Transport Incorporated. Since then, Mr. Ryan has occupied various senior management positions within Descartes, with particular focus on our network and recurring
            business. Mr. Ryan was appointed General Manager, Global Logistics Network in June 2004 and then appointed Executive Vice President, Global Field Operations in July 2007. He was appointed Chief Commercial Officer in June 2011 and appointed
            Chief Executive Officer in November 2013.</div>
          <div><br>
          </div>
          <div style="text-align: justify; font-family: Arial; font-size: 9pt;"><font style="font-weight: bold; font-style: italic;">J. Scott Pagan</font> is our President and Chief Operating Officer. Mr. Pagan joined our legal department in May 2000. Mr.
            Pagan was appointed Corporate Secretary in May 2003, General Counsel &amp; Corporate Secretary in June 2004, and Executive Vice President, Corporate Development in July 2007. He was appointed Chief Corporate Officer in June 2011 and appointed
            President and Chief Operating Officer in November 2013. Prior to joining Descartes, Mr. Pagan was in private legal practice.</div>
          <div><br>
          </div>
          <div style="text-align: justify; font-family: Arial; font-size: 9pt;"><font style="font-weight: bold; font-style: italic;">Allan Brett</font> is our Chief Financial Officer. Mr. Brett is a Chartered Professional Accountant and is an experienced
            public company executive, who served as Chief Financial Officer of Aastra Technologies Limited from 1996 through to its sale to Mitel Networks Corporation in 2014. Mr. Brett was appointed Chief Financial Officer of Descartes in May 2014.</div>
          <div><br>
          </div>
          <div style="text-align: justify; font-family: Arial; font-size: 9pt;"><font style="font-weight: bold; font-style: italic;">Raimond Diederik</font> is our Executive Vice President, Information Services. Mr. Diederik joined Descartes in July 1998
            in connection with our acquisition of Calixon N.V. Since then, Mr. Diederik has occupied various senior management positions within Descartes, with particular focus on our information technology infrastructure and technology development
            activities. Mr. Diederik was appointed SVP, Network Operations &amp; Information Technology in June 2006 and then appointed Executive Vice President, Information Services in September 2009.</div>
          <div><br>
          </div>
          <div style="text-align: justify; font-family: Arial; font-size: 9pt;"><font style="font-weight: bold; font-style: italic;">Ed Gardner</font> is our Executive Vice President, Corporate Development. Mr. Gardner joined Descartes in 2003 where he
            first held a number of senior roles within our corporate finance organization. In his current role as Executive Vice President, Corporate Development, Mr. Gardner is responsible for the development and execution of our M&amp;A strategy.&#160; Mr.
            Gardner&#8217;s previous experience includes both practical logistics experience where he worked in a senior leadership position at a third-party logistics provider as well as deal execution and integration experience as part of Ernst &amp; Young&#8217;s
            Transaction Advisory Services practice in London, England.</div>
          <div><br>
          </div>
          <div style="text-align: justify; font-family: Arial; font-size: 9pt;"><font style="font-weight: bold; font-style: italic;">Chris Jones </font>is our Executive Vice President, Marketing &amp; Services. Mr. Jones joined Descartes in May 2005 and
            served as Executive Vice President, Solutions &amp; Markets until his appointment to Executive Vice President, Solutions &amp; Services in September 2006. Mr. Jones was appointed Executive Vice President, Services in February 2011 and Executive
            Vice-President, Marketing &amp; Services in June 2011. From November 2003 until he joined Descartes, Mr. Jones was Senior Vice President in Aberdeen Group's Value Chain Research division where he was responsible for creating a market-leading
            supply chain and manufacturing research and advisory research practice. Prior to Aberdeen, from September 1998 to January 2003, Mr. Jones was Executive Vice President of Marketing and Corporate Development for SynQuest, Inc., a provider of
            supply chain planning solutions. Before joining SynQuest, from May 1994 to September 1998, Mr. Jones was Vice President and Research Director for Enterprise Resource Planning Solutions at the Gartner Group.</div>
          <div><br>
          </div>
          <div style="text-align: justify; font-family: Arial; font-size: 9pt;"><font style="font-weight: bold; font-style: italic;">Robert Parker</font> is our Executive Vice President, Customer Support and Client Services. Mr. Parker joined Descartes in
            2009 as part of the acquisition of Scancode where he had held the role of VP, Operations for 10 years. Mr. Parker leads Descartes&#8217; global customer support and client services organization and brings over 20 years of senior management and
            logistics consulting experience to Descartes.</div>
          <div><br>
          </div>
          <div style="text-align: justify; font-family: Arial; font-size: 9pt;"><font style="font-weight: bold; font-style: italic;">Andrew Roszko </font>was appointed Executive Vice President, Global Sales in February 2019. Mr. Roszko joined Descartes in
            November 2006 as part of the acquisition of CubeRoute, where he was a founder and held both engineering and operational leadership roles. Prior to CubeRoute, Mr. Roszko ran a consulting practice and, since joining Descartes, he has held
            progressively increasing senior sales leadership roles until his most recent appointment to an Executive Vice President role.</div>
          <div><br>
          </div>
          <div id="DSPFPageBreakArea" style="clear: both; margin-top: 10pt; margin-bottom: 10pt;">
            <div style="text-align: center;" id="DSPFPageNumberArea"><font style="font-family: Arial,Helvetica,'sans-serif'; font-size: 9pt; font-weight: normal; font-style: normal;" id="DSPFPageNumber">38</font></div>
            <div id="DSPFPageBreak" style="page-break-after:always;">
              <hr style="margin: 4px 0px; width: 100%; border-width: 0; height: 2px; color: #000000; background-color: #000000; clear: both;" noshade="noshade"></div>
          </div>
          <div style="text-align: justify; font-family: Arial; font-size: 9pt;"><font style="font-weight: bold; font-style: italic;">Michael Verhoeve </font>is our Executive Vice President, Legal, General Counsel and Corporate Secretary. Mr. Verhoeve was
            previously our Associate General Counsel from 1998 through to 2003, following which, from 2003 to 2014, he acted as General Counsel and Corporate Secretary at two other Canadian-based international publicly traded technology companies: ATS
            Automation Tooling Systems Inc. (TSX:ATA) and Sandvine Corporation (TSX: SVC). Mr. Verhoeve re-joined Descartes in May 2014 in his current role.</div>
          <div><br>
          </div>
          <div style="text-align: justify; font-family: Arial; font-size: 9pt;"><font style="font-weight: bold; font-style: italic;">Kenneth Wood</font><font style="font-weight: bold;">&#160;</font>is our Executive Vice President of Product Management. Mr. Wood
            joined Descartes in July 2001 in connection with our acquisition of Centricity. Mr. Wood provides leadership in defining our product strategy, developing roadmaps, and working with all aspects of product delivery. He brings deep domain
            expertise in supply chain management, transportation management, fleet management, mobile solutions and supply chain planning. Mr. Wood's previous experience included leadership roles in development, consulting and product management&#160;with
            leading supply chain software providers such as CAPS Logistics, i2 Technologies, and Centricity.</div>
          <div><br>
          </div>
          <div style="text-align: justify; font-family: Arial; font-size: 9pt;">To our knowledge, as at April 14, 2020, our directors and executive officers as a group beneficially owned, or controlled or directed, directly or indirectly, 282,633&#160;of our
            common shares, representing approximately 0.33% of the common shares then outstanding.</div>
          <div><br>
          </div>
          <div style="text-align: justify;"><font style="font-size: 9pt; font-family: Arial; font-weight: bold;">7.2</font>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;<font style="font-size: 9pt; font-family: Arial; font-weight: bold;">Committees of the Board of Directors</font></div>
          <div style="text-align: justify; font-family: Arial; font-size: 9pt;">Our Board of Directors currently has four committees: the Audit Committee; the Compensation Committee; the Corporate Governance Committee; and the Nominating Committee. The
            committees, their mandates and membership are discussed below.</div>
          <div>&#160;</div>
          <div style="text-align: justify; font-family: Arial; font-size: 9pt; font-style: italic; font-weight: bold;">Audit Committee</div>
          <div style="text-align: justify; font-family: Arial; font-size: 9pt;">The primary functions of the Audit Committee are to oversee the accounting and financial reporting practices of the Company and the audits of the Company's financial
            statements, including assisting the Board in fulfilling its responsibilities in reviewing: financial disclosures and internal controls over financial reporting; monitoring the system of internal control and overall enterprise risk management;
            monitoring the Company's compliance with Applicable Requirements (as defined in Descartes&#8217; Audit Committee charter); overseeing internal audit functions; selecting the auditors for shareholder approval; reviewing the qualifications,
            independence and performance of the auditors; and reviewing the qualifications, independence and performance of the Company's financial management.</div>
          <div><br>
          </div>
          <div style="text-align: justify; font-family: Arial; font-size: 9pt;">The Board of Directors has adopted an amended Audit Committee charter setting out the scope of the Audit Committee&#8217;s functions, responsibilities and membership requirements. A
            copy of that charter is attached as Appendix &#8220;A&#8221; to this AIF.</div>
          <div><br>
          </div>
          <div style="text-align: justify; font-family: Arial; font-size: 9pt;">The Audit Committee is currently composed of three independent directors: Mr. John J. Walker (Chair), Ms. Deborah Close and Mr. Eric Demirian. The Board of Directors has
            resolved that Mr. Walker and Mr. Demirian are each an &#8220;audit committee financial expert&#8221; as defined in paragraph 8(b) of General Instruction B to Form 40-F promulgated by the Securities and Exchange Commission and that each is financially
            sophisticated for the purposes of NASDAQ Rule 5605(c)(2)(A).</div>
          <div><br>
          </div>
          <div style="text-align: justify; font-family: Arial; font-size: 9pt;">The following sets out the education and experience of the members of the Audit Committee, each of whom is independent and financially literate:</div>
          <div>&#160;</div>
          <div style="text-align: justify; margin-left: 36pt; font-family: Arial; font-size: 9pt;"><font style="font-weight: bold; font-style: italic;">John J. Walker</font> C.P.A., C.G.M.A., B.S. &#8211; Mr. Walker is a Certified Public Accountant and a
            Chartered Global Management Accountant with experience as a Chief Financial Officer with public companies, including Bowne &amp; Company, a New York Stock Exchange-listed company and Loews Cineplex Entertainment Corporation, a New York Stock
            Exchange-listed company and a Toronto Stock Exchange-listed company. Prior to Loews, Mr. Walker served as Controller of Corporate Property Investors and a financial executive at Princess Hotels International. Mr. Walker received his B.S. in
            Accounting from the University of Scranton. Mr. Walker started his career in the New York office of then Price Waterhouse. Mr. Walker is a member of the American Institute of Certified Public Accountants and the New York State Society of CPA&#8217;s.</div>
          <div><br>
          </div>
          <div id="DSPFPageBreakArea" style="clear: both; margin-top: 10pt; margin-bottom: 10pt;">
            <div style="text-align: center;" id="DSPFPageNumberArea"><font style="font-family: Arial,Helvetica,'sans-serif'; font-size: 9pt; font-weight: normal; font-style: normal;" id="DSPFPageNumber">39</font></div>
            <div id="DSPFPageBreak" style="page-break-after:always;">
              <hr style="margin: 4px 0px; width: 100%; border-width: 0; height: 2px; color: #000000; background-color: #000000; clear: both;" noshade="noshade"></div>
          </div>
          <div style="text-align: justify; margin-left: 36pt; font-family: Arial; font-size: 9pt;"><font style="font-weight: bold; font-style: italic;">Deborah Close</font><font style="font-weight: bold;">&#160;</font>B.A., ICD.D &#8211; Ms. Close is formerly the
            President of the Production Services division of Tervita Corporation, a position she held for five years during which she held full P&amp;L responsibility for a division with 1,000 employees;&#160;represented the division in financial disclosure and
            reporting reviews for the corporation; and sat on the executive risk management committee.&#160; Ms. Close has held numerous senior executive positions in the oil and gas industry over the course of her 40-year career, including 12 years with
            Halliburton Corporation in various capacities across Canada, the US and Europe.&#160; Ms. Close holds a Bachelor of Arts from the University of Calgary and the ICD.D designation from the Institute of Corporate Directors and Rotman School of
            Management.</div>
          <div><br>
          </div>
          <div style="text-align: justify; margin-left: 36pt; font-family: Arial; font-size: 9pt;"><font style="font-weight: bold; font-style: italic;">Eric A. Demirian </font>BBM., C.P.A., C.G.A, C.A.&#8211; Mr. Demirian is the Chair of the Corporation&#8217;s Board
            of Directors and was previously the Chair of the Corporation&#8217;s audit committee.&#160; Mr. Demirian is a Chartered Professional Accountant, Certified General Accountant and a Chartered Accountant. Mr. Demirian is a seasoned business executive with a
            unique blend of financial, operational and board governance experience. Since 2003, Mr. Demirian has served as president of Parklea Capital, Inc. (&#8220;Parklea&#8221;), a boutique financial and strategy advisory firm providing services to small- and
            mid-market public and private companies, and President of Demicap Inc., a private investment firm. Prior to Mr. Demirian&#8217;s position at Parklea, he held the position of Executive Vice President of Group Telecom, Inc. from 2000 to 2003. From 1983
            to 2000, Mr. Demirian was with PricewaterhouseCoopers LLP (&#8220;PwC&#8221;) where he was a partner and head of the Information and Communications Practice. Mr. Demirian serves on the boards of Enghouse Systems Ltd. (TSX:ESL), Redline Communications Inc.
            (TSX:RDL), and Imax Corporation (NYSE:IMAX). Mr. Demirian is a former director and chair of the audit committees of a number of public companies, including Menu Foods Income Fund (2005-2010) and Keystone North America Inc. (2007-2010). Mr.
            Demirian holds a Bachelor of Business Management degree from Ryerson University.</div>
          <div><br>
          </div>
          <div style="text-align: justify; font-family: Arial; font-size: 9pt;">The Audit Committee has adopted specific policies and procedures for the engagement of non-audit services from our independent auditor. Those procedures are attached at
            Appendix &#8220;B&#8221; to this AIF.</div>
          <div>&#160;</div>
          <div style="text-align: justify; font-family: Arial; font-size: 9pt; font-style: italic; font-weight: bold;">Compensation Committee</div>
          <div style="text-align: justify; font-family: Arial; font-size: 9pt;">The Compensation Committee is appointed by the Board of Directors to discharge the Board's duties and responsibilities relating to the compensation of the Company's Chief
            Executive Officer and senior management, as well as to review the human resource policies and practices that cover the Company's employees. The Compensation Committee is currently composed of four independent directors: Ms. Deborah Close
            (Chair), Mr. David Beatson, Mr. Dennis Maple and Ms. Jane O&#8217;Hagan.</div>
          <div><br>
          </div>
          <div style="text-align: justify; font-family: Arial; font-size: 9pt; font-style: italic; font-weight: bold;">Corporate Governance Committee</div>
          <div style="text-align: justify; font-family: Arial; font-size: 9pt;">The Corporate Governance Committee is primarily responsible for overseeing Descartes' corporate governance policies and activities. The Corporate Governance Committee reviews
            and maintains the Board of Directors governing documents in compliance with the Code of Business Conduct and Ethics. The Corporate Governance Committee is currently composed of three independent directors: Ms. Jane O&#8217;Hagan (Chair), Mr. Eric
            Demirian, and Mr. John Walker.</div>
          <div><br>
          </div>
          <div style="text-align: justify; font-family: Arial; font-size: 9pt; font-style: italic; font-weight: bold;">Nominating Committee</div>
          <div style="text-align: justify; font-family: Arial; font-size: 9pt;">The primary function of the Nominating Committee is to assist the Board of Directors in identifying, recruiting and nominating suitable candidates to serve on the Board of
            Directors. The Nominating Committee is currently composed of four independent directors: Mr. David Beatson (Chair), Mr. Dennis Maple, Ms. Jane O&#8217;Hagan and Mr. John Walker.</div>
          <div><br>
          </div>
          <div style="text-align: justify;"><font style="font-size: 9pt; font-family: Arial; font-weight: bold;">7.3</font>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;<font style="font-size: 9pt; font-family: Arial; font-weight: bold;">Certain Relationships and Related Transactions</font></div>
          <div style="text-align: justify; font-family: Arial; font-size: 9pt;">Chris Hewat retired from our Board of Directors as of May 30, 2019, partially through our fiscal 2020 year. Blake, Cassels &amp; Graydon LLP, of which Mr. Hewat is a partner,
            provided legal services to us during fiscal 2020 and has been providing, and is expected to continue to provide, legal services to us in fiscal 2021. For fiscal 2020, we incurred fees of approximately CAD $607,119 for legal services rendered by
            Blake, Cassels &amp; Graydon LLP. For fiscal 2019, we incurred fees of approximately CAD $455,399 for legal services rendered by Blake, Cassels &amp; Graydon LLP. The increase in fees incurred with Blake, Cassels &amp; Graydon</div>
          <div id="DSPFPageBreakArea" style="clear: both; margin-top: 10pt; margin-bottom: 10pt;">
            <div style="text-align: center;" id="DSPFPageNumberArea"><font style="font-family: Arial,Helvetica,'sans-serif'; font-size: 9pt; font-weight: normal; font-style: normal;" id="DSPFPageNumber">40</font></div>
            <div id="DSPFPageBreak" style="page-break-after:always;">
              <hr style="margin: 4px 0px; width: 100%; border-width: 0; height: 2px; color: #000000; background-color: #000000; clear: both;" noshade="noshade"></div>
          </div>
          <div style="text-align: justify; font-family: Arial; font-size: 9pt;">LLP from 2019 to 2020 was primarily the result of legal services provided in connection with the Visual Compliance acquisition and the share offering completed in June 2019.</div>
          <div><br>
          </div>
          <div><br>
          </div>
          <div>
            <div style="border-bottom: 1px solid #000000; border-top: 1px solid #000000; text-align: justify;"><font style="font-size: 9pt; font-family: Arial; font-weight: bold;">ITEM 8</font>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;<font style="font-size: 9pt; font-family: Arial; font-weight: bold;">EXTERNAL AUDITORS</font></div>
          </div>
          <div><br>
          </div>
          <div style="text-align: justify; font-family: Arial; font-size: 9pt;">For the fiscal year ended January 31, 2020, our external auditors were KPMG LLP, Independent Registered Public Accounting Firm. KPMG LLP has been our external auditors since
            April 16, 2015. KPMG LLP have confirmed that they are independent with respect to the Company with the meaning of the relevant rules and related interpretations prescribed by the relevant professional bodies in Canada and any applicable
            legislation or regulations and also that they are independent accountants with respect to the Company under all relevant US professional and regulatory standards.</div>
          <div><br>
          </div>
          <div style="text-align: justify; color: #000000; font-family: Arial; font-size: 9pt;">The following table sets forth the fees we have incurred in using the services of KPMG LLP in respect of the applicable fiscal years noted (all amounts in the
            table are in US dollars &#8211; amounts that were billed in Canadian dollars are converted to US dollars at the applicable exchange rate on the last day of the applicable fiscal period):</div>
          <div style="text-align: justify;"><br>
          </div>
          <div><br>
          </div>
          <table id="z475d2ad43289494e87ad7bbe81acd83e" style="border-collapse: collapse; width: 98%; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt; text-align: left;" align="center" border="0" cellpadding="3" cellspacing="0">

              <tr>
                <td style="vertical-align: top; width: 22.93%; border-top: 1px solid rgb(0, 0, 0); border-left: 1px solid rgb(0, 0, 0);">
                  <div style="text-align: right; font-family: Arial; font-size: 9pt; font-weight: bold;">Fiscal Year Ended</div>
                </td>
                <td style="vertical-align: top; width: 17.64%; border-top: 1px solid rgb(0, 0, 0); border-left: 1px solid rgb(0, 0, 0);">
                  <div style="text-align: right; font-family: Arial; font-size: 9pt; font-weight: bold;">Audit Fees</div>
                </td>
                <td style="vertical-align: top; width: 23%; border-top: 1px solid rgb(0, 0, 0); border-left: 1px solid rgb(0, 0, 0);">
                  <div style="text-align: right; font-family: Arial; font-size: 9pt; font-weight: bold;">Audit-Related Fees</div>
                </td>
                <td style="vertical-align: top; width: 18.57%; border-top: 1px solid rgb(0, 0, 0); border-left: 1px solid rgb(0, 0, 0);">
                  <div style="text-align: right; font-family: Arial; font-size: 9pt; font-weight: bold;">All Other Fees</div>
                </td>
                <td style="vertical-align: top; width: 16.71%; border-top: 1px solid rgb(0, 0, 0); border-left: 1px solid rgb(0, 0, 0); border-right: 1px solid rgb(0, 0, 0);">
                  <div style="text-align: right; font-family: Arial; font-size: 9pt; font-weight: bold;">Total</div>
                </td>
              </tr>
              <tr>
                <td style="vertical-align: top; width: 22.93%; border-top: 1px solid rgb(0, 0, 0); border-left: 1px solid rgb(0, 0, 0);">
                  <div style="font-family: Arial; font-size: 9pt; font-weight: bold;">January 31, 2020</div>
                </td>
                <td style="vertical-align: top; width: 17.64%; border-top: 1px solid rgb(0, 0, 0); border-left: 1px solid rgb(0, 0, 0);">
                  <div style="text-align: right; font-family: Arial; font-size: 9pt;">$708,217</div>
                </td>
                <td style="vertical-align: top; width: 23%; border-top: 1px solid rgb(0, 0, 0); border-left: 1px solid rgb(0, 0, 0);">
                  <div style="text-align: right; font-family: Arial; font-size: 9pt;">$2,430</div>
                </td>
                <td style="vertical-align: top; width: 18.57%; border-top: 1px solid rgb(0, 0, 0); border-left: 1px solid rgb(0, 0, 0);">
                  <div style="text-align: right; font-family: Arial; font-size: 9pt;">Nil</div>
                </td>
                <td style="vertical-align: top; width: 16.71%; border-top: 1px solid rgb(0, 0, 0); border-left: 1px solid rgb(0, 0, 0); border-right: 1px solid rgb(0, 0, 0);">
                  <div style="text-align: right; font-family: Arial; font-size: 9pt;">$710,647</div>
                </td>
              </tr>
              <tr>
                <td style="width: 22.93%; vertical-align: top; border-top: 1px solid rgb(0, 0, 0); border-left: 1px solid rgb(0, 0, 0); border-bottom: 1px solid rgb(0, 0, 0);">
                  <div style="font-family: Arial; font-size: 9pt; font-weight: bold;">January 31, 2019</div>
                </td>
                <td style="width: 17.64%; vertical-align: top; border-top: 1px solid rgb(0, 0, 0); border-left: 1px solid rgb(0, 0, 0); border-bottom: 1px solid rgb(0, 0, 0);">
                  <div style="text-align: right; font-family: Arial; font-size: 9pt;">$579,606</div>
                </td>
                <td style="width: 23%; vertical-align: top; border-top: 1px solid rgb(0, 0, 0); border-left: 1px solid rgb(0, 0, 0); border-bottom: 1px solid rgb(0, 0, 0);">
                  <div style="text-align: right; font-family: Arial; font-size: 9pt;">$2,430</div>
                </td>
                <td style="width: 18.57%; vertical-align: top; border-top: 1px solid rgb(0, 0, 0); border-left: 1px solid rgb(0, 0, 0); border-bottom: 1px solid rgb(0, 0, 0);">
                  <div style="text-align: right; font-family: Arial; font-size: 9pt;">Nil</div>
                </td>
                <td style="width: 16.71%; vertical-align: top; border-width: 1px; border-style: solid; border-color: rgb(0, 0, 0);">
                  <div style="text-align: right; font-family: Arial; font-size: 9pt;">$582,036</div>
                </td>
              </tr>

          </table>
          <div><br>
          </div>
          <div style="text-align: justify; font-family: Arial; font-size: 9pt;">&#8220;Audit Fees&#8221; relate to professional services rendered for the audit of the Company&#8217;s annual consolidated financial statements and reviews of our interim consolidated financial
            statements for the first three quarters of the year, fees associated with a statutory audit of two of our subsidiaries in a foreign jurisdiction and fees associated with the audit of our base-shelf prospectus.</div>
          <div><br>
          </div>
          <div style="text-align: justify; font-family: Arial; font-size: 9pt;">&#8220;Audit-Related Fees&#8221; consist of fees for assurance and related services that are reasonably related to the performance of the audit or review of the Company&#8217;s financial
            statements and are not reported as &#8220;Audit Fees&#8221;.</div>
          <div><br>
          </div>
          <div style="text-align: justify; font-family: Arial; font-size: 9pt;">The above amounts are exclusive of any disbursements and related taxes.</div>
          <div><br>
          </div>
          <div><br>
          </div>
          <div>
            <div style="border-bottom: 1px solid #000000; border-top: 1px solid #000000; text-align: justify;"><font style="font-size: 9pt; font-family: Arial; font-weight: bold;">ITEM 9</font>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;<font style="font-size: 9pt; font-family: Arial; font-weight: bold;">LEGAL PROCEEDINGS</font></div>
          </div>
          <div><br>
          </div>
          <div style="text-align: justify; font-family: Arial; font-size: 9pt;">The Company and its subsidiaries are subject to a variety of claims and suits that arise from time to time in the ordinary course of our business and are typical in our
            industry. The consequences of these matters are not presently determinable but, in the opinion of management, the ultimate liability is not expected to have a material effect on our annual results of operations, financial position or capital
            resources. None of these proceedings involves a claim for damages, exclusive of interest and costs, that exceeds 10% of our current assets.</div>
          <div><br>
          </div>
          <div><br>
          </div>
          <div>
            <div style="border-bottom: 1px solid #000000; border-top: 1px solid #000000; text-align: justify;"><font style="font-size: 9pt; font-family: Arial; font-weight: bold;">ITEM </font><font style="font-size: 9pt; font-family: Arial; font-weight: bold;">10</font>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;<font style="font-size: 9pt; font-family: Arial; font-weight: bold;">ADDITIONAL INFORMATION</font></div>
          </div>
          <div><br>
          </div>
          <div style="text-align: justify; font-family: Arial; font-size: 9pt;">Additional information about us is available at our website at http://www.descartes.com, on SEDAR at http://www.sedar.com&#160;and on EDGAR at http://www.sec.gov. Additional
            information, including directors&#8217; and officers&#8217; remuneration and indebtedness, principal holders of our securities and securities authorized for issuance under equity compensation plans, where applicable, is contained in our Management
            Information Circular for our annual meeting of shareholders held on May 30, 2019. Additional financial</div>
          <div id="DSPFPageBreakArea" style="clear: both; margin-top: 10pt; margin-bottom: 10pt;">
            <div style="text-align: center;" id="DSPFPageNumberArea"><font style="font-family: Arial,Helvetica,'sans-serif'; font-size: 9pt; font-weight: normal; font-style: normal;" id="DSPFPageNumber">41</font></div>
            <div id="DSPFPageBreak" style="page-break-after:always;">
              <hr style="margin: 4px 0px; width: 100%; border-width: 0; height: 2px; color: #000000; background-color: #000000; clear: both;" noshade="noshade"></div>
          </div>
          <!--PROfilePageNumberReset%Num%42%%%-->
          <div style="text-align: justify; font-family: Arial; font-size: 9pt;">information is provided in the section entitled &#8220;Management&#8217;s Discussion and Analysis of Financial Condition and Results of Operations&#8221; and the consolidated financial
            statements, the notes thereto and the report of independent registered public accounting firm thereon contained in our Annual Report to the Shareholders for the year ended January 31, 2020.</div>
        </div>
        <div style="text-align: left;"><br>
        </div>
        <div style="text-align: left;"><br>
        </div>
        <div style="text-align: left;"><br>
        </div>
        <div style="text-align: left;"><br>
        </div>
        <div style="text-align: left;"><br>
          <div><br>
          </div>
          <div><br>
          </div>
          <div><br>
          </div>
          <div><br>
            <div><br>
            </div>
            <div><br>
            </div>
            <div><br>
            </div>
            <div><br>
            </div>
            <div><br>
            </div>
            <div><br>
            </div>
            <div><br>
              <div><br>
              </div>
              <div><br>
              </div>
              <div><br>
              </div>
              <br>
            </div>
            <br>
          </div>
          <div><br>
          </div>
          <div><br>
          </div>
          <div><br>
          </div>
          <div><br>
          </div>
          <div><br>
          </div>
          <div><br>
            <div><br>
            </div>
            <br>
          </div>
          <div style="clear: both; margin-top: 10pt; margin-bottom: 10pt;" id="DSPFPageBreakArea">
            <div style="text-align: center;" id="DSPFPageNumberArea"><font style="font-family: Arial,Helvetica,'sans-serif'; font-size: 9pt; font-weight: normal; font-style: normal;" id="DSPFPageNumber">42</font></div>
            <div style="page-break-after: always;" id="DSPFPageBreak">
              <hr style="border-width: 0px; clear: both; margin: 4px 0px; width: 100%; height: 2px; color: rgb(0, 0, 0); background-color: rgb(0, 0, 0);" noshade="noshade"></div>
          </div>
          <!--PROfilePageNumberReset%Num%43%%%-->
          <div>
            <div style="text-align: center; font-family: 'Times New Roman'; font-weight: bold;">
              <div style="text-align: left;">
                <div style="text-align: center; font-weight: normal;">Appendix A to Annual Information Form</div>
                <div style="text-align: center;"> <br>
                </div>
                <div style="text-align: center;"> <br>
                </div>
              </div>
              THE DESCARTES SYSTEMS GROUP INC.</div>
            <div><br>
            </div>
            <div style="text-align: center; font-family: 'Times New Roman'; font-weight: bold;">CHARTER FOR</div>
            <div style="text-align: center; font-family: 'Times New Roman'; font-weight: bold;">THE AUDIT COMMITTEE OF</div>
            <div style="text-align: center; font-family: 'Times New Roman'; font-weight: bold;">THE BOARD OF DIRECTORS</div>
            <div><br>
            </div>
            <div><br>
            </div>
            <div style="font-family: 'Times New Roman'; font-weight: bold;">1. PURPOSE</div>
            <div style="font-family: 'Times New Roman'; font-weight: bold;"> <br>
            </div>
            <div>
              <div>
                <table id="zdb00cd9bf8374d2a8e7d6aca9175151a" class="DSPFListTable" style="font-family: 'Times New Roman',Times,serif; font-size: 10pt; width: 100%; text-align: left; color: rgb(0, 0, 0);" cellpadding="0" cellspacing="0">

                    <tr>
                      <td style="width: 18pt;"><br>
                      </td>
                      <td style="width: 18pt; vertical-align: top; color: rgb(0, 0, 0); font-family: 'Times New Roman';">1.</td>
                      <td style="width: auto; vertical-align: top;">
                        <div style="font-family: 'Times New Roman';"><font style="color: rgb(0, 0, 0);">The primary functions of the Audit Committee are to oversee the accounting and financial reporting practices of The Descartes Systems Group Inc. (the &#8220;</font><font style="font-weight: bold; color: rgb(0, 0, 0);">Company</font><font style="color: rgb(0, 0, 0);">&#8221;) and the audits of the Company&#8217;s financial statements and to exercise the responsibilities and duties set forth below, including,
                            but not limited to, assisting the Board of Directors (the &#8220;</font><font style="font-weight: bold; color: rgb(0, 0, 0);">Board</font><font style="color: rgb(0, 0, 0);">&#8221;) in fulfilling its responsibilities in reviewing the
                            following: financial disclosures and internal controls over financial reporting; monitoring the system of internal control and compliance with Applicable Requirements (as defined below); selecting the auditors for shareholder
                            approval; </font>and reviewing<font style="color: rgb(0, 0, 0);"> the qualifications, independence and performance of the auditors and the qualifications and performance of the Company&#8217;s financial management.</font></div>
                      </td>
                    </tr>

                </table>
              </div>
            </div>
            <div>&#160;</div>
            <div style="font-family: 'Times New Roman'; font-weight: bold;">2. MEMBERSHIP AND ORGANIZATION<br>
              <br>
            </div>
            <div>
              <div>
                <table id="z5d0204c450e445a3bd6bf03028bb317e" class="DSPFListTable" style="font-family: 'Times New Roman',Times,serif; font-size: 10pt; width: 100%; text-align: left; color: rgb(0, 0, 0);" cellpadding="0" cellspacing="0">

                    <tr>
                      <td style="width: 18pt;"><br>
                      </td>
                      <td style="width: 18pt; vertical-align: top; color: rgb(0, 0, 0); font-family: 'Times New Roman';">1.</td>
                      <td style="width: auto; vertical-align: top;">
                        <div style="color: rgb(0, 0, 0); font-family: 'Times New Roman';"><font style="font-weight: bold;">Composition</font> - The Audit Committee shall consist of not less than three independent members of the Board. At the invitation of
                          the Audit Committee, members of the Company&#8217;s management and others may attend Audit Committee meetings as the Audit Committee considers necessary or desirable.</div>
                      </td>
                    </tr>

                </table>
              </div>
            </div>
            <div>&#160;</div>
            <div>
              <div>
                <table id="z4a4d1b99efea4715be3f3b8977b4fc6d" class="DSPFListTable" style="font-family: 'Times New Roman',Times,serif; font-size: 10pt; width: 100%; text-align: left; color: rgb(0, 0, 0);" cellpadding="0" cellspacing="0">

                    <tr>
                      <td style="width: 18pt;"><br>
                      </td>
                      <td style="width: 18pt; vertical-align: top; color: rgb(0, 0, 0); font-family: 'Times New Roman';">2.</td>
                      <td style="width: auto; vertical-align: top;">
                        <div style="color: rgb(0, 0, 0); font-family: 'Times New Roman';"><font style="font-weight: bold;">Appointment and Removal of Audit Committee Members</font> - Each member of the Audit Committee shall be appointed by the Board on an
                          annual basis and shall serve at the pleasure of the Board, or until the earlier of (a) the close of the next annual meeting of the Company&#8217;s shareholders at which the member's term of office expires, (b) the death of the member,
                          or (c) the resignation, disqualification or removal of the member from the Audit Committee or from the Board. The Board may fill a vacancy in the membership of the Audit Committee.</div>
                      </td>
                    </tr>

                </table>
              </div>
            </div>
            <div>&#160;</div>
            <div>
              <div>
                <table id="z341c5fd0daf14b8fa040cbffef15811a" class="DSPFListTable" style="font-family: 'Times New Roman',Times,serif; font-size: 10pt; width: 100%; text-align: left; color: rgb(0, 0, 0);" cellpadding="0" cellspacing="0">

                    <tr>
                      <td style="width: 18pt;"><br>
                      </td>
                      <td style="width: 18pt; vertical-align: top; color: rgb(0, 0, 0); font-family: 'Times New Roman';">3.</td>
                      <td style="width: auto; vertical-align: top;">
                        <div style="color: rgb(0, 0, 0); font-family: 'Times New Roman';"><font style="font-weight: bold;">Chair</font> - At the time of the annual appointment of the members of the Audit Committee, the Board shall appoint a Chair of the
                          Audit Committee. The Chair</div>
                      </td>
                    </tr>

                </table>
              </div>
            </div>
            <div>&#160;</div>
            <div id="DSPFPageBreakArea" style="clear: both; margin-top: 10pt; margin-bottom: 10pt;">
              <div style="text-align: center;" id="DSPFPageNumberArea"><font style="font-family: Arial,Helvetica,'sans-serif'; font-size: 9pt; font-weight: normal; font-style: normal;" id="DSPFPageNumber">43</font></div>
              <div id="DSPFPageBreak" style="page-break-after: always;">
                <hr style="margin: 4px 0px; width: 100%; border-width: 0px; height: 2px; color: rgb(0, 0, 0); background-color: rgb(0, 0, 0); clear: both;" noshade="noshade"></div>
            </div>
            <div>
              <div>
                <div style="text-align: center; font-family: 'Times New Roman'; font-weight: normal;">Appendix A to Annual Information Form</div>
                <div style="text-align: center; font-family: 'Times New Roman';"> <br>
                </div>
                <div style="text-align: center; font-family: 'Times New Roman';"> <br>
                </div>
              </div>
              <table class="DSPFListTable" style="font-family: 'Times New Roman',Times,serif; font-size: 10pt; width: 100%; text-align: left; color: rgb(0, 0, 0);" cellpadding="0" cellspacing="0">

                  <tr>
                    <td style="width: 18pt;"><br>
                    </td>
                    <td style="width: 18pt; vertical-align: top; color: rgb(0, 0, 0); font-family: 'Times New Roman';">&#160;</td>
                    <td style="width: auto; vertical-align: top;">
                      <div style="color: rgb(0, 0, 0); font-family: 'Times New Roman';">shall: be a member of the Audit Committee, preside over all Audit Committee meetings that he or she attends, coordinate the Audit Committee's compliance with this
                        mandate, work with management to develop the Audit Committee's annual work-plan and provide reports of the Audit Committee to the Board.</div>
                    </td>
                  </tr>

              </table>
            </div>
            <div> <br>
            </div>
            <div>
              <div>
                <table id="z3adfd1d470c9476ab437b6aa7b9200d8" class="DSPFListTable" style="font-family: 'Times New Roman',Times,serif; font-size: 10pt; width: 100%; text-align: left; color: rgb(0, 0, 0);" cellpadding="0" cellspacing="0">

                    <tr>
                      <td style="width: 18pt;"><br>
                      </td>
                      <td style="width: 18pt; vertical-align: top; color: rgb(0, 0, 0); font-family: 'Times New Roman';">4.</td>
                      <td style="width: auto; vertical-align: top;">
                        <div style="font-family: 'Times New Roman';"><font style="font-weight: bold; color: rgb(0, 0, 0);">Independence</font><font style="color: rgb(0, 0, 0);"> - Each member of the </font>Audit Committee shall meet the requirements of
                          applicable law and any applicable requirements promulgated by any exchange upon which securities of the Company are traded, or any governmental or regulatory body exercising authority over the Company, as are in effect from time
                          to time (collectively, the &#8220;<font style="font-weight: bold;">Applicable Requirements</font>&#8221;) related to independence and audit committee composition.</div>
                      </td>
                    </tr>

                </table>
              </div>
            </div>
            <div>&#160;</div>
            <div>
              <div>
                <table id="z9ba5dc6c54864cab9f6b47fc14a4cbc0" class="DSPFListTable" style="font-family: 'Times New Roman',Times,serif; font-size: 10pt; width: 100%; text-align: left; color: rgb(0, 0, 0);" cellpadding="0" cellspacing="0">

                    <tr>
                      <td style="width: 18pt;"><br>
                      </td>
                      <td style="width: 18pt; vertical-align: top; color: rgb(0, 0, 0); font-family: 'Times New Roman';">5.</td>
                      <td style="width: auto; vertical-align: top;">
                        <div style="font-family: 'Times New Roman';"><font style="font-weight: bold; color: rgb(0, 0, 0);">Financial </font><font style="font-weight: bold;">Expertise</font><font style="color: rgb(0, 0, 0);"> - </font>At the time of his
                          or her appointment to the Audit Committee, each member of the Audit Committee shall be able to read and understand fundamental financial statements, including a balance sheet, cash flow statement and income statement, be &#8220;<font style="font-weight: bold;">financially literate</font>&#8221; as defined under Applicable Requirements, and shall not have participated in the preparation of the financial statements of the Company or any current subsidiary of the
                          Company at any time during the preceding three years.&#160; At least one member of the Audit Committee shall have past employment experience in financing or accounting, requisite professional certification in accounting, or other
                          comparable experience or background which results in the individual&#8217;s financial sophistication, including being or having been a Chief Executive Officer, Chief Operating Officer, Chief Financial Officer or other senior officer
                          with financial oversight responsibilities.&#160; Further, at least one member of the Audit Committee shall qualify as an &#8220;<font style="font-weight: bold;">audit committee financial expert</font>&#8221; (as such term is defined under the
                          Securities and Exchange Commission&#8217;s rules).</div>
                      </td>
                    </tr>

                </table>
              </div>
            </div>
            <div>&#160;</div>
            <div style="font-family: 'Times New Roman'; font-weight: bold;">3. MEETINGS</div>
            <div style="font-family: 'Times New Roman'; font-weight: bold;"> <br>
            </div>
            <div>
              <div>
                <table id="z9615d06687984670aba3ee0e68c1b12e" class="DSPFListTable" style="font-family: 'Times New Roman',Times,serif; font-size: 10pt; width: 100%; text-align: left; color: rgb(0, 0, 0);" cellpadding="0" cellspacing="0">

                    <tr>
                      <td style="width: 18pt;"><br>
                      </td>
                      <td style="width: 18pt; vertical-align: top; color: rgb(0, 0, 0); font-family: 'Times New Roman';">1.</td>
                      <td style="width: auto; vertical-align: top;">
                        <div style="color: rgb(0, 0, 0); font-family: 'Times New Roman';"><font style="font-weight: bold;">Meetings</font> - The members of the Audit Committee shall hold meetings as are required to carry out this mandate, and in any case
                          no less than four meetings annually. The external auditors are entitled to attend and be heard at each quarterly Audit Committee meeting scheduled to consider the Company&#8217;s financial statements. The Chair, any member of the Audit
                          Committee, the external auditors, the Chair of the Board, the Lead Director, the Chief Executive Officer or</div>
                      </td>
                    </tr>

                </table>
              </div>
            </div>
            <div>&#160;</div>
            <div id="DSPFPageBreakArea" style="clear: both; margin-top: 10pt; margin-bottom: 10pt;">
              <div style="text-align: center;" id="DSPFPageNumberArea"><font style="font-family: Arial,Helvetica,'sans-serif'; font-size: 9pt; font-weight: normal; font-style: normal;" id="DSPFPageNumber">44</font></div>
              <div id="DSPFPageBreak" style="page-break-after: always;">
                <hr style="margin: 4px 0px; width: 100%; border-width: 0px; height: 2px; color: rgb(0, 0, 0); background-color: rgb(0, 0, 0); clear: both;" noshade="noshade"></div>
            </div>
            <div>
              <div style="text-align: center; font-family: 'Times New Roman'; font-weight: normal;">Appendix A to Annual Information Form</div>
              <div style="text-align: center; font-family: 'Times New Roman';"> <br>
              </div>
              <div style="text-align: center; font-family: 'Times New Roman';">&#160;</div>
            </div>
            <div>
              <table class="DSPFListTable" style="font-family: 'Times New Roman',Times,serif; font-size: 10pt; width: 100%; text-align: left; color: rgb(0, 0, 0);" cellpadding="0" cellspacing="0">

                  <tr>
                    <td style="width: 18pt;"><br>
                    </td>
                    <td style="width: 18pt; vertical-align: top; color: rgb(0, 0, 0); font-family: 'Times New Roman';"><br>
                    </td>
                    <td style="width: auto; vertical-align: top;">
                      <div style="color: rgb(0, 0, 0); font-family: 'Times New Roman';">the Chief Financial Officer may call a meeting of the Audit Committee by notifying the Company&#8217;s Corporate Secretary who will notify the members of the Audit Committee.
                        The Chair shall chair all Audit Committee meetings that he or she attends, and in the absence of the Chair, the members of the Audit Committee present may appoint a chair from their number for a meeting.</div>
                    </td>
                  </tr>

              </table>
              &#160;</div>
            <div>
              <div>
                <table id="zec43fa92aa53446a9ac85f42d389d390" class="DSPFListTable" style="font-family: 'Times New Roman',Times,serif; font-size: 10pt; width: 100%; text-align: left; color: rgb(0, 0, 0);" cellpadding="0" cellspacing="0">

                    <tr>
                      <td style="width: 18pt;"><br>
                      </td>
                      <td style="width: 18pt; vertical-align: top; color: rgb(0, 0, 0); font-family: 'Times New Roman';">2.</td>
                      <td style="width: auto; vertical-align: top;">
                        <div style="color: rgb(0, 0, 0); font-family: 'Times New Roman';"><font style="font-weight: bold;">Secretary and Minutes</font> - The Corporate Secretary, his or her designate or any other person the Audit Committee requests, shall
                          act as secretary at Audit Committee meetings. Minutes of Audit Committee meetings shall be recorded and maintained by the Corporate Secretary and subsequently presented to the Audit Committee for approval.</div>
                      </td>
                    </tr>

                </table>
              </div>
            </div>
            <div>&#160;</div>
            <div>
              <div>
                <table id="z8baf8855345e4d98937ffb0595e18cea" class="DSPFListTable" style="font-family: 'Times New Roman',Times,serif; font-size: 10pt; width: 100%; text-align: left; color: rgb(0, 0, 0);" cellpadding="0" cellspacing="0">

                    <tr>
                      <td style="width: 18pt;"><br>
                      </td>
                      <td style="width: 18pt; vertical-align: top; color: rgb(0, 0, 0); font-family: 'Times New Roman';">3.</td>
                      <td style="width: auto; vertical-align: top;">
                        <div style="color: rgb(0, 0, 0); font-family: 'Times New Roman';"><font style="font-weight: bold;">Quorum</font> - A majority of the members of the Audit Committee shall constitute a quorum.</div>
                      </td>
                    </tr>

                </table>
              </div>
            </div>
            <div>&#160;</div>
            <div>
              <div>
                <table id="z1965d484ac034d7f8d6e4d23f2d4c6d1" class="DSPFListTable" style="font-family: 'Times New Roman',Times,serif; font-size: 10pt; width: 100%; text-align: left; color: rgb(0, 0, 0);" cellpadding="0" cellspacing="0">

                    <tr>
                      <td style="width: 18pt;"><br>
                      </td>
                      <td style="width: 18pt; vertical-align: top; color: rgb(0, 0, 0); font-family: 'Times New Roman';">4.</td>
                      <td style="width: auto; vertical-align: top;">
                        <div style="color: rgb(0, 0, 0); font-family: 'Times New Roman';"><font style="font-weight: bold;">Access to Management and Outside Advisors</font> - The Audit Committee shall have unrestricted access to the Company&#8217;s management and
                          employees and the books and records of the Company, and, from time to time may hold unscheduled or regularly scheduled meetings or portions of regularly scheduled meetings with the auditor, the Chief Financial Officer, the Chief
                          Operating Officer, President or the Chief Executive Officer. The Audit Committee shall have the authority to conduct investigations into any matters within its scope of responsibilities, retain external legal counsel, consultants
                          or other advisors to assist it in fulfilling its responsibilities and to set and pay the respective compensation for these advisors without consulting or obtaining the approval of the Board or any Company officer. The Company
                          shall provide appropriate funding, as determined by the Audit Committee, for the services of these advisors.</div>
                      </td>
                    </tr>

                </table>
              </div>
            </div>
            <div>&#160;</div>
            <div>
              <div>
                <table id="z497d5512a8e54319ada15ad58c46b099" class="DSPFListTable" style="font-family: 'Times New Roman',Times,serif; font-size: 10pt; width: 100%; text-align: left; color: rgb(0, 0, 0);" cellpadding="0" cellspacing="0">

                    <tr>
                      <td style="width: 18pt;"><br>
                      </td>
                      <td style="width: 18pt; vertical-align: top; color: rgb(0, 0, 0); font-family: 'Times New Roman';">5.</td>
                      <td style="width: auto; vertical-align: top;">
                        <div style="color: rgb(0, 0, 0); font-family: 'Times New Roman';"><font style="font-weight: bold;">Meetings Without Management</font> - The Audit Committee shall hold unscheduled or regularly scheduled meetings, or portions of
                          regularly scheduled meetings, at which management is not present.</div>
                      </td>
                    </tr>

                </table>
              </div>
            </div>
            <div>&#160;</div>
            <div style="font-family: 'Times New Roman'; font-weight: bold;">4. FUNCTIONS AND RESPONSIBILITIES</div>
            <div style="font-family: 'Times New Roman'; font-weight: bold;"> <br>
            </div>
            <div style="color: rgb(0, 0, 0); font-family: 'Times New Roman';">The Audit Committee shall have the functions and responsibilities set out below as well as any other functions that are specifically delegated to the Audit Committee by the Board
              and that the Board is authorized to delegate by applicable laws and regulations. In</div>
            <div>&#160;</div>
            <div id="DSPFPageBreakArea" style="clear: both; margin-top: 10pt; margin-bottom: 10pt;">
              <div style="text-align: center;" id="DSPFPageNumberArea"><font style="font-family: Arial,Helvetica,'sans-serif'; font-size: 9pt; font-weight: normal; font-style: normal;" id="DSPFPageNumber">45</font></div>
              <div id="DSPFPageBreak" style="page-break-after: always;">
                <hr style="margin: 4px 0px; width: 100%; border-width: 0px; height: 2px; color: rgb(0, 0, 0); background-color: rgb(0, 0, 0); clear: both;" noshade="noshade"></div>
            </div>
            <div>
              <div style="text-align: center; font-family: 'Times New Roman'; font-weight: normal;">Appendix A to Annual Information Form</div>
              <div style="text-align: center; font-family: 'Times New Roman'; font-weight: bold;"> <br>
              </div>
              <div style="text-align: center; font-family: 'Times New Roman'; font-weight: bold;"> <br>
              </div>
            </div>
            <div style="color: rgb(0, 0, 0); font-family: 'Times New Roman';">addition to these functions and responsibilities, the Audit Committee shall perform the duties required of an audit committee by the Applicable Requirements.</div>
            <div>&#160;</div>
            <div>
              <div>
                <table id="zfa2e552171764d59a6d15726415d67ba" class="DSPFListTable" style="font-family: 'Times New Roman',Times,serif; font-size: 10pt; width: 100%; text-align: left; color: rgb(0, 0, 0);" cellpadding="0" cellspacing="0">

                    <tr>
                      <td style="width: 18pt;"><br>
                      </td>
                      <td style="width: 18pt; vertical-align: top; color: rgb(0, 0, 0); font-family: 'Times New Roman';">1.</td>
                      <td style="width: auto; vertical-align: top;">
                        <div style="color: rgb(0, 0, 0); font-family: 'Times New Roman'; font-weight: bold;">Financial Reports</div>
                      </td>
                    </tr>

                </table>
              </div>
            </div>
            <div>&#160;</div>
            <div>
              <div>
                <table id="z692b94e56246492885a70e2e8a138b61" class="DSPFListTable" style="font-family: 'Times New Roman',Times,serif; font-size: 10pt; width: 100%; text-align: left; color: rgb(0, 0, 0);" cellpadding="0" cellspacing="0">

                    <tr>
                      <td style="width: 54pt;"><br>
                      </td>
                      <td style="width: 18pt; vertical-align: top; color: rgb(0, 0, 0); font-family: 'Times New Roman';">a.</td>
                      <td style="width: auto; vertical-align: top;">
                        <div style="color: rgb(0, 0, 0); font-family: 'Times New Roman';">General - The Audit Committee is responsible for overseeing the Company&#8217;s accounting and financial reporting practices and the audits of the Company&#8217;s financial
                          statements. Management is responsible for the preparation, presentation and integrity of the Company&#8217;s financial statements and financial disclosures and for the appropriateness of the accounting principles and the reporting
                          policies used by the Company. The auditors are responsible for auditing the Company&#8217;s annual consolidated financial statements and for reviewing the Company&#8217;s unaudited interim financial statements.</div>
                      </td>
                    </tr>

                </table>
              </div>
            </div>
            <div>&#160;</div>
            <div>
              <div>
                <table id="zfa9662333a47463ebf3e4a3dab44e542" class="DSPFListTable" style="font-family: 'Times New Roman',Times,serif; font-size: 10pt; width: 100%; text-align: left; color: rgb(0, 0, 0);" cellpadding="0" cellspacing="0">

                    <tr>
                      <td style="width: 54pt;"><br>
                      </td>
                      <td style="width: 18pt; vertical-align: top; font-family: 'Times New Roman';">b.</td>
                      <td style="width: auto; vertical-align: top;">
                        <div style="font-family: 'Times New Roman';"><font style="color: rgb(0, 0, 0);">Review of Annual Financial Reports - The Audit Committee shall review the annual consolidated audited financial statements of the Company</font><font style="color: rgb(0, 0, 255);"><u style="border-bottom: 1px solid;">&#160;</u></font>prepared by management, the auditors' report thereon and the related management's discussion and analysis of the Company&#8217;s financial condition and
                          results of operation (&#8220;<font style="font-weight: bold;">MD&amp;A</font>&#8221;). After completing its review, if advisable, the Audit Committee shall approve and recommend for Board approval the annual financial statements and the
                          related MD&amp;A.</div>
                      </td>
                    </tr>

                </table>
              </div>
            </div>
            <div>&#160;</div>
            <div>
              <div>
                <table id="ze3332f5b985d413daf096efb5b9596c9" class="DSPFListTable" style="font-family: 'Times New Roman',Times,serif; font-size: 10pt; width: 100%; text-align: left; color: rgb(0, 0, 0);" cellpadding="0" cellspacing="0">

                    <tr>
                      <td style="width: 54pt;"><br>
                      </td>
                      <td style="width: 18pt; vertical-align: top; color: rgb(0, 0, 0); font-family: 'Times New Roman';">c.</td>
                      <td style="width: auto; vertical-align: top;">
                        <div style="font-family: 'Times New Roman';">Review of Interim Financial Reports - The Audit Committee shall review the interim consolidated financial statements of the Company prepared by management, the auditors&#8217; review <font style="color: rgb(0, 0, 0);">report thereon and the related MD&amp;A. After completing its review, if advisable, the Audit Committee shall approve and recommend for Board approval the interim financial statements and the related
                            MD&amp;A.</font></div>
                      </td>
                    </tr>

                </table>
              </div>
            </div>
            <div>&#160;</div>
            <div>
              <div>
                <table id="zf7fb39072a9f4a149f3dd9ff00f0d1ae" class="DSPFListTable" style="font-family: 'Times New Roman',Times,serif; font-size: 10pt; width: 100%; text-align: left; color: rgb(0, 0, 0);" cellpadding="0" cellspacing="0">

                    <tr>
                      <td style="width: 54pt;"><br>
                      </td>
                      <td style="width: 18pt; vertical-align: top; color: rgb(0, 0, 0); font-family: 'Times New Roman';">d.</td>
                      <td style="width: auto; vertical-align: top;">
                        <div style="color: rgb(0, 0, 0); font-family: 'Times New Roman';">Review Considerations - In conducting its review of the annual financial statements or the interim financial statements, the Audit Committee shall:</div>
                      </td>
                    </tr>

                </table>
              </div>
            </div>
            <div>&#160;</div>
            <div>
              <div>
                <table id="ze2c322bc2766474baea56561555ddd3f" class="DSPFListTable" style="font-family: 'Times New Roman',Times,serif; font-size: 10pt; width: 100%; text-align: left; color: rgb(0, 0, 0);" cellpadding="0" cellspacing="0">

                    <tr>
                      <td style="width: 90pt;"><br>
                      </td>
                      <td style="width: 18pt; vertical-align: top; color: rgb(0, 0, 0); font-family: 'Times New Roman';">i.</td>
                      <td style="width: auto; vertical-align: top;">
                        <div style="color: rgb(0, 0, 0); font-family: 'Times New Roman';">meet with management and the auditors to discuss the financial statements and MD&amp;A;</div>
                      </td>
                    </tr>

                </table>
              </div>
            </div>
            <div>&#160;</div>
            <div>
              <div>
                <table id="z89fb31312a3e4a67b9cdb80adba27a24" class="DSPFListTable" style="font-family: 'Times New Roman',Times,serif; font-size: 10pt; width: 100%; text-align: left; color: rgb(0, 0, 0);" cellpadding="0" cellspacing="0">

                    <tr>
                      <td style="width: 90pt;"><br>
                      </td>
                      <td style="width: 18pt; vertical-align: top; color: rgb(0, 0, 0); font-family: 'Times New Roman';">ii.</td>
                      <td style="width: auto; vertical-align: top;">
                        <div style="color: rgb(0, 0, 0); font-family: 'Times New Roman';">review the disclosures in the financial statements;</div>
                      </td>
                    </tr>

                </table>
              </div>
            </div>
            <div>&#160;</div>
            <div id="DSPFPageBreakArea" style="clear: both; margin-top: 10pt; margin-bottom: 10pt;">
              <div style="text-align: center;" id="DSPFPageNumberArea"><font style="font-family: Arial,Helvetica,'sans-serif'; font-size: 9pt; font-weight: normal; font-style: normal;" id="DSPFPageNumber">46</font></div>
              <div id="DSPFPageBreak" style="page-break-after: always;">
                <hr style="margin: 4px 0px; width: 100%; border-width: 0px; height: 2px; color: rgb(0, 0, 0); background-color: rgb(0, 0, 0); clear: both;" noshade="noshade"></div>
            </div>
            <div>
              <div style="text-align: center; font-family: 'Times New Roman'; font-weight: normal;">Appendix A to Annual Information Form</div>
              <div style="text-align: center; font-family: 'Times New Roman';"> <br>
              </div>
              <div style="text-align: center; font-family: 'Times New Roman';">&#160;</div>
            </div>
            <div>
              <div>
                <table id="z30cba37be66a484bbd2cc6aa820fad42" class="DSPFListTable" style="font-family: 'Times New Roman',Times,serif; font-size: 10pt; width: 100%; text-align: left; color: rgb(0, 0, 0);" cellpadding="0" cellspacing="0">

                    <tr>
                      <td style="width: 90pt;"><br>
                      </td>
                      <td style="width: 18pt; vertical-align: top; color: rgb(0, 0, 0); font-family: 'Times New Roman';">iii.</td>
                      <td style="width: auto; vertical-align: top;">
                        <div style="color: rgb(0, 0, 0); font-family: 'Times New Roman';">review the audit report or review report prepared by the auditors;</div>
                      </td>
                    </tr>

                </table>
              </div>
            </div>
            <div>&#160;</div>
            <div>
              <div>
                <table id="zec74fb926eb64ddc878505bd3b2df654" class="DSPFListTable" style="font-family: 'Times New Roman',Times,serif; font-size: 10pt; width: 100%; text-align: left; color: rgb(0, 0, 0);" cellpadding="0" cellspacing="0">

                    <tr>
                      <td style="width: 90pt;"><br>
                      </td>
                      <td style="width: 18pt; vertical-align: top; font-family: 'Times New Roman';">iv.</td>
                      <td style="width: auto; vertical-align: top;">
                        <div style="font-family: 'Times New Roman';">review the qualitative judgments of the auditors about the appropriateness, not just the acceptability, of accounting principles and financial disclosure practices used or proposed to be
                          adopted by the Company;</div>
                      </td>
                    </tr>

                </table>
              </div>
            </div>
            <div>&#160;</div>
            <div>
              <div>
                <table id="z204095c429f94def9d440e5454422e0f" class="DSPFListTable" style="font-family: 'Times New Roman',Times,serif; font-size: 10pt; width: 100%; text-align: left; color: rgb(0, 0, 0);" cellpadding="0" cellspacing="0">

                    <tr>
                      <td style="width: 90pt;"><br>
                      </td>
                      <td style="width: 18pt; vertical-align: top; font-family: 'Times New Roman';">v.</td>
                      <td style="width: auto; vertical-align: top;">
                        <div style="font-family: 'Times New Roman';">discuss with management, the auditors and internal legal counsel, as requested, any litigation claim or other contingency that could have a material effect on the financial statements;</div>
                      </td>
                    </tr>

                </table>
              </div>
            </div>
            <div>&#160;</div>
            <div>
              <div>
                <table id="zd9a79ab864e448709e57198df743e3f1" class="DSPFListTable" style="font-family: 'Times New Roman',Times,serif; font-size: 10pt; width: 100%; text-align: left; color: rgb(0, 0, 0);" cellpadding="0" cellspacing="0">

                    <tr>
                      <td style="width: 90pt;"><br>
                      </td>
                      <td style="width: 18pt; vertical-align: top; font-family: 'Times New Roman';">vi.</td>
                      <td style="width: auto; vertical-align: top;">
                        <div style="font-family: 'Times New Roman';">review the accounting policies followed and critical accounting and other significant estimates and judgments underlying the financial statements as presented by management;</div>
                      </td>
                    </tr>

                </table>
              </div>
            </div>
            <div>&#160;</div>
            <div>
              <div>
                <table id="z92e4d25055944b6c8c30db5e2b4cada0" class="DSPFListTable" style="font-family: 'Times New Roman',Times,serif; font-size: 10pt; width: 100%; text-align: left; color: rgb(0, 0, 0);" cellpadding="0" cellspacing="0">

                    <tr>
                      <td style="width: 90pt;"><br>
                      </td>
                      <td style="width: 18pt; vertical-align: top; font-family: 'Times New Roman';">vii.</td>
                      <td style="width: auto; vertical-align: top;">
                        <div style="font-family: 'Times New Roman';">review any material effects of regulatory accounting initiatives or off-balance sheet structures on the financial statements as presented by management;</div>
                      </td>
                    </tr>

                </table>
              </div>
            </div>
            <div>&#160;</div>
            <div>
              <div>
                <table id="zbffb759815124d499c71413ae984e64e" class="DSPFListTable" style="font-family: 'Times New Roman',Times,serif; font-size: 10pt; width: 100%; text-align: left; color: rgb(0, 0, 0);" cellpadding="0" cellspacing="0">

                    <tr>
                      <td style="width: 90pt;"><br>
                      </td>
                      <td style="width: 18pt; vertical-align: top; font-family: 'Times New Roman';">viii.</td>
                      <td style="width: auto; vertical-align: top;">
                        <div style="font-family: 'Times New Roman';">review any material changes in accounting policies and any significant changes in accounting practices and their impact on the financial statements as presented by management;</div>
                      </td>
                    </tr>

                </table>
              </div>
            </div>
            <div>&#160;</div>
            <div>
              <div>
                <table id="z851dfc5bd67e4a73b5e9632496d28346" class="DSPFListTable" style="font-family: 'Times New Roman',Times,serif; font-size: 10pt; width: 100%; text-align: left; color: rgb(0, 0, 0);" cellpadding="0" cellspacing="0">

                    <tr>
                      <td style="width: 90pt;"><br>
                      </td>
                      <td style="width: 18pt; vertical-align: top; font-family: 'Times New Roman';">ix.</td>
                      <td style="width: auto; vertical-align: top;">
                        <div style="font-family: 'Times New Roman';">review the methods used to account for significant unusual transactions;</div>
                      </td>
                    </tr>

                </table>
              </div>
            </div>
            <div>&#160;</div>
            <div>
              <div>
                <table id="z4e73817f28664386abee9e2a3f1eeb57" class="DSPFListTable" style="font-family: 'Times New Roman',Times,serif; font-size: 10pt; width: 100%; text-align: left; color: rgb(0, 0, 0);" cellpadding="0" cellspacing="0">

                    <tr>
                      <td style="width: 90pt;"><br>
                      </td>
                      <td style="width: 18pt; vertical-align: top; font-family: 'Times New Roman';">x.</td>
                      <td style="width: auto; vertical-align: top;">
                        <div style="font-family: 'Times New Roman';">review the effect of significant accounting policies in controversial or emerging areas for which there is a lack of authoritative guidance or consensus;</div>
                      </td>
                    </tr>

                </table>
              </div>
            </div>
            <div>&#160;</div>
            <div>
              <div>
                <table id="zfdda12c1f4cf4e40bd18675a29e6efc4" class="DSPFListTable" style="font-family: 'Times New Roman',Times,serif; font-size: 10pt; width: 100%; text-align: left; color: rgb(0, 0, 0);" cellpadding="0" cellspacing="0">

                    <tr>
                      <td style="width: 90pt;"><br>
                      </td>
                      <td style="width: 18pt; vertical-align: top; font-family: 'Times New Roman';">xi.</td>
                      <td style="width: auto; vertical-align: top;">
                        <div style="font-family: 'Times New Roman';">review significant recorded and unrecorded audit adjustments;</div>
                      </td>
                    </tr>

                </table>
              </div>
            </div>
            <div>&#160;</div>
            <div>
              <div>
                <table id="z546672d6374d4d058a938c7734278212" class="DSPFListTable" style="font-family: 'Times New Roman',Times,serif; font-size: 10pt; width: 100%; text-align: left; color: rgb(0, 0, 0);" cellpadding="0" cellspacing="0">

                    <tr>
                      <td style="width: 90pt;"><br>
                      </td>
                      <td style="width: 18pt; vertical-align: top; font-family: 'Times New Roman';">xii.</td>
                      <td style="width: auto; vertical-align: top;">
                        <div style="font-family: 'Times New Roman';">review any&#160; material&#160;&#160; accounting&#160;&#160; issues&#160;&#160; among&#160; management&#160;&#160; and the auditors;</div>
                      </td>
                    </tr>

                </table>
              </div>
            </div>
            <div>&#160;</div>
            <div>
              <div>
                <table id="z7213b9f77ea447ae8e1cb2c00cbea101" class="DSPFListTable" style="font-family: 'Times New Roman',Times,serif; font-size: 10pt; width: 100%; text-align: left; color: rgb(0, 0, 0);" cellpadding="0" cellspacing="0">

                    <tr>
                      <td style="width: 90pt;"><br>
                      </td>
                      <td style="width: 18pt; vertical-align: top; font-family: 'Times New Roman';">xiii.</td>
                      <td style="width: auto; vertical-align: top;">
                        <div style="font-family: 'Times New Roman';">review management's report on the effectiveness of internal controls over financial reporting;</div>
                      </td>
                    </tr>

                </table>
              </div>
            </div>
            <div>&#160;</div>
            <div>
              <div>
                <table id="z02bed46315ff4dc6b9abf1e6141aac1a" class="DSPFListTable" style="font-family: 'Times New Roman',Times,serif; font-size: 10pt; width: 100%; text-align: left; color: rgb(0, 0, 0);" cellpadding="0" cellspacing="0">

                    <tr>
                      <td style="width: 90pt;"><br>
                      </td>
                      <td style="width: 18pt; vertical-align: top; font-family: 'Times New Roman';">xiv.</td>
                      <td style="width: auto; vertical-align: top;">
                        <div style="font-family: 'Times New Roman';">review the factors identified by management as factors that may affect future financial results;</div>
                      </td>
                    </tr>

                </table>
              </div>
            </div>
            <div>&#160;</div>
            <div id="DSPFPageBreakArea" style="clear: both; margin-top: 10pt; margin-bottom: 10pt;">
              <div style="text-align: center;" id="DSPFPageNumberArea"><font style="font-family: Arial,Helvetica,'sans-serif'; font-size: 9pt; font-weight: normal; font-style: normal;" id="DSPFPageNumber">47</font></div>
              <div id="DSPFPageBreak" style="page-break-after: always;">
                <hr style="margin: 4px 0px; width: 100%; border-width: 0px; height: 2px; color: rgb(0, 0, 0); background-color: rgb(0, 0, 0); clear: both;" noshade="noshade"></div>
            </div>
            <div>
              <div style="text-align: center; font-family: 'Times New Roman'; font-weight: normal;">Appendix A to Annual Information Form</div>
              <div style="text-align: center; font-family: 'Times New Roman'; font-weight: normal;"> <br>
              </div>
              <div style="text-align: center; font-family: 'Times New Roman'; font-weight: normal;"> <br>
              </div>
            </div>
            <div>
              <div>
                <table id="z9b706ce4c4aa46e384f4f64561cc6fb0" class="DSPFListTable" style="font-family: 'Times New Roman',Times,serif; font-size: 10pt; width: 100%; text-align: left; color: rgb(0, 0, 0);" cellpadding="0" cellspacing="0">

                    <tr>
                      <td style="width: 90pt;"><br>
                      </td>
                      <td style="width: 18pt; vertical-align: top; font-family: 'Times New Roman';">xv.</td>
                      <td style="width: auto; vertical-align: top;">
                        <div style="font-family: 'Times New Roman';">review results of the Company&#8217;s audit committee hotline program; and</div>
                      </td>
                    </tr>

                </table>
              </div>
            </div>
            <div>&#160;</div>
            <div>
              <div>
                <table id="z66cf561c1c544281afaa737206c4e8c6" class="DSPFListTable" style="font-family: 'Times New Roman',Times,serif; font-size: 10pt; width: 100%; text-align: left; color: rgb(0, 0, 0);" cellpadding="0" cellspacing="0">

                    <tr>
                      <td style="width: 90pt;"><br>
                      </td>
                      <td style="width: 18pt; vertical-align: top; font-family: 'Times New Roman';">xvi.</td>
                      <td style="width: auto; vertical-align: top;">
                        <div style="font-family: 'Times New Roman';">review any other matters, related to the financial statements, that are brought forward by the auditors, management or which are required to be communicated to the Audit Committee under
                          accounting policies, auditing standards or Applicable <font style="color: rgb(0, 0, 0);">Requirements.</font></div>
                      </td>
                    </tr>

                </table>
              </div>
            </div>
            <div>&#160;</div>
            <div>
              <div>
                <table id="zfc87f5204f9d4e468afef861dd07abcf" class="DSPFListTable" style="font-family: 'Times New Roman',Times,serif; font-size: 10pt; width: 100%; text-align: left; color: rgb(0, 0, 0);" cellpadding="0" cellspacing="0">

                    <tr>
                      <td style="width: 54pt;"><br>
                      </td>
                      <td style="width: 18pt; vertical-align: top; color: rgb(0, 0, 0); font-family: 'Times New Roman';">e.</td>
                      <td style="width: auto; vertical-align: top;">
                        <div style="color: rgb(0, 0, 0); font-family: 'Times New Roman';">Approval of Other Financial Disclosures - The Audit Committee shall review and, if advisable, approve and recommend for Board approval financial disclosure in a
                          prospectus or other securities offering document of the Company, press releases disclosing financial results of the Company and any other material financial disclosure, including financial guidance provided to analysts, rating
                          agencies or otherwise publicly disseminated.</div>
                      </td>
                    </tr>

                </table>
              </div>
            </div>
            <div>&#160;</div>
            <div>
              <div>
                <table id="z1def302a8d86435ca0829ba8e39a1657" class="DSPFListTable" style="font-family: 'Times New Roman',Times,serif; font-size: 10pt; width: 100%; text-align: left; color: rgb(0, 0, 0);" cellpadding="0" cellspacing="0">

                    <tr>
                      <td style="width: 18pt;"><br>
                      </td>
                      <td style="width: 18pt; vertical-align: top; color: rgb(0, 0, 0); font-family: 'Times New Roman';">2.</td>
                      <td style="width: auto; vertical-align: top;">
                        <div style="color: rgb(0, 0, 0); font-family: 'Times New Roman'; font-weight: bold;">Independent Auditors</div>
                      </td>
                    </tr>

                </table>
              </div>
            </div>
            <div>&#160;</div>
            <div>
              <div>
                <table id="z8e494022a5d94707b68429559f102022" class="DSPFListTable" style="font-family: 'Times New Roman',Times,serif; font-size: 10pt; width: 100%; text-align: left; color: rgb(0, 0, 0);" cellpadding="0" cellspacing="0">

                    <tr>
                      <td style="width: 54pt;"><br>
                      </td>
                      <td style="width: 18pt; vertical-align: top; color: rgb(0, 0, 0); font-family: 'Times New Roman';">a.</td>
                      <td style="width: auto; vertical-align: top;">
                        <div style="color: rgb(0, 0, 0); font-family: 'Times New Roman';">General -The Audit Committee shall be responsible for oversight of the work of the auditors, including the auditors&#8217; work in preparing or issuing an audit report,
                          performing other audit, review or attest services or any other related work.</div>
                      </td>
                    </tr>

                </table>
              </div>
            </div>
            <div>&#160;</div>
            <div>
              <div>
                <table id="z9b89e32d827c4d64a215e94374ad8da9" class="DSPFListTable" style="font-family: 'Times New Roman',Times,serif; font-size: 10pt; width: 100%; text-align: left; color: rgb(0, 0, 0);" cellpadding="0" cellspacing="0">

                    <tr>
                      <td style="width: 54pt;"><br>
                      </td>
                      <td style="width: 18pt; vertical-align: top; color: rgb(0, 0, 0); font-family: 'Times New Roman';">b.</td>
                      <td style="width: auto; vertical-align: top;">
                        <div style="color: rgb(0, 0, 0); font-family: 'Times New Roman';">Appointment and Compensation - The Audit Committee shall review and, if advisable, select and recommend for Board and shareholder approval the appointment of the
                          auditors. The Audit Committee shall have ultimate authority to approve all audit engagement terms and fees, including the auditors&#8217; audit plan.</div>
                      </td>
                    </tr>

                </table>
              </div>
            </div>
            <div>&#160;</div>
            <div>
              <div>
                <table id="z1f548987b9d94e58a2bbc3d051240d8f" class="DSPFListTable" style="font-family: 'Times New Roman',Times,serif; font-size: 10pt; width: 100%; text-align: left; color: rgb(0, 0, 0);" cellpadding="0" cellspacing="0">

                    <tr>
                      <td style="width: 54pt;"><br>
                      </td>
                      <td style="width: 18pt; vertical-align: top; font-family: 'Times New Roman';">c.</td>
                      <td style="width: auto; vertical-align: top;">
                        <div style="font-family: 'Times New Roman';">Resolution of Disagreements &#8211; Review all reportable events, including any disagreements, unresolved issues and consultations (as those terms are defined by Applicable Requirements), with
                          the Company&#8217;s auditors, whether or not there is to be a change of auditors.</div>
                      </td>
                    </tr>

                </table>
              </div>
            </div>
            <div>&#160;</div>
            <div>
              <div>
                <table id="zb3cec9ed42b94ef6ad7c766e477714ca" class="DSPFListTable" style="font-family: 'Times New Roman',Times,serif; font-size: 10pt; width: 100%; text-align: left; color: rgb(0, 0, 0);" cellpadding="0" cellspacing="0">

                    <tr>
                      <td style="width: 54pt;"><br>
                      </td>
                      <td style="width: 18pt; vertical-align: top; font-family: 'Times New Roman';">d.</td>
                      <td style="width: auto; vertical-align: top;">
                        <div style="font-family: 'Times New Roman';">Change of Auditors &#8211; When the Audit Committee determines to recommend a change of auditors or the auditors are otherwise terminated or resign, the Audit Committee shall review all issues
                          related to the</div>
                      </td>
                    </tr>

                </table>
              </div>
            </div>
            <div>&#160;</div>
            <div id="DSPFPageBreakArea" style="clear: both; margin-top: 10pt; margin-bottom: 10pt;">
              <div style="text-align: center;" id="DSPFPageNumberArea"><font style="font-family: Arial,Helvetica,'sans-serif'; font-size: 9pt; font-weight: normal; font-style: normal;" id="DSPFPageNumber">48</font></div>
              <div id="DSPFPageBreak" style="page-break-after: always;">
                <hr style="margin: 4px 0px; width: 100%; border-width: 0px; height: 2px; color: rgb(0, 0, 0); background-color: rgb(0, 0, 0); clear: both;" noshade="noshade"></div>
            </div>
            <div>
              <div style="text-align: center; font-family: 'Times New Roman'; font-weight: normal;">Appendix A to Annual Information Form</div>
              <div style="text-align: center; font-family: 'Times New Roman'; font-weight: normal;"> <br>
              </div>
            </div>
            <div style="margin-left: 72pt; font-family: 'Times New Roman';"><br>
            </div>
            <div>
              <table class="DSPFListTable" style="font-family: 'Times New Roman',Times,serif; font-size: 10pt; width: 100%; text-align: left; color: rgb(0, 0, 0);" cellpadding="0" cellspacing="0">

                  <tr>
                    <td style="width: 54pt;"><br>
                    </td>
                    <td style="width: 18pt; vertical-align: top; font-family: 'Times New Roman';"><br>
                    </td>
                    <td style="width: auto; vertical-align: top;">
                      <div style="font-family: 'Times New Roman';">change of auditors, including the information required to be disclosed by applicable legal requirements and the planned steps for an orderly transition.</div>
                    </td>
                  </tr>

              </table>
              &#160;</div>
            <div>
              <div>
                <table id="zaa47f874c6e0460292679684f46431ec" class="DSPFListTable" style="font-family: 'Times New Roman',Times,serif; font-size: 10pt; width: 100%; text-align: left; color: rgb(0, 0, 0);" cellpadding="0" cellspacing="0">

                    <tr>
                      <td style="width: 54pt;"><br>
                      </td>
                      <td style="width: 18pt; vertical-align: top; font-family: 'Times New Roman';">e.</td>
                      <td style="width: auto; vertical-align: top;">
                        <div style="font-family: 'Times New Roman';">Discussions with Auditors &#8211; At least annually, the Audit Committee shall discuss with the auditors such matters as are required by applicable auditing standards to be discussed by the
                          auditors with the audit committee, including the matters required to be discussed by applicable auditing standards.</div>
                      </td>
                    </tr>

                </table>
              </div>
            </div>
            <div>&#160;</div>
            <div>
              <div>
                <table id="zf3dd53ada174435a94a3f273aba34f3f" class="DSPFListTable" style="font-family: 'Times New Roman',Times,serif; font-size: 10pt; width: 100%; text-align: left; color: rgb(0, 0, 0);" cellpadding="0" cellspacing="0">

                    <tr>
                      <td style="width: 54pt;"><br>
                      </td>
                      <td style="width: 18pt; vertical-align: top; font-family: 'Times New Roman';">f.</td>
                      <td style="width: auto; vertical-align: top;">
                        <div style="color: rgb(0, 0, 0); font-family: 'Times New Roman';">Audit Plan - At least annually, the Audit Committee shall review a summary of the auditors' annual audit plan. The Audit Committee shall consider and review with the
                          auditors any material changes to the scope of the plan.</div>
                      </td>
                    </tr>

                </table>
              </div>
            </div>
            <div>&#160;</div>
            <div>
              <div>
                <table id="z4e649d23d9274d829cef3343d4f89ed2" class="DSPFListTable" style="font-family: 'Times New Roman',Times,serif; font-size: 10pt; width: 100%; text-align: left; color: rgb(0, 0, 0);" cellpadding="0" cellspacing="0">

                    <tr>
                      <td style="width: 54pt;"><br>
                      </td>
                      <td style="width: 18pt; vertical-align: top; font-family: 'Times New Roman';">g.</td>
                      <td style="width: auto; vertical-align: top;">
                        <div style="color: rgb(0, 0, 0); font-family: 'Times New Roman';">Quarterly Review Report - The Audit Committee shall review a report prepared by the auditors in respect of each of the interim financial statements of the Company.</div>
                      </td>
                    </tr>

                </table>
              </div>
            </div>
            <div>&#160;</div>
            <div>
              <div>
                <table id="z0c98e00f3ccf4c5ab91b5e4a6b854e0a" class="DSPFListTable" style="font-family: 'Times New Roman',Times,serif; font-size: 10pt; width: 100%; text-align: left; color: rgb(0, 0, 0);" cellpadding="0" cellspacing="0">

                    <tr>
                      <td style="width: 54pt;"><br>
                      </td>
                      <td style="width: 18pt; vertical-align: top; font-family: 'Times New Roman';">h.</td>
                      <td style="width: auto; vertical-align: top;">
                        <div style="font-family: 'Times New Roman';"><font style="color: rgb(0, 0, 0);">Independence of Auditors - At least annually, and before the auditors issue their report on the annual financial statements, the Audit Committee shall:
                            obtain from the auditors a formal written statement describing all relationships between the auditors and the Company; discuss with the auditors any disclosed relationships or services that may impact the objectivity and
                            independence of the auditors; and obtain written confirmation from the auditors that they are objective and independent within the meaning of the applicable Rules of Professional Conduct/Code of Ethics adopted by the provincial
                            institute or order of chartered accountants to which it belongs and other Applicable Requirements.</font> The Audit Committee shall take appropriate action to oversee the independence of the auditors.</div>
                      </td>
                    </tr>

                </table>
              </div>
            </div>
            <div>&#160;</div>
            <div>
              <div>
                <table id="z9de819e2d9014a61a2685ee45f4454af" class="DSPFListTable" style="font-family: 'Times New Roman',Times,serif; font-size: 10pt; width: 100%; text-align: left; color: rgb(0, 0, 0);" cellpadding="0" cellspacing="0">

                    <tr>
                      <td style="width: 54pt;"><br>
                      </td>
                      <td style="width: 18pt; vertical-align: top; font-family: 'Times New Roman';">i.</td>
                      <td style="width: auto; vertical-align: top;">
                        <div style="color: rgb(0, 0, 0); font-family: 'Times New Roman';">Evaluation and Rotation of Lead Partner - At least annually, the Audit Committee shall review the qualifications and performance of the lead partner(s) of the
                          auditors. The Audit Committee shall obtain a report from the auditors annually verifying that the lead partner of the auditors has</div>
                      </td>
                    </tr>

                </table>
              </div>
            </div>
            <div>&#160;</div>
            <div id="DSPFPageBreakArea" style="clear: both; margin-top: 10pt; margin-bottom: 10pt;">
              <div style="text-align: center;" id="DSPFPageNumberArea"><font style="font-family: Arial,Helvetica,'sans-serif'; font-size: 9pt; font-weight: normal; font-style: normal;" id="DSPFPageNumber">49</font></div>
              <div id="DSPFPageBreak" style="page-break-after: always;">
                <hr style="margin: 4px 0px; width: 100%; border-width: 0px; height: 2px; color: rgb(0, 0, 0); background-color: rgb(0, 0, 0); clear: both;" noshade="noshade"></div>
            </div>
            <div>
              <div style="text-align: center; font-family: 'Times New Roman'; font-weight: normal;">Appendix A to Annual Information Form</div>
              <div style="text-align: center; font-family: 'Times New Roman'; font-weight: normal;"> <br>
              </div>
            </div>
            <div>&#160;</div>
            <div>
              <table class="DSPFListTable" style="font-family: 'Times New Roman',Times,serif; font-size: 10pt; width: 100%; text-align: left; color: rgb(0, 0, 0);" cellpadding="0" cellspacing="0">

                  <tr>
                    <td style="width: 54pt;"><br>
                    </td>
                    <td style="width: 18pt; vertical-align: top; font-family: 'Times New Roman';"><br>
                    </td>
                    <td style="width: auto; vertical-align: top;">
                      <div style="color: rgb(0, 0, 0); font-family: 'Times New Roman';">
                        <div style="color: rgb(0, 0, 0);">served in that capacity for no more than five fiscal years of the Company and that the engagement team collectively possesses the experience and competence to perform an appropriate audit.</div>
                      </div>
                    </td>
                  </tr>

              </table>
            </div>
            <div> <br>
            </div>
            <div>
              <div>
                <table id="zbe0b0b21f67444aa9a134776ab391592" class="DSPFListTable" style="font-family: 'Times New Roman',Times,serif; font-size: 10pt; width: 100%; text-align: left; color: rgb(0, 0, 0);" cellpadding="0" cellspacing="0">

                    <tr>
                      <td style="width: 54pt;"><br>
                      </td>
                      <td style="width: 18pt; vertical-align: top; font-family: 'Times New Roman';">j.</td>
                      <td style="width: auto; vertical-align: top;">
                        <div style="color: rgb(0, 0, 0); font-family: 'Times New Roman';">Evaluation of performance and audit quality &#8211;&#160; the Audit Committee shall review and evaluate the performance of the external auditor to assess the quality of the
                          audit and the services performed by the external auditor.</div>
                      </td>
                    </tr>

                </table>
              </div>
            </div>
            <div>&#160;</div>
            <div>
              <div>
                <table id="z290bce9a125449b6a076515756e8190c" class="DSPFListTable" style="font-family: 'Times New Roman',Times,serif; font-size: 10pt; width: 100%; text-align: left; color: rgb(0, 0, 0);" cellpadding="0" cellspacing="0">

                    <tr>
                      <td style="width: 54pt;"><br>
                      </td>
                      <td style="width: 18pt; vertical-align: top; font-family: 'Times New Roman';">k.</td>
                      <td style="width: auto; vertical-align: top;">
                        <div style="color: rgb(0, 0, 0); font-family: 'Times New Roman';">Requirement for Pre-Approval of Non-Audit Services - The Audit Committee shall approve in advance any retainer of the auditors to perform any non-audit service to the
                          Company that it deems advisable in accordance with Applicable Requirements, and Board approved policies and procedures. The Audit Committee may delegate pre-approval authority to a member of the Audit Committee. The decisions of
                          any member of the Audit Committee to whom this authority has been delegated must be presented to the full Audit Committee at its next scheduled Audit Committee meeting.</div>
                      </td>
                    </tr>

                </table>
              </div>
            </div>
            <div>&#160;</div>
            <div>
              <div>
                <table id="z02a122e66a414ebda983a739ae2991b7" class="DSPFListTable" style="font-family: 'Times New Roman',Times,serif; font-size: 10pt; width: 100%; text-align: left; color: rgb(0, 0, 0);" cellpadding="0" cellspacing="0">

                    <tr>
                      <td style="width: 54pt;"><br>
                      </td>
                      <td style="width: 18pt; vertical-align: top; font-family: 'Times New Roman';">l.</td>
                      <td style="width: auto; vertical-align: top;">
                        <div style="font-family: 'Times New Roman';">Review of Professional Services - The Audit Committee shall review reports from management at each quarterly Audit Committee meeting scheduled to consider the Company&#8217;s financial
                          statements concerning expenses incurred in the quarter for the services of any accounting firm (other than the appointed auditor) engaged to provide services to the Company, in each case to the extent that the amount of such
                          expenses in respect of any such firm exceeds $100,000.</div>
                      </td>
                    </tr>

                </table>
              </div>
            </div>
            <div>&#160;</div>
            <div>
              <div>
                <table id="z71c87d588a1944c5a80a5b8678ce3b9d" class="DSPFListTable" style="font-family: 'Times New Roman',Times,serif; font-size: 10pt; width: 100%; text-align: left; color: rgb(0, 0, 0);" cellpadding="0" cellspacing="0">

                    <tr>
                      <td style="width: 54pt;"><br>
                      </td>
                      <td style="width: 18pt; vertical-align: top; font-family: 'Times New Roman';">m.</td>
                      <td style="width: auto; vertical-align: top;">
                        <div style="font-family: 'Times New Roman';">Approval of Hiring Policies - The Audit Committee shall review and approve the Company&#8217;s hiring policies regarding partners, employees and former partners and employees of the present and
                          former external auditors of the Company.</div>
                      </td>
                    </tr>

                </table>
              </div>
            </div>
            <div>&#160;</div>
            <div>
              <div>
                <table id="ze23f16f286a242cb9c8aba7f06622a24" class="DSPFListTable" style="font-family: 'Times New Roman',Times,serif; font-size: 10pt; width: 100%; text-align: left; color: rgb(0, 0, 0);" cellpadding="0" cellspacing="0">

                    <tr>
                      <td style="width: 18pt;"><br>
                      </td>
                      <td style="width: 18pt; vertical-align: top; font-family: 'Times New Roman';">3.</td>
                      <td style="width: auto; vertical-align: top;">
                        <div style="font-family: 'Times New Roman'; font-weight: bold;">Internal Controls</div>
                      </td>
                    </tr>

                </table>
              </div>
            </div>
            <div>&#160;</div>
            <div>
              <div>
                <table id="z773403a6213e4c41981666214beeaaa7" class="DSPFListTable" style="font-family: 'Times New Roman',Times,serif; font-size: 10pt; width: 100%; text-align: left; color: rgb(0, 0, 0);" cellpadding="0" cellspacing="0">

                    <tr>
                      <td style="width: 54pt;"><br>
                      </td>
                      <td style="width: 18pt; vertical-align: top; font-family: 'Times New Roman';">a.</td>
                      <td style="width: auto; vertical-align: top;">
                        <div style="font-family: 'Times New Roman';">General - The Audit Committee shall review reports from management on the nature, establishment, monitoring and effectiveness of the Company&#8217;s system of internal control over financial
                          reporting and disclosure controls and procedures (as those terms are defined in the Applicable</div>
                      </td>
                    </tr>

                </table>
              </div>
            </div>
            <div>&#160;</div>
            <div id="DSPFPageBreakArea" style="clear: both; margin-top: 10pt; margin-bottom: 10pt;">
              <div style="text-align: center;" id="DSPFPageNumberArea"><font style="font-family: Arial,Helvetica,'sans-serif'; font-size: 9pt; font-weight: normal; font-style: normal;" id="DSPFPageNumber">50</font></div>
              <div id="DSPFPageBreak" style="page-break-after: always;">
                <hr style="margin: 4px 0px; width: 100%; border-width: 0px; height: 2px; color: rgb(0, 0, 0); background-color: rgb(0, 0, 0); clear: both;" noshade="noshade"></div>
            </div>
            <div>
              <div style="text-align: center; font-family: 'Times New Roman'; font-weight: normal;">Appendix A to Annual Information Form</div>
            </div>
            <div style="margin-left: 72pt; font-family: 'Times New Roman';"><br>
            </div>
            <div>&#160;</div>
            <div>
              <table class="DSPFListTable" style="font-family: 'Times New Roman',Times,serif; font-size: 10pt; width: 100%; text-align: left; color: rgb(0, 0, 0);" cellpadding="0" cellspacing="0">

                  <tr>
                    <td style="width: 54pt;"><br>
                    </td>
                    <td style="width: 18pt; vertical-align: top; color: rgb(0, 0, 0); font-family: 'Times New Roman';"><br>
                    </td>
                    <td style="width: auto; vertical-align: top;">
                      <div style="font-family: 'Times New Roman';">
                        <div>Requirements).</div>
                      </div>
                    </td>
                  </tr>

              </table>
            </div>
            <div> <br>
            </div>
            <div>
              <div>
                <table id="zfc691fa833af44e79398c36d72d71925" class="DSPFListTable" style="font-family: 'Times New Roman',Times,serif; font-size: 10pt; width: 100%; text-align: left; color: rgb(0, 0, 0);" cellpadding="0" cellspacing="0">

                    <tr>
                      <td style="width: 54pt;"><br>
                      </td>
                      <td style="width: 18pt; vertical-align: top; color: rgb(0, 0, 0); font-family: 'Times New Roman';">b.</td>
                      <td style="width: auto; vertical-align: top;">
                        <div style="font-family: 'Times New Roman';">Establishment, Review and Approval - The Audit Committee shall require management to establish and m<font style="color: rgb(0, 0, 0);">aintain appropriate systems of internal </font>control
                          over financial reporting and disclosure controls and procedures in accordance with Applicable Requirements and guidance and to review, evaluate and approve these controls and procedures<font style="color: rgb(0, 0, 0);">. At least
                            annually, the Audit Committee shall consider and review with management and the auditors:</font></div>
                      </td>
                    </tr>

                </table>
              </div>
            </div>
            <div>&#160;</div>
            <div>
              <div>
                <table id="z57d02b99e9a34418b3f8e9dc73f5c7ab" class="DSPFListTable" style="font-family: 'Times New Roman',Times,serif; font-size: 10pt; width: 100%; text-align: left; color: rgb(0, 0, 0);" cellpadding="0" cellspacing="0">

                    <tr>
                      <td style="width: 90pt;"><br>
                      </td>
                      <td style="width: 18pt; vertical-align: top; color: rgb(0, 0, 0); font-family: 'Times New Roman';">i.</td>
                      <td style="width: auto; vertical-align: top;">
                        <div style="font-family: 'Times New Roman';"><font style="color: rgb(0, 0, 0);">the effectiveness of, or weaknesses or deficiencies in the design or operation of the Company&#8217;s internal </font>control over financial reporting and
                          disclosure controls and procedures, and the impact of any identified weaknesses in these controls and procedures <font style="color: rgb(0, 0, 0);">on management's conclusions;</font></div>
                      </td>
                    </tr>

                </table>
              </div>
            </div>
            <div>&#160;</div>
            <div>
              <div>
                <table id="zbd0f1e43f6524271bf0b1b473787b8ae" class="DSPFListTable" style="font-family: 'Times New Roman',Times,serif; font-size: 10pt; width: 100%; text-align: left; color: rgb(0, 0, 0);" cellpadding="0" cellspacing="0">

                    <tr>
                      <td style="width: 90pt;"><br>
                      </td>
                      <td style="width: 18pt; vertical-align: top; color: rgb(0, 0, 0); font-family: 'Times New Roman';">ii.</td>
                      <td style="width: auto; vertical-align: top;">
                        <div style="color: rgb(0, 0, 0); font-family: 'Times New Roman';">any significant changes in internal control over financial reporting that are disclosed, or considered for disclosure, including those in the Company&#8217;s periodic
                          regulatory filings;</div>
                      </td>
                    </tr>

                </table>
              </div>
            </div>
            <div>&#160;</div>
            <div>
              <div>
                <table id="zbfd0978d04214c80b9b1e8c6188d8942" class="DSPFListTable" style="font-family: 'Times New Roman',Times,serif; font-size: 10pt; width: 100%; text-align: left; color: rgb(0, 0, 0);" cellpadding="0" cellspacing="0">

                    <tr>
                      <td style="width: 90pt;"><br>
                      </td>
                      <td style="width: 18pt; vertical-align: top; color: rgb(0, 0, 0); font-family: 'Times New Roman';">iii.</td>
                      <td style="width: auto; vertical-align: top;">
                        <div style="color: rgb(0, 0, 0); font-family: 'Times New Roman';">the auditors&#8217; report on the Company&#8217;s internal control over financial reporting;</div>
                      </td>
                    </tr>

                </table>
              </div>
            </div>
            <div>&#160;</div>
            <div>
              <div>
                <table id="zd0f06ed929fa40e9992825be35527d07" class="DSPFListTable" style="font-family: 'Times New Roman',Times,serif; font-size: 10pt; width: 100%; text-align: left; color: rgb(0, 0, 0);" cellpadding="0" cellspacing="0">

                    <tr>
                      <td style="width: 90pt;"><br>
                      </td>
                      <td style="width: 18pt; vertical-align: top; color: rgb(0, 0, 0); font-family: 'Times New Roman';">iv.</td>
                      <td style="width: auto; vertical-align: top;">
                        <div style="color: rgb(0, 0, 0); font-family: 'Times New Roman';">any material issues raised by any inquiry or investigation by the Company&#8217;s regulators;</div>
                      </td>
                    </tr>

                </table>
              </div>
            </div>
            <div>&#160;</div>
            <div>
              <div>
                <table id="ze382a8474cd146df826fdcdadb63facb" class="DSPFListTable" style="font-family: 'Times New Roman',Times,serif; font-size: 10pt; width: 100%; text-align: left; color: rgb(0, 0, 0);" cellpadding="0" cellspacing="0">

                    <tr>
                      <td style="width: 90pt;"><br>
                      </td>
                      <td style="width: 18pt; vertical-align: top; color: rgb(0, 0, 0); font-family: 'Times New Roman';">v.</td>
                      <td style="width: auto; vertical-align: top;">
                        <div style="color: rgb(0, 0, 0); font-family: 'Times New Roman';">the Company&#8217;s fraud prevention and detection program, including deficiencies in internal controls that may impact the integrity of financial information, or may
                          expose the Company to other significant internal or external fraud losses and the extent of those losses and any disciplinary action in respect of fraud taken against management or other employees who have a significant role in
                          financial reporting; and</div>
                      </td>
                    </tr>

                </table>
              </div>
            </div>
            <div>&#160;</div>
            <div>
              <div>
                <table id="z55aa70b99e6143d9820d4e4f596a595e" class="DSPFListTable" style="font-family: 'Times New Roman',Times,serif; font-size: 10pt; width: 100%; text-align: left; color: rgb(0, 0, 0);" cellpadding="0" cellspacing="0">

                    <tr>
                      <td style="width: 90pt;"><br>
                      </td>
                      <td style="width: 18pt; vertical-align: top; color: rgb(0, 0, 0); font-family: 'Times New Roman';">vi.</td>
                      <td style="width: auto; vertical-align: top;">
                        <div style="color: rgb(0, 0, 0); font-family: 'Times New Roman';">any related significant issues and recommendations of the auditors together with management's responses thereto, including the timetable for implementation of
                          recommendations to correct weaknesses in internal controls over financial reporting and</div>
                      </td>
                    </tr>

                </table>
              </div>
            </div>
            <div>&#160;</div>
            <div id="DSPFPageBreakArea" style="clear: both; margin-top: 10pt; margin-bottom: 10pt;">
              <div style="text-align: center;" id="DSPFPageNumberArea"><font style="font-family: Arial,Helvetica,'sans-serif'; font-size: 9pt; font-weight: normal; font-style: normal;" id="DSPFPageNumber">51</font></div>
              <div id="DSPFPageBreak" style="page-break-after: always;">
                <hr style="margin: 4px 0px; width: 100%; border-width: 0px; height: 2px; color: rgb(0, 0, 0); background-color: rgb(0, 0, 0); clear: both;" noshade="noshade"></div>
            </div>
            <div>
              <div>
                <div>
                  <div style="text-align: center; font-family: 'Times New Roman'; font-weight: normal;">Appendix A to Annual Information Form</div>
                  <div style="text-align: center; font-family: 'Times New Roman'; font-weight: normal;"> <br>
                  </div>
                  <div style="text-align: center; font-family: 'Times New Roman'; font-weight: normal;"> <br>
                  </div>
                </div>
              </div>
              <table class="DSPFListTable" style="font-family: 'Times New Roman',Times,serif; font-size: 10pt; width: 100%; text-align: left; color: rgb(0, 0, 0);" cellpadding="0" cellspacing="0">

                  <tr>
                    <td style="width: 90pt;"><br>
                    </td>
                    <td style="width: 18pt; vertical-align: top; color: rgb(0, 0, 0); font-family: 'Times New Roman';"><br>
                    </td>
                    <td style="width: auto; vertical-align: top;">
                      <div style="color: rgb(0, 0, 0); font-family: 'Times New Roman';">disclosure controls.</div>
                    </td>
                  </tr>

              </table>
            </div>
            <div style="margin-left: 108pt; color: rgb(0, 0, 0); font-family: 'Times New Roman';"><br>
            </div>
            <div>
              <div>
                <table id="z5b630f533eaa4f29a3b4e7c359b31eed" class="DSPFListTable" style="font-family: 'Times New Roman',Times,serif; font-size: 10pt; width: 100%; text-align: left; color: rgb(0, 0, 0);" cellpadding="0" cellspacing="0">

                    <tr>
                      <td style="width: 18pt;"><br>
                      </td>
                      <td style="width: 18pt; vertical-align: top; font-family: 'Times New Roman'; font-weight: bold;">4.</td>
                      <td style="width: auto; vertical-align: top;">
                        <div style="font-family: 'Times New Roman'; font-weight: bold;">Risk Management</div>
                      </td>
                    </tr>

                </table>
              </div>
            </div>
            <div>&#160;</div>
            <div>
              <div>
                <table id="zcd1201bd67b44990ae47b41e199719cd" class="DSPFListTable" style="font-family: 'Times New Roman',Times,serif; font-size: 10pt; width: 100%; text-align: left; color: rgb(0, 0, 0);" cellpadding="0" cellspacing="0">

                    <tr>
                      <td style="width: 54pt;"><br>
                      </td>
                      <td style="width: 18pt; vertical-align: top; font-family: 'Times New Roman';">a.</td>
                      <td style="width: auto; vertical-align: top;">
                        <div style="font-family: 'Times New Roman';">General &#8211; In addition to being responsible for overseeing risks related to the Company&#8217;s accounting, financial statements, financial reporting process and internal controls related to
                          financial reporting, the Audit Committee is also responsible for overseeing management&#8217;s implementation and operation of the enterprise risk management program, as documented in the Risk Management Policy established by the Board
                          of Directors.&#160;&#160; The risk oversight process is the means by which the Board of Directors determines that the Company has in place an effective process for identifying, assessing, managing and monitoring key risks in the business on
                          a continuous basis as the business evolves.</div>
                      </td>
                    </tr>

                </table>
              </div>
            </div>
            <div>
              <div>
                <div> <br>
                </div>
                <table id="z07d3aeb52d49449588a0d9efd2e9c4d0" class="DSPFListTable" style="font-family: 'Times New Roman',Times,serif; font-size: 10pt; width: 100%; text-align: left; color: rgb(0, 0, 0);" cellpadding="0" cellspacing="0">

                    <tr>
                      <td style="width: 54pt;"><br>
                      </td>
                      <td style="width: 18pt; vertical-align: top; font-family: 'Times New Roman';">b.</td>
                      <td style="width: auto; vertical-align: top;">
                        <div style="font-family: 'Times New Roman';">Management Responsibilities - Management is responsible for:</div>
                      </td>
                    </tr>

                </table>
              </div>
            </div>
            <div>
              <div>
                <div> <br>
                </div>
                <table id="zaab6a2970fcd461785d42960a2b2d95b" class="DSPFListTable" style="font-family: 'Times New Roman',Times,serif; font-size: 10pt; width: 100%; text-align: left; color: rgb(0, 0, 0);" cellpadding="0" cellspacing="0">

                    <tr>
                      <td style="width: 72pt;"><br>
                      </td>
                      <td style="width: 18pt; vertical-align: top; font-family: 'Times New Roman';">i.</td>
                      <td style="width: auto; vertical-align: top;">
                        <div style="font-family: 'Times New Roman';">ensuring the development and implementation of the Risk Management process.&#160; Risk Management is the framework required to identify, assess and develop strategies to manage and monitor
                          control risks;</div>
                      </td>
                    </tr>

                </table>
              </div>
            </div>
            <div>
              <div>
                <div> <br>
                </div>
                <table id="z74fb623b101d43b0909941506b468a62" class="DSPFListTable" style="font-family: 'Times New Roman',Times,serif; font-size: 10pt; width: 100%; text-align: left; color: rgb(0, 0, 0);" cellpadding="0" cellspacing="0">

                    <tr>
                      <td style="width: 72pt;"><br>
                      </td>
                      <td style="width: 18pt; vertical-align: top; font-family: 'Times New Roman';">ii.</td>
                      <td style="width: auto; vertical-align: top;">
                        <div style="font-family: 'Times New Roman';">the design and implementation of the actions, measures and/or processes to mitigate to an appropriate level all material risks in the business (the &#8220;<font style="font-weight: bold;">Risk
                            Controls</font>&#8221;) including the design and implementation of appropriate crisis preparedness, business continuity and disaster recovery plans; and</div>
                      </td>
                    </tr>

                </table>
              </div>
            </div>
            <div>
              <div>
                <div> <br>
                </div>
                <table id="zb815126ac8554a39907a3fda5d8d63b5" class="DSPFListTable" style="font-family: 'Times New Roman',Times,serif; font-size: 10pt; width: 100%; text-align: left; color: rgb(0, 0, 0);" cellpadding="0" cellspacing="0">

                    <tr>
                      <td style="width: 72pt;"><br>
                      </td>
                      <td style="width: 18pt; vertical-align: top; font-family: 'Times New Roman';">iii.</td>
                      <td style="width: auto; vertical-align: top;">
                        <div style="font-family: 'Times New Roman';">monitoring overall compliance with and adherence to the Risk Management Policy as established by the Board of Directors.</div>
                      </td>
                    </tr>

                </table>
              </div>
            </div>
            <div>
              <div>
                <div> <br>
                </div>
                <table id="z7ee8ef321a794e8dbf60e557c690df86" class="DSPFListTable" style="font-family: 'Times New Roman',Times,serif; font-size: 10pt; width: 100%; text-align: left; color: rgb(0, 0, 0);" cellpadding="0" cellspacing="0">

                    <tr>
                      <td style="width: 54pt;"><br>
                      </td>
                      <td style="width: 18pt; vertical-align: top; font-family: 'Times New Roman';">c.</td>
                      <td style="width: auto; vertical-align: top;">
                        <div style="font-family: 'Times New Roman';">Audit Committee Responsibilities - The Audit Committee is responsible for:</div>
                      </td>
                    </tr>

                </table>
              </div>
            </div>
            <div>
              <div>
                <div> <br>
                </div>
                <table id="z1927f25c83ba4a6d932632df7b75f8d7" class="DSPFListTable" style="font-family: 'Times New Roman',Times,serif; font-size: 10pt; width: 100%; text-align: left; color: rgb(0, 0, 0);" cellpadding="0" cellspacing="0">

                    <tr>
                      <td style="width: 72pt;"><br>
                      </td>
                      <td style="width: 18pt; vertical-align: top; font-family: 'Times New Roman';">i.</td>
                      <td style="width: auto; vertical-align: top;">
                        <div style="font-family: 'Times New Roman';">at least annually, reviewing the effectiveness of the Risk Management program that is in place.&#160; As part of its review, the Audit Committee will review reports prepared by management that</div>
                      </td>
                    </tr>

                </table>
              </div>
            </div>
            <div id="DSPFPageBreakArea" style="clear: both; margin-top: 10pt; margin-bottom: 10pt;">
              <div style="text-align: center;" id="DSPFPageNumberArea"><font style="font-family: Arial,Helvetica,'sans-serif'; font-size: 9pt; font-weight: normal; font-style: normal;" id="DSPFPageNumber">52</font></div>
              <div id="DSPFPageBreak" style="page-break-after: always;">
                <hr style="margin: 4px 0px; width: 100%; border-width: 0px; height: 2px; color: rgb(0, 0, 0); background-color: rgb(0, 0, 0); clear: both;" noshade="noshade"></div>
            </div>
            <div>
              <div style="text-align: center; font-family: 'Times New Roman'; font-weight: normal;">Appendix A to Annual Information Form</div>
              <div style="text-align: center; font-family: 'Times New Roman'; font-weight: normal;"> <br>
              </div>
              <div style="text-align: center; font-family: 'Times New Roman'; font-weight: normal;"> <br>
              </div>
            </div>
            <div>
              <div>
                <div>
                  <table class="DSPFListTable" style="font-family: 'Times New Roman',Times,serif; font-size: 10pt; width: 100%; text-align: left; color: rgb(0, 0, 0);" cellpadding="0" cellspacing="0">

                      <tr>
                        <td style="width: 72pt;"><br>
                        </td>
                        <td style="width: 18pt; vertical-align: top; font-family: 'Times New Roman';"><br>
                        </td>
                        <td style="width: auto; vertical-align: top;">
                          <div style="font-family: 'Times New Roman';">assess the risks in the business, identifies the Risk Controls that are in place to mitigate and manage these risks to an appropriate level, and evaluate the residual risk in the
                            business (the risk that remains after implementation of the Risk Controls);</div>
                        </td>
                      </tr>

                  </table>
                </div>
                <div> <br>
                </div>
                <table id="ze14324d047f1462bb6a4960317645b09" class="DSPFListTable" style="font-family: 'Times New Roman',Times,serif; font-size: 10pt; width: 100%; text-align: left; color: rgb(0, 0, 0);" cellpadding="0" cellspacing="0">

                    <tr>
                      <td style="width: 72pt;"><br>
                      </td>
                      <td style="width: 18pt; vertical-align: top; font-family: 'Times New Roman';">ii.</td>
                      <td style="width: auto; vertical-align: top;">
                        <div style="font-family: 'Times New Roman';">periodically monitor risk and risk management capabilities within the Company including crisis preparedness, business continuity and disaster recovery plans; and</div>
                      </td>
                    </tr>

                </table>
              </div>
            </div>
            <div>
              <div>
                <div> <br>
                </div>
                <table id="zed89be8b26a14888a6da8e403e8d70bd" class="DSPFListTable" style="font-family: 'Times New Roman',Times,serif; font-size: 10pt; width: 100%; text-align: left; color: rgb(0, 0, 0);" cellpadding="0" cellspacing="0">

                    <tr>
                      <td style="width: 72pt;"><br>
                      </td>
                      <td style="width: 18pt; vertical-align: top; font-family: 'Times New Roman';">iii.</td>
                      <td style="width: auto; vertical-align: top;">
                        <div style="font-family: 'Times New Roman';">reporting to the Board of Directors on its oversight of the Company&#8217;s Risk Management program,&#160; including an assessment of whether the program is being followed and is effective.</div>
                      </td>
                    </tr>

                </table>
              </div>
            </div>
            <div>
              <div>
                <div> <br>
                </div>
                <table id="z38e6df50c7574a6fb6517faba9b7f7ed" class="DSPFListTable" style="font-family: 'Times New Roman',Times,serif; font-size: 10pt; width: 100%; text-align: left; color: rgb(0, 0, 0);" cellpadding="0" cellspacing="0">

                    <tr>
                      <td style="width: 54pt;"><br>
                      </td>
                      <td style="width: 18pt; vertical-align: top; font-family: 'Times New Roman';">d.</td>
                      <td style="width: auto; vertical-align: top;">
                        <div style="font-family: 'Times New Roman';">Computerized<font style="font-weight: bold;">&#160;</font>Information Systems<font style="font-weight: bold;">&#160;</font>- The Audit Committee shall review reports from the Company&#8217;s management
                          containing its assessment of the adequacy of the Company&#8217;s computerized information system controls and security and related risks, including cybersecurity risk.</div>
                      </td>
                    </tr>

                </table>
              </div>
            </div>
            <div>
              <div>
                <div> <br>
                </div>
                <table id="zf1b6f386f4fe485bbde2144c6dcb8d50" class="DSPFListTable" style="font-family: 'Times New Roman',Times,serif; font-size: 10pt; width: 100%; text-align: left; color: rgb(0, 0, 0);" cellpadding="0" cellspacing="0">

                    <tr>
                      <td style="width: 18pt;"><br>
                      </td>
                      <td style="width: 18pt; vertical-align: top; color: rgb(0, 0, 0); font-family: 'Times New Roman';">5.</td>
                      <td style="width: auto; vertical-align: top;">
                        <div style="font-family: 'Times New Roman';"><font style="font-weight: bold;">Internal</font>&#160;<font style="font-weight: bold;">Audit</font> &#8211; the Audit Committee may choose to establish and maintain an Internal Audit function from
                          time to time.&#160;&#160; If so established, the internal audit function will report directly to the Chair of the Audit Committee and administratively to the Chief Financial Officer.&#160; In relation to the internal audit function, if so
                          established and maintained, <font style="color: rgb(0, 0, 0);">the Audit Committee shall:</font></div>
                      </td>
                    </tr>

                </table>
              </div>
            </div>
            <div>&#160;</div>
            <div>
              <div>
                <table id="zbcfa0bb1183948edbb858b570fc47603" class="DSPFListTable" style="font-family: 'Times New Roman',Times,serif; font-size: 10pt; width: 100%; text-align: left; color: rgb(0, 0, 0);" cellpadding="0" cellspacing="0">

                    <tr>
                      <td style="width: 54pt;"><br>
                      </td>
                      <td style="width: 18pt; vertical-align: top; color: rgb(0, 0, 0); font-family: 'Times New Roman';">a.</td>
                      <td style="width: auto; vertical-align: top;">
                        <div style="color: rgb(0, 0, 0); font-family: 'Times New Roman';">Establish an internal audit charter and review and approve any necessary revisions to such charter on an annual basis;</div>
                      </td>
                    </tr>

                </table>
              </div>
            </div>
            <div>&#160;</div>
            <div>
              <div>
                <table id="zf7997f2eeb304f34b40cdcaf6738700b" class="DSPFListTable" style="font-family: 'Times New Roman',Times,serif; font-size: 10pt; width: 100%; text-align: left; color: rgb(0, 0, 0);" cellpadding="0" cellspacing="0">

                    <tr>
                      <td style="width: 54pt;"><br>
                      </td>
                      <td style="width: 18pt; vertical-align: top; color: rgb(0, 0, 0); font-family: 'Times New Roman';">b.</td>
                      <td style="width: auto; vertical-align: top;">
                        <div style="color: rgb(0, 0, 0); font-family: 'Times New Roman';">review and evaluate the effectiveness of the internal audit function;</div>
                      </td>
                    </tr>

                </table>
              </div>
            </div>
            <div>&#160;</div>
            <div>
              <div>
                <table id="z2943324ab6c34466a5f90e8da1cb6a04" class="DSPFListTable" style="font-family: 'Times New Roman',Times,serif; font-size: 10pt; width: 100%; text-align: left; color: rgb(0, 0, 0);" cellpadding="0" cellspacing="0">

                    <tr>
                      <td style="width: 54pt;"><br>
                      </td>
                      <td style="width: 18pt; vertical-align: top; color: rgb(0, 0, 0); font-family: 'Times New Roman';">c.</td>
                      <td style="width: auto; vertical-align: top;">
                        <div style="color: rgb(0, 0, 0); font-family: 'Times New Roman';">review the&#160; operating budget for the internal audit function including staffing levels and resources; and</div>
                      </td>
                    </tr>

                </table>
              </div>
            </div>
            <div>&#160;</div>
            <div>
              <div>
                <table id="ze7a26737c50846f1992c6ea596603cf9" class="DSPFListTable" style="font-family: 'Times New Roman',Times,serif; font-size: 10pt; width: 100%; text-align: left; color: rgb(0, 0, 0);" cellpadding="0" cellspacing="0">

                    <tr>
                      <td style="width: 54pt;"><br>
                      </td>
                      <td style="width: 18pt; vertical-align: top; color: rgb(0, 0, 0); font-family: 'Times New Roman';">d.</td>
                      <td style="width: auto; vertical-align: top;">
                        <div style="color: rgb(0, 0, 0); font-family: 'Times New Roman';">On a regular basis, meet with the head of the internal audit function without other members of management present.</div>
                      </td>
                    </tr>

                </table>
              </div>
            </div>
            <div>&#160;</div>
            <div>
              <div>
                <table id="zea32e41a40b245fbbc19e74c5edfad0c" class="DSPFListTable" style="font-family: 'Times New Roman',Times,serif; font-size: 10pt; width: 100%; text-align: left; color: rgb(0, 0, 0);" cellpadding="0" cellspacing="0">

                    <tr>
                      <td style="width: 18pt;"><br>
                      </td>
                      <td style="width: 18pt; vertical-align: top; font-family: 'Times New Roman';">6.</td>
                      <td style="width: auto; vertical-align: top;">
                        <div style="font-family: 'Times New Roman';"><font style="font-weight: bold; color: rgb(0, 0, 0);">Compliance with Legal and Regulatory Requirements</font><font style="color: rgb(0, 0, 0);"> - The Audit Committee shall review
                            reports from the Company&#8217;s Corporate Secretary and other management members on: legal or compliance matters that may have a material</font></div>
                      </td>
                    </tr>

                </table>
              </div>
            </div>
            <div>&#160;</div>
            <div id="DSPFPageBreakArea" style="clear: both; margin-top: 10pt; margin-bottom: 10pt;">
              <div style="text-align: center;" id="DSPFPageNumberArea"><font style="font-family: Arial,Helvetica,'sans-serif'; font-size: 9pt; font-weight: normal; font-style: normal;" id="DSPFPageNumber">53</font></div>
              <div id="DSPFPageBreak" style="page-break-after: always;">
                <hr style="margin: 4px 0px; width: 100%; border-width: 0px; height: 2px; color: rgb(0, 0, 0); background-color: rgb(0, 0, 0); clear: both;" noshade="noshade"></div>
            </div>
            <div>
              <div style="text-align: center; font-family: 'Times New Roman'; font-weight: normal;">Appendix A to Annual Information Form</div>
              <div style="text-align: center; font-family: 'Times New Roman'; font-weight: normal;"> <br>
              </div>
            </div>
            <div>&#160;</div>
            <div>
              <table class="DSPFListTable" style="font-family: 'Times New Roman',Times,serif; font-size: 10pt; width: 100%; text-align: left; color: rgb(0, 0, 0);" cellpadding="0" cellspacing="0">

                  <tr>
                    <td style="width: 18pt;"><br>
                    </td>
                    <td style="width: 18pt; vertical-align: top; font-family: 'Times New Roman';"><br>
                    </td>
                    <td style="width: auto; vertical-align: top;">
                      <div style="font-family: 'Times New Roman';">
                        <div style="color: rgb(0, 0, 0);">impact on the Company; the effectiveness of the Company&#8217;s compliance policies; and any material communications received from regulators. The Audit Committee shall review management's evaluation of
                          and representations relating to compliance with specific Applicable Requirements, and management's plans to remediate any deficiencies identified.</div>
                      </div>
                    </td>
                  </tr>

              </table>
            </div>
            <div> <br>
            </div>
            <div>
              <div>
                <table id="z4d5d54eac68b4641a01ab4605acadb32" class="DSPFListTable" style="font-family: 'Times New Roman',Times,serif; font-size: 10pt; width: 100%; text-align: left; color: rgb(0, 0, 0);" cellpadding="0" cellspacing="0">

                    <tr>
                      <td style="width: 18pt;"><br>
                      </td>
                      <td style="width: 18pt; vertical-align: top; font-family: 'Times New Roman';">7.</td>
                      <td style="width: auto; vertical-align: top;">
                        <div style="font-family: 'Times New Roman';"><font style="font-weight: bold; color: rgb(0, 0, 0);">Audit Committee Hotline Procedures</font><font style="color: rgb(0, 0, 0);"> - </font>The Audit Committee shall establish procedures
                          for (a) the receipt, retention, and treatment of complaints received by the Company regarding accounting, internal accounting controls, or auditing matters; and (b) the confidential, anonymous submission by employees of the
                          Company of concerns regarding questionable accounting or auditing matters.&#160; Any such complaints or concerns that are received shall be reviewed by the Audit Committee and, if the Audit Committee determines that the matter requires
                          further investigation, it will direct the Chair of the Audit Committee to engage outside advisors, as it deems necessary or appropriate, to investigate the matter and will work with management and the Company&#8217;s general counsel to
                          reach a satisfactory conclusion.</div>
                      </td>
                    </tr>

                </table>
              </div>
            </div>
            <div>&#160;</div>
            <div>
              <div>
                <table id="z2b758023600945da91b59424ca76fcf1" class="DSPFListTable" style="font-family: 'Times New Roman',Times,serif; font-size: 10pt; width: 100%; text-align: left; color: rgb(0, 0, 0);" cellpadding="0" cellspacing="0">

                    <tr>
                      <td style="width: 18pt;"><br>
                      </td>
                      <td style="width: 18pt; vertical-align: top; font-family: 'Times New Roman';">8.</td>
                      <td style="width: auto; vertical-align: top;">
                        <div style="font-family: 'Times New Roman';"><font style="font-weight: bold; color: rgb(0, 0, 0);">Audit Committee Disclosure</font><font style="color: rgb(0, 0, 0);"> - The Audit Committee shall prepare, review and approve any
                            audit committee disclosures required by Applicable Requirements in the Company&#8217;s disclosure documents.</font></div>
                      </td>
                    </tr>

                </table>
              </div>
            </div>
            <div>&#160;</div>
            <div>
              <div>
                <table id="z1933c289fca047ed9c3e3f75fdde5ece" class="DSPFListTable" style="font-family: 'Times New Roman',Times,serif; font-size: 10pt; width: 100%; text-align: left; color: rgb(0, 0, 0);" cellpadding="0" cellspacing="0">

                    <tr>
                      <td style="width: 18pt;"><br>
                      </td>
                      <td style="width: 18pt; vertical-align: top; font-family: 'Times New Roman';">9.</td>
                      <td style="width: auto; vertical-align: top;">
                        <div style="font-family: 'Times New Roman';"><font style="color: rgb(0, 0, 0);">&#160;</font><font style="font-weight: bold;">Requirement for Review and Approval of the CEO Business Expenses</font> - The Chair of the Audit Committee
                          shall review and approve the reimbursable business expenses incurred by the Chief Executive Officer of the Company in connection with the performance of his duties.&#160; Such approval may be provided subsequent to reimbursement of
                          such expenses.</div>
                      </td>
                    </tr>

                </table>
              </div>
            </div>
            <div>&#160;</div>
            <div>
              <div>
                <table id="z5f741472ffc247aba660a964f74fed47" class="DSPFListTable" style="font-family: 'Times New Roman',Times,serif; font-size: 10pt; width: 100%; text-align: left; color: rgb(0, 0, 0);" cellpadding="0" cellspacing="0">

                    <tr>
                      <td style="width: 18pt;"><br>
                      </td>
                      <td style="width: 18pt; vertical-align: top; font-family: 'Times New Roman';">10.</td>
                      <td style="width: auto; vertical-align: top;">
                        <div style="font-family: 'Times New Roman';"><font style="font-weight: bold; color: rgb(0, 0, 0);">Review of Audit Committee Charter - </font><font style="color: rgb(0, 0, 0);">On at least an annual basis, the Audit Committee
                            shall, in conjunction with the Corporate Governance Committee, review and reassess the adequacy of this Audit Committee Charter.</font></div>
                      </td>
                    </tr>

                </table>
              </div>
            </div>
            <div>&#160;</div>
            <div>
              <div>
                <table id="zb4efc158dae143c9a7ef2e9a6c7dfadc" class="DSPFListTable" style="font-family: 'Times New Roman',Times,serif; font-size: 10pt; width: 100%; text-align: left; color: rgb(0, 0, 0);" cellpadding="0" cellspacing="0">

                    <tr>
                      <td style="width: 18pt;"><br>
                      </td>
                      <td style="width: 18pt; vertical-align: top; font-family: 'Times New Roman';">11.</td>
                      <td style="width: auto; vertical-align: top;">
                        <div style="font-family: 'Times New Roman';"><font style="font-weight: bold; color: rgb(0, 0, 0);">Delegation</font><font style="color: rgb(0, 0, 0);"> - The Audit Committee may, to the extent permissible by Applicable Requirements,
                            designate a sub-committee to review any matter within this mandate as the Audit Committee deems appropriate.</font></div>
                      </td>
                    </tr>

                </table>
              </div>
            </div>
            <div>&#160;</div>
            <div id="DSPFPageBreakArea" style="clear: both; margin-top: 10pt; margin-bottom: 10pt;">
              <div style="text-align: center;" id="DSPFPageNumberArea"><font style="font-family: Arial,Helvetica,'sans-serif'; font-size: 9pt; font-weight: normal; font-style: normal;" id="DSPFPageNumber">54</font></div>
              <div id="DSPFPageBreak" style="page-break-after: always;">
                <hr style="margin: 4px 0px; width: 100%; border-width: 0px; height: 2px; color: rgb(0, 0, 0); background-color: rgb(0, 0, 0); clear: both;" noshade="noshade"></div>
            </div>
            <div>
              <div style="text-align: center; font-family: 'Times New Roman'; font-weight: normal;">Appendix A to Annual Information Form</div>
            </div>
            <div><br>
            </div>
            <div>&#160;</div>
            <div style="font-family: 'Times New Roman'; font-weight: bold;">6. REPORTING TO THE BOARD</div>
            <div style="font-family: 'Times New Roman'; font-weight: bold;"> <br>
            </div>
            <div>
              <div>
                <table id="zd6b03de0222a4b27a2e496e1e0fc420b" class="DSPFListTable" style="font-family: 'Times New Roman',Times,serif; font-size: 10pt; width: 100%; text-align: left; color: rgb(0, 0, 0);" cellpadding="0" cellspacing="0">

                    <tr>
                      <td style="width: 18pt;"><br>
                      </td>
                      <td style="width: 18pt; vertical-align: top; font-family: 'Times New Roman';">1.</td>
                      <td style="width: auto; vertical-align: top;">
                        <div style="font-family: 'Times New Roman';">The Chair shall report to the Board, as required by Applicable Requirements or as deemed necessary by the Audit Committee or as requested by the Board, on matters arising at Audit
                          Committee meetings and, where applicable, shall present the Audit Committee's recommendation to the Board for its approval.</div>
                      </td>
                    </tr>

                </table>
              </div>
            </div>
            <div>&#160;</div>
            <div style="font-family: 'Times New Roman'; font-weight: bold;">7. GENERAL</div>
            <div style="font-family: 'Times New Roman'; font-weight: bold;"> <br>
            </div>
            <div>
              <div>
                <table id="z1f743903e63e432dadfb8b404c451505" class="DSPFListTable" style="font-family: 'Times New Roman',Times,serif; font-size: 10pt; width: 100%; text-align: left; color: rgb(0, 0, 0);" cellpadding="0" cellspacing="0">

                    <tr>
                      <td style="width: 18pt;"><br>
                      </td>
                      <td style="width: 18pt; vertical-align: top; font-family: 'Times New Roman';">1.</td>
                      <td style="width: auto; vertical-align: top;">
                        <div style="font-family: 'Times New Roman';">The Audit Committee shall, to the extent permissible by Applicable Requirements, have such additional authority as may be reasonably necessary or desirable, in the Audit Committee&#8217;s
                          discretion, to exercise its powers and fulfill the duties under this mandate.</div>
                      </td>
                    </tr>

                </table>
              </div>
            </div>
            <div>&#160;</div>
            <div style="font-family: 'Times New Roman'; font-weight: bold;">8. CURRENCY OF THE AUDIT COMMITTEE CHARTER</div>
            <div style="font-family: 'Times New Roman'; font-weight: bold;"> <br>
            </div>
            <div>
              <div>
                <table id="zb64228dcb73641a889c9baa1be8717c7" class="DSPFListTable" style="font-family: 'Times New Roman',Times,serif; font-size: 10pt; width: 100%; text-align: left; color: rgb(0, 0, 0);" cellpadding="0" cellspacing="0">

                    <tr>
                      <td style="width: 18pt;"><br>
                      </td>
                      <td style="width: 18pt; vertical-align: top; font-family: 'Times New Roman';">1.</td>
                      <td style="width: auto; vertical-align: top;">
                        <div style="color: rgb(0, 0, 0); font-family: 'Times New Roman';">This charter was last approved by the Audit Committee and Board on March 4, 2020.</div>
                      </td>
                    </tr>

                </table>
              </div>
            </div>
            <div>&#160;</div>
            <div><br>
            </div>
            <div><br>
            </div>
            <div>&#160;</div>
            <div><br>
            </div>
            <div>&#160;</div>
            <div id="DSPFPageBreakArea" style="clear: both; margin-top: 10pt; margin-bottom: 10pt;">
              <div style="text-align: center;" id="DSPFPageNumberArea"><font style="font-family: Arial,Helvetica,'sans-serif'; font-size: 9pt; font-weight: normal; font-style: normal;" id="DSPFPageNumber">55</font></div>
              <div id="DSPFPageBreak" style="page-break-after: always;">
                <hr style="margin: 4px 0px; width: 100%; border-width: 0px; height: 2px; color: rgb(0, 0, 0); background-color: rgb(0, 0, 0); clear: both;" noshade="noshade"></div>
            </div>
            <div>
              <div style="text-align: center; font-family: 'Times New Roman';">Appendix B to Annual Information Form</div>
              <div style="text-align: center; font-family: 'Times New Roman';"> <br>
              </div>
              <div style="text-align: center; font-family: 'Times New Roman';"> <br>
              </div>
            </div>
            <div style="text-align: center; color: rgb(0, 0, 0); font-family: 'Times New Roman'; font-weight: bold;">PRE-APPROVAL POLICY AND PROCEDURE FOR ENGAGEMENTS OF THE INDEPENDENT AUDITOR</div>
            <div>&#160;</div>
            <div style="color: rgb(0, 0, 0); font-family: 'Times New Roman';">The responsibilities of the Company&#8217;s audit committee are set out in the Company&#8217;s Audit Committee Charter, which responsibilities include pre-approving audit and non-audit
              services provided by the independent auditors in order to ensure the services do not impair the auditors' independence. Applicable securities commissions and accounting standards boards have issued rules specifying the permissible services
              independent auditors may provide to audit clients, as well as the pre-approval of fees. Accordingly, the Company&#8217;s Audit Committee has adopted the following Pre-Approval Policy and Procedure.</div>
            <div>&#160;</div>
            <div style="color: rgb(0, 0, 0); font-family: 'Times New Roman';">Under the Audit Committee's approach, an annual program of work will be approved each year for the following categories of services: Audit, Audit-Related, and Tax. Each
              engagement or category of service will be presented in appropriate detail by business function and geographic area to provide the Audit Committee sufficient understanding of the services provided. Additional engagements may be brought forward
              from time to time for pre-approval by the Audit Committee.</div>
            <div>&#160;</div>
            <div style="color: rgb(0, 0, 0); font-family: 'Times New Roman';">The Audit Committee will consider whether any service to be obtained from the independent auditors is consistent with applicable rules on auditor independence. Also, the Audit
              Committee will consider the level of Audit and Audit-Related fees in relation to all other fees paid to the independent auditors, and will review such level each year. In carrying out this responsibility, the Audit Committee may obtain input
              from Company management on the general level of fees, and the process for determining and reporting fees from the numerous locations where the Company operates and the independent auditors provide services.</div>
            <div>&#160;</div>
            <div style="color: rgb(0, 0, 0); font-family: 'Times New Roman';">The term of any pre-approval applies to the Company&#8217;s financial year. Thus, Audit fees for the financial year may include work performed after the close of the calendar year. The
              pre-approval for Audit-Related and Tax fees is on a calendar-year basis. Unused pre-approval amounts will not be carried forward to the next financial year. Pre-approvals will apply to engagements within a category of service, and cannot be
              transferred between categories. If fees might otherwise exceed pre-approved amounts for any category of permissible services, then time will be scheduled so that incremental amounts can be reviewed and pre-approved prior to commitment.</div>
            <div>&#160;</div>
            <div style="color: rgb(0, 0, 0); font-family: 'Times New Roman'; font-weight: bold;">Audit Services</div>
            <div>&#160;</div>
            <div style="color: rgb(0, 0, 0); font-family: 'Times New Roman';">Audit services include the annual financial statement audit engagement (including required quarterly reviews), affiliate and subsidiary statutory audits, and other procedures
              required to be performed by the independent auditors to render an opinion on the Company&#8217;s consolidated financial statements. Audit services also include information systems reviews, tests performed on the system of internal controls, and
              other procedures necessary to support the independent auditors' attestation of management's report on</div>
            <div>&#160;</div>
            <div id="DSPFPageBreakArea" style="clear: both; margin-top: 10pt; margin-bottom: 10pt;">
              <div style="text-align: center;" id="DSPFPageNumberArea"><font style="font-family: Arial,Helvetica,'sans-serif'; font-size: 9pt; font-weight: normal; font-style: normal;" id="DSPFPageNumber">56</font></div>
              <div id="DSPFPageBreak" style="page-break-after: always;">
                <hr style="margin: 4px 0px; width: 100%; border-width: 0px; height: 2px; color: rgb(0, 0, 0); background-color: rgb(0, 0, 0); clear: both;" noshade="noshade"></div>
            </div>
            <div>
              <div style="text-align: center; font-family: 'Times New Roman';">Appendix B to Annual Information Form</div>
              <div style="text-align: center; font-family: 'Times New Roman';"> <br>
              </div>
              <div style="text-align: center; font-family: 'Times New Roman';"> <br>
              </div>
            </div>
            <div style="color: rgb(0, 0, 0); font-family: 'Times New Roman';">internal controls for financial reporting consistent with applicable securities legislation, as applicable.</div>
            <div>&#160;</div>
            <div style="color: rgb(0, 0, 0); font-family: 'Times New Roman';">The independent auditors are responsible for cost-effectively providing audit services and confirming that audit services are not undertaken prior to review and pre-approval by
              the Audit Committee. The independent auditors and Company management will jointly manage a process for collecting and reporting Audit fees billed by the independent auditors to Company each year.</div>
            <div>&#160;</div>
            <div style="color: rgb(0, 0, 0); font-family: 'Times New Roman'; font-weight: bold;">Audit-Related Services</div>
            <div>&#160;</div>
            <div style="color: rgb(0, 0, 0); font-family: 'Times New Roman';">Audit-Related services include services that are reasonably related to the review of the Company&#8217;s financial statements. These services include benefit plan and joint venture
              audits, attestation procedures related to cost certifications and government compliance, consultations on accounting issues, and due diligence procedures. Each year the Audit Committee will review the proposed services to ensure the
              independence of the independent auditors is not impaired.</div>
            <div>&#160;</div>
            <div style="color: rgb(0, 0, 0); font-family: 'Times New Roman';">Pre-approval will occur each year coincident with pre-approval of Audit services. Company management will monitor the engagement of the independent auditors for Audit-Related
              services using designated process owners. This process will help provide assurance that the aggregate dollar amount of services obtained does not exceed pre-approval amounts at any time, and that new engagements not initially identified are
              pre-approved prior to commitment.</div>
            <div>&#160;</div>
            <div style="color: rgb(0, 0, 0); font-family: 'Times New Roman'; font-weight: bold;">Tax Services</div>
            <div>&#160;</div>
            <div style="color: rgb(0, 0, 0); font-family: 'Times New Roman';">The Audit Committee concurs that the independent auditors may provide certain Tax services without impairing independence. These services include preparing local tax filings and
              related tax services, tax planning, preparing individual employee expatriate tax returns, and other services permitted by applicable securities regulations. The Audit Committee will not permit engaging the independent auditors (1) in
              connection with a transaction, the sole purpose of which may be impermissible tax avoidance, or (2) for any tax services that may be prohibited by applicable securities rules now or in the future. Company management will monitor the
              engagement of the independent auditors or other firms for such Tax services to help provide assurance that aggregate dollar amounts of services obtained from the independent auditors do not exceed pre-approval amounts at any time.</div>
            <div>&#160;</div>
            <div style="color: rgb(0, 0, 0); font-family: 'Times New Roman'; font-weight: bold;">All Other Services</div>
            <div>&#160;</div>
            <div style="color: rgb(0, 0, 0); font-family: 'Times New Roman';">The Company does not envision obtaining other services from the independent auditors, except for the Audit, Audit-Related, and Tax services described previously. If permissible
              other services are requested by the Company, each engagement must be pre-approved by the Audit Committee. Such requests should be supported by endorsement of the Chief Financial Officer prior to review with the Audit Committee.</div>
            <div>&#160;</div>
            <div id="DSPFPageBreakArea" style="clear: both; margin-top: 10pt; margin-bottom: 10pt;">
              <div style="text-align: center;" id="DSPFPageNumberArea"><font style="font-family: Arial,Helvetica,'sans-serif'; font-size: 9pt; font-weight: normal; font-style: normal;" id="DSPFPageNumber">57</font></div>
              <div id="DSPFPageBreak" style="page-break-after: always;">
                <hr style="margin: 4px 0px; width: 100%; border-width: 0px; height: 2px; color: rgb(0, 0, 0); background-color: rgb(0, 0, 0); clear: both;" noshade="noshade"></div>
            </div>
            <div>
              <div style="text-align: center; font-family: 'Times New Roman';">Appendix B to Annual Information Form</div>
              <div style="text-align: center; font-family: 'Times New Roman';"> <br>
              </div>
              <div style="text-align: center; font-family: 'Times New Roman';"> <br>
              </div>
            </div>
            <div style="color: rgb(0, 0, 0); font-family: 'Times New Roman'; font-weight: bold;">Prohibited Services</div>
            <div>&#160;</div>
            <div style="color: rgb(0, 0, 0); font-family: 'Times New Roman';">Current securities regulations specify that independent auditors may not provide the following prohibited services: Bookkeeping, Financial Information Systems Design and
              Implementation, Appraisals or Valuation (other than Tax), Fairness Opinions, Actuarial Services, Internal Audit Outsourcing, Management Functions, Human Resources such as Executive Recruiting, Broker-Dealer Services, Legal Services, or Expert
              Services such as providing expert testimony or opinions where the purpose of the engagement is to advocate the client's position in an adversarial proceeding. Company personnel may not under any circumstances engage the independent auditors
              for prohibited services. Potential engagements not clearly permissible should be referred to the Chief Financial Officer.</div>
            <div>&#160;</div>
            <div style="color: rgb(0, 0, 0); font-family: 'Times New Roman'; font-weight: bold;">Delegation</div>
            <div>&#160;</div>
            <div style="color: rgb(0, 0, 0); font-family: 'Times New Roman';">The Audit Committee may delegate pre-approval authority to one or more of its members. The member or members to whom such authority is delegated shall report any pre-approval
              decisions to the Audit Committee at its next scheduled meeting. The Audit Committee may not delegate to management the Audit Committee&#8217;s responsibilities to pre-approve services performed by the independent auditor.</div>
            <div>&#160;</div>
          </div>
          <div><br>
          </div>
          <div><br>
          </div>
          <div><br>
          </div>
          <div><br>
          </div>
          <div><br>
          </div>
          <div><br>
          </div>
          <div><br>
          </div>
          <div><br>
          </div>
          <div><br>
          </div>
          <div><br>
          </div>
          <div style="text-align: center;"><font style="font-family: Arial; font-size: 9pt;">58</font><br>
          </div>
          <div><br>
            <br>
          </div>
          <br>
        </div>
      </div>
    </div>
  </div>
  <font style="font-family: Arial,Helvetica,'sans-serif'; font-size: 9pt; font-weight: normal; font-style: normal;" id="DSPFPageNumber"></font>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-99.3
<SEQUENCE>3
<FILENAME>exhibit99-3.htm
<DESCRIPTION>CONSENT OF KPMG LLP
<TEXT>
<html>
  <head>
    <title></title>
    <!-- Licensed to: morganlewis
         Document created using EDGARfilings PROfile 6.3.0.0
         Copyright 1995 - 2020 Broadridge -->
  </head>
<body style="font-family: 'Times New Roman', Times, serif; font-size: 10pt; text-align: left; color: #000000;" bgcolor="#ffffff">
  <div>
    <div style="text-align: right; color: #000000; font-family: 'Times New Roman'; font-weight: bold;">EXHIBIT 99.3</div>
    <div>&#160;</div>
    <div style="text-align: center; color: rgb(0, 0, 0); font-family: 'Times New Roman'; font-weight: bold;">Consent of Independent Registered Public Accounting Firm</div>
    <div><br>
    </div>
    <div style="color: #000000; font-family: 'Times New Roman';">
      <div>
        <div>The Board of Directors</div>
        <div>The Descartes Systems Group Inc.</div>
      </div>
      <div> <br>
      </div>
      <div>We consent to the incorporation by reference in the Registration Statement (No. 333-225174) on Form F-10/A of The Descartes Systems Group Inc. of our report dated March
        4, 2020 on the consolidated financial statements of The Descartes Systems Group Inc., which comprise the consolidated balance sheets as of January 31, 2020 and January 31, 2019, the related statements of operations, comprehensive income,
        shareholders&#8217; equity and cash flows for each of the years in the three-year period ended January 31, 2020, and the related notes and our report dated March 4, 2020 on the effectiveness of internal control over financial reporting as of January 31,
        2020, which reports appear in the 2020 Annual Report of The Descartes Systems Group Inc., incorporated by reference in this annual report on Form 40-F, for the fiscal year ended January 31, 2020, and further consent to the use of such reports in
        this annual report on Form 40-F.</div>
      <div><br>
      </div>
      <div>Our report dated March 4, 2020 on the consolidated financial statements referred to above contains an explanatory paragraph indicating the Company has changed its method
        of accounting for leases in 2020 due to the adoption of Accounting Standards Codification (ASC) Topic 842 and for revenue from contracts with customers and income taxes related to intra-entity transfers of assets other than inventory in 2019 due to
        the adoption of the new revenue standard (ASC Topic 606) and amendments to the income taxes standard (ASC Topic 740), respectively.</div>
    </div>
    <div><br>
    </div>
    <div><br>
    </div>
    <div style="color: #000000; font-family: 'Times New Roman';">/s/ KPMG LLP</div>
    <div><br>
    </div>
    <div><br>
    </div>
    <div style="color: #000000; font-family: 'Times New Roman';">Chartered Professional Accountants, Licensed Public Accountants</div>
    <div style="color: #000000; font-family: 'Times New Roman';">
      <div style="color: #000000;">April 14,&#160;2020</div>
      Toronto, Canada</div>
    <div style="color: #000000; font-family: 'Times New Roman';"><br>
    </div>
    <div>&#160;</div>
    <div><br>
    </div>
    <div>&#160;</div>
  </div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-99.4
<SEQUENCE>4
<FILENAME>exhibit99-4.htm
<DESCRIPTION>CERTIFICATION OF THE CHIEF EXECUTIVE OFFICER PURSUANT TO RULE 13A-14 OR 15D-14 OF THE SECURITIES EXCHANGE ACT OF 1934
<TEXT>
<html>
  <head>
    <title></title>
    <!-- Licensed to: morganlewis
         Document created using EDGARfilings PROfile 6.3.0.0
         Copyright 1995 - 2020 Broadridge -->
  </head>
<body bgcolor="#ffffff" style="font-family: 'Times New Roman', Times, serif; font-size: 10pt; text-align: left; color: #000000;">
  <div>
    <div style="background-color: #FFFFFF;">
      <div style="text-align: right; color: #000000; font-family: 'Times New Roman'; font-size: 10pt; font-weight: bold;">EXHIBIT 99.4</div>
      <div>&#160;</div>
      <div><br>
      </div>
    </div>
    <div style="background-color: #FFFFFF;">
      <div style="text-align: center; color: #000000; font-family: 'Times New Roman'; font-size: 10pt; font-weight: bold;">CERTIFICATION PURSUANT TO RULE 13a-14 or 15d-14 OF THE</div>
      <div style="text-align: center; color: #000000; font-family: 'Times New Roman'; font-size: 10pt; font-weight: bold;">SECURITIES EXCHANGE ACT OF 1934, AS ADOPTED PURSUANT TO</div>
      <div style="text-align: center; color: #000000; font-family: 'Times New Roman'; font-size: 10pt; font-weight: bold;">SECTION&#160;302 OF THE SARBANES-OXLEY ACT OF 2002</div>
    </div>
    <div style="background-color: #FFFFFF;">
      <div><br>
      </div>
      <div style="text-align: left; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">I, Edward J. Ryan, certify that:</div>
      <div><br>
      </div>
    </div>
    <table cellspacing="0" cellpadding="0" border="0" id="za975f7e2eb0b48eaa52bd069dda213ad" style="font-family: 'Times New Roman', Times, serif; font-size: 10pt; width: 100%; border-collapse: collapse; text-align: left; color: #000000;">

        <tr>
          <td style="width: 5%; vertical-align: top; background-color: rgb(255, 255, 255);">
            <div style="text-align: left; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">1.</div>
          </td>
          <td style="width: 95%; vertical-align: top; background-color: rgb(255, 255, 255);">
            <div style="text-align: left; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">I have reviewed this annual report on Form&#160;40-F of The Descartes Systems Group Inc.;</div>
          </td>
        </tr>

    </table>
    <div style="background-color: #FFFFFF;">
      <div><br>
      </div>
    </div>
    <table cellspacing="0" cellpadding="0" border="0" id="zec301aa4c2f94eca83565d5dc215f280" style="font-family: 'Times New Roman', Times, serif; font-size: 10pt; width: 100%; border-collapse: collapse; text-align: left; color: #000000;">

        <tr>
          <td style="width: 5%; vertical-align: top; background-color: rgb(255, 255, 255);">
            <div style="text-align: left; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">2.</div>
          </td>
          <td style="width: 95%; vertical-align: top; background-color: rgb(255, 255, 255);">
            <div style="text-align: left; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">Based on my knowledge, this report does not contain any untrue statement of a material fact or omit to state a material fact necessary to make the
              statements made, in light of the circumstances under which such statements were made, not misleading with respect to the period covered by this report;</div>
          </td>
        </tr>

    </table>
    <div style="background-color: #FFFFFF;">
      <div><br>
      </div>
    </div>
    <table cellspacing="0" cellpadding="0" border="0" id="z4c786f6d586d46e98388db344feaa788" style="font-family: 'Times New Roman', Times, serif; font-size: 10pt; width: 100%; border-collapse: collapse; text-align: left; color: #000000;">

        <tr>
          <td style="width: 5%; vertical-align: top; background-color: rgb(255, 255, 255);">
            <div style="text-align: left; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">3.</div>
          </td>
          <td style="width: 95%; vertical-align: top; background-color: rgb(255, 255, 255);">
            <div style="text-align: left; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">Based on my knowledge, the financial statements and other financial information included in this report, fairly present in all material respects the
              financial condition, results of operations and cash flows of the&#160;issuer&#160;as of, and for, the periods presented in this report;</div>
          </td>
        </tr>

    </table>
    <div style="background-color: #FFFFFF;">
      <div><br>
      </div>
    </div>
    <table cellspacing="0" cellpadding="0" border="0" id="z2c338f9465af4b268a48d21d902732dd" style="font-family: 'Times New Roman', Times, serif; font-size: 10pt; width: 100%; border-collapse: collapse; text-align: left; color: #000000;">

        <tr>
          <td style="width: 5%; vertical-align: top; background-color: rgb(255, 255, 255);">
            <div style="text-align: left; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">4.</div>
          </td>
          <td style="width: 95%; vertical-align: top; background-color: rgb(255, 255, 255);">
            <div style="text-align: left; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">The&#160;issuer&#8217;s other certifying officer(s)&#160;and I are responsible for establishing and maintaining disclosure controls and procedures (as defined in
              Exchange Act Rules&#160;13a-15(e)&#160;and 15d-15(e)) and internal control over financial reporting (as defined in Exchange Act Rules&#160;13a-15(f)&#160;and 15d-15(f)) for the&#160;issuer&#160;and have:</div>
          </td>
        </tr>

    </table>
    <div style="background-color: #FFFFFF;">
      <div><br>
      </div>
    </div>
    <table cellspacing="0" cellpadding="0" border="0" id="zea73f22c79e8463a858254dc64d14ffe" style="font-family: 'Times New Roman', Times, serif; font-size: 10pt; width: 100%; border-collapse: collapse; text-align: left; color: #000000;">

        <tr>
          <td style="width: 5%; vertical-align: middle; background-color: rgb(255, 255, 255);">&#160;</td>
          <td style="width: 5%; vertical-align: top; background-color: rgb(255, 255, 255);">
            <div style="text-align: left; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">(a)</div>
          </td>
          <td style="width: 90%; vertical-align: top; background-color: rgb(255, 255, 255);">
            <div style="text-align: left; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">Designed such disclosure controls and procedures, or caused such disclosure controls and procedures to be designed under our supervision, to ensure
              that material information relating to the&#160;issuer, including its consolidated subsidiaries, is made known to us by others within those entities, particularly during the period in which this report is being prepared;</div>
          </td>
        </tr>

    </table>
    <div style="background-color: #FFFFFF;">
      <div><br>
      </div>
    </div>
    <table cellspacing="0" cellpadding="0" border="0" id="zccd204f24ddc4c3ab444abad2f1c620f" style="font-family: 'Times New Roman', Times, serif; font-size: 10pt; width: 100%; border-collapse: collapse; text-align: left; color: #000000;">

        <tr>
          <td style="width: 5%; vertical-align: middle; background-color: rgb(255, 255, 255);">&#160;</td>
          <td style="width: 5%; vertical-align: top; background-color: rgb(255, 255, 255);">
            <div style="text-align: left; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">(b)</div>
          </td>
          <td style="width: 90%; vertical-align: top; background-color: rgb(255, 255, 255);">
            <div style="text-align: left; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">Designed such internal control over financial reporting, or caused such internal control over financial reporting to be designed under our
              supervision, to provide reasonable assurance regarding the reliability of financial reporting and the preparation of financial statements for external purposes in accordance with generally accepted accounting principles;</div>
          </td>
        </tr>

    </table>
    <div style="background-color: #FFFFFF;">
      <div><br>
      </div>
    </div>
    <table cellspacing="0" cellpadding="0" border="0" id="z5b4aa4e57c5c45c9ac84fd3c2e794203" style="font-family: 'Times New Roman', Times, serif; font-size: 10pt; width: 100%; border-collapse: collapse; text-align: left; color: #000000;">

        <tr>
          <td style="width: 5%; vertical-align: middle; background-color: rgb(255, 255, 255);">&#160;</td>
          <td style="width: 5%; vertical-align: top; background-color: rgb(255, 255, 255);">
            <div style="text-align: left; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">(c)</div>
          </td>
          <td style="width: 90%; vertical-align: top; background-color: rgb(255, 255, 255);">
            <div style="text-align: left; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">Evaluated the effectiveness of the&#160;issuer&#8217;s&#160;disclosure controls and procedures and presented in this report our conclusions about the effectiveness
              of the disclosure controls and procedures, as of the end of the period covered by this report based on such evaluation; and</div>
          </td>
        </tr>

    </table>
    <div style="background-color: #FFFFFF;">
      <div><br>
      </div>
    </div>
    <table cellspacing="0" cellpadding="0" border="0" id="z7bdbde73d53144669bfc9a9401cdb486" style="font-family: 'Times New Roman', Times, serif; font-size: 10pt; width: 100%; border-collapse: collapse; text-align: left; color: #000000;">

        <tr>
          <td style="width: 5%; vertical-align: middle; background-color: rgb(255, 255, 255);">&#160;</td>
          <td style="width: 5%; vertical-align: top; background-color: rgb(255, 255, 255);">
            <div style="text-align: left; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">(d)</div>
          </td>
          <td style="width: 90%; vertical-align: top; background-color: rgb(255, 255, 255);">
            <div style="text-align: left; font-family: 'Times New Roman'; font-size: 10pt;"><font style="font-size: 10pt; font-family: 'Times New Roman'; color: #000000;">Disclosed in this report any change in the&#160;issuer&#8217;s&#160;internal control over financial
                reporting that occurred during the period covered by this report that has materially affected, or is reasonably likely to materially affect, the&#160;issuer&#8217;s</font>&#160;internal control over financial reporting; and</div>
          </td>
        </tr>

    </table>
    <div style="background-color: #FFFFFF;">
      <div><br>
      </div>
    </div>
    <table cellspacing="0" cellpadding="0" border="0" id="z1c8135317b7f42cb8a8d464f88df7675" style="font-family: 'Times New Roman', Times, serif; font-size: 10pt; width: 100%; border-collapse: collapse; text-align: left; color: #000000;">

        <tr>
          <td style="width: 5%; vertical-align: top; background-color: rgb(255, 255, 255);">
            <div style="text-align: left; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">5.</div>
          </td>
          <td style="width: 95%; vertical-align: top; background-color: rgb(255, 255, 255);">
            <div style="text-align: left; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">The&#160;issuer&#8217;s&#160;other certifying officer(s)&#160;and I have disclosed, based on our most recent evaluation of internal control over financial reporting, to
              the&#160;issuer&#8217;s&#160;auditors and the audit committee of the&#160;issuer&#8217;s&#160;board of directors (or persons performing the equivalent functions):</div>
          </td>
        </tr>

    </table>
    <div style="background-color: #FFFFFF;">
      <div><br>
      </div>
    </div>
    <table cellspacing="0" cellpadding="0" border="0" id="z81e0fc09daf84aef988c7103075e0f8e" style="font-family: 'Times New Roman', Times, serif; font-size: 10pt; width: 100%; border-collapse: collapse; text-align: left; color: #000000;">

        <tr>
          <td style="width: 5%; vertical-align: middle; background-color: rgb(255, 255, 255);">&#160;</td>
          <td style="width: 5%; vertical-align: top; background-color: rgb(255, 255, 255);">
            <div style="text-align: left; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">(a)</div>
          </td>
          <td style="width: 90%; vertical-align: top; background-color: rgb(255, 255, 255);">
            <div style="text-align: left; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">All significant deficiencies and material weaknesses in the design or operation of internal control over financial reporting which are reasonably
              likely to adversely affect the&#160;issuer&#8217;s&#160;ability to record, process, summarize and report financial information; and</div>
          </td>
        </tr>

    </table>
    <div style="background-color: #FFFFFF;">
      <div><br>
      </div>
    </div>
    <table cellspacing="0" cellpadding="0" border="0" id="z7018a9cf2aea45b8a6ff0de734f7895d" style="font-family: 'Times New Roman', Times, serif; font-size: 10pt; width: 100%; border-collapse: collapse; text-align: left; color: #000000;">

        <tr>
          <td style="width: 5%; vertical-align: middle; background-color: rgb(255, 255, 255);">&#160;</td>
          <td style="width: 5%; vertical-align: top; background-color: rgb(255, 255, 255);">
            <div style="text-align: left; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">(b)</div>
          </td>
          <td style="width: 90%; vertical-align: top; background-color: rgb(255, 255, 255);">
            <div style="text-align: left; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">Any fraud, whether or not material, that involves management or other employees who have a significant role in the&#160;issuer&#8217;s&#160;internal control over
              financial reporting.</div>
          </td>
        </tr>

    </table>
    <div><br>
    </div>
    <table cellspacing="0" cellpadding="0" border="0" style="font-family: 'Times New Roman', Times, serif; font-size: 10pt; width: 100%; border-collapse: collapse; text-align: left; color: #000000;">

        <tr>
          <td style="width: 50%; vertical-align: top; background-color: rgb(255, 255, 255);">
            <div style="text-align: left; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">Dated: April 14, 2020</div>
          </td>
          <td style="width: 7%; vertical-align: top; background-color: rgb(255, 255, 255);">&#160;</td>
          <td style="width: 43%; vertical-align: top; background-color: rgb(255, 255, 255);">&#160;</td>
        </tr>
        <tr>
          <td style="width: 50%; vertical-align: top; background-color: rgb(255, 255, 255);">&#160;</td>
          <td style="width: 7%; vertical-align: top; background-color: rgb(255, 255, 255);">
            <div style="text-align: right; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">By:&#160; <br>
            </div>
          </td>
          <td style="width: 43%; vertical-align: top; background-color: rgb(255, 255, 255); border-bottom: 1px solid rgb(0, 0, 0);">
            <div style="text-align: justify; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">&#160;/s/ Edward J. Ryan</div>
          </td>
        </tr>
        <tr>
          <td style="width: 50%; vertical-align: top; background-color: rgb(255, 255, 255);">&#160;</td>
          <td style="width: 7%; vertical-align: top; background-color: rgb(255, 255, 255);">
            <div style="text-align: right; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">Name:&#160; <br>
            </div>
          </td>
          <td style="width: 43%; vertical-align: top; background-color: rgb(255, 255, 255);">
            <div style="text-align: justify; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">Edward J. Ryan</div>
          </td>
        </tr>
        <tr>
          <td style="width: 50%; vertical-align: top; background-color: rgb(255, 255, 255);">&#160;</td>
          <td style="width: 7%; vertical-align: top; background-color: rgb(255, 255, 255);">
            <div style="text-align: right; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">Title:&#160; <br>
            </div>
          </td>
          <td style="width: 43%; vertical-align: top; background-color: rgb(255, 255, 255);">
            <div style="text-align: justify; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">Chief Executive Officer</div>
          </td>
        </tr>

    </table>
  </div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-99.5
<SEQUENCE>5
<FILENAME>exhibit99-5.htm
<DESCRIPTION>CERTIFICATION OF THE CHIEF FINANCIAL OFFICER PURSUANT TO RULE 13A-14 OR 15D-14 OF THE SECURITIES EXCHANGE ACT OF 1934
<TEXT>
<html>
  <head>
    <title></title>
    <!-- Licensed to: morganlewis
         Document created using EDGARfilings PROfile 6.3.0.0
         Copyright 1995 - 2020 Broadridge -->
  </head>
<body bgcolor="#ffffff" style="font-family: 'Times New Roman', Times, serif; font-size: 10pt; text-align: left; color: #000000;">
  <div>
    <div style="background-color: #FFFFFF;">
      <div style="text-align: right; color: #000000; font-family: 'Times New Roman'; font-size: 10pt; font-weight: bold;">EXHIBIT 99.5</div>
      <div>&#160;</div>
      <div><br>
      </div>
    </div>
    <div style="background-color: #FFFFFF;">
      <div style="text-align: center; color: #000000; font-family: 'Times New Roman'; font-size: 10pt; font-weight: bold;">CERTIFICATION PURSUANT TO RULE 13a-14 or 15d-14 OF THE</div>
      <div style="text-align: center; color: #000000; font-family: 'Times New Roman'; font-size: 10pt; font-weight: bold;">SECURITIES EXCHANGE ACT OF 1934, AS ADOPTED PURSUANT TO</div>
      <div style="text-align: center; color: #000000; font-family: 'Times New Roman'; font-size: 10pt; font-weight: bold;">SECTION&#160;302 OF THE SARBANES-OXLEY ACT OF 2002</div>
    </div>
    <div style="background-color: #FFFFFF;">
      <div><br>
      </div>
      <div style="text-align: left; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">I, Allan Brett, certify that:</div>
      <div><br>
      </div>
    </div>
    <table cellspacing="0" cellpadding="0" border="0" style="font-family: 'Times New Roman', Times, serif; font-size: 10pt; width: 100%; border-collapse: collapse; text-align: left; color: #000000;" id="z770eceba4c6e48dbb65083e76f718a5d">

        <tr>
          <td style="width: 5%; vertical-align: top; background-color: rgb(255, 255, 255);">
            <div style="text-align: left; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">1</div>
          </td>
          <td style="width: 95%; vertical-align: top; background-color: rgb(255, 255, 255);">
            <div style="text-align: left; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">. I have reviewed this annual report on Form&#160;40-F of The Descartes Systems Group Inc.;</div>
          </td>
        </tr>

    </table>
    <div style="background-color: #FFFFFF;">
      <div><br>
      </div>
    </div>
    <table cellspacing="0" cellpadding="0" border="0" style="font-family: 'Times New Roman', Times, serif; font-size: 10pt; width: 100%; border-collapse: collapse; text-align: left; color: #000000;" id="zffae8b668dad4349819383fe7eeb9195">

        <tr>
          <td style="width: 5%; vertical-align: top; background-color: rgb(255, 255, 255);">
            <div style="text-align: left; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">2.</div>
          </td>
          <td style="width: 95%; vertical-align: top; background-color: rgb(255, 255, 255);">
            <div style="text-align: left; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">Based on my knowledge, this report does not contain any untrue statement of a material fact or omit to state a material fact necessary to make the
              statements made, in light of the circumstances under which such statements were made, not misleading with respect to the period covered by this report;</div>
          </td>
        </tr>

    </table>
    <div style="background-color: #FFFFFF;">
      <div><br>
      </div>
    </div>
    <table cellspacing="0" cellpadding="0" border="0" style="font-family: 'Times New Roman', Times, serif; font-size: 10pt; width: 100%; border-collapse: collapse; text-align: left; color: #000000;" id="z53fde546f38847e5bb88784eb400e9a8">

        <tr>
          <td style="width: 5%; vertical-align: top; background-color: rgb(255, 255, 255);">
            <div style="text-align: left; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">3.</div>
          </td>
          <td style="width: 95%; vertical-align: top; background-color: rgb(255, 255, 255);">
            <div style="text-align: left; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">Based on my knowledge, the financial statements and other financial information included in this report, fairly present in all material respects the
              financial condition, results of operations and cash flows of the&#160;issuer&#160;as of, and for, the periods presented in this report;</div>
          </td>
        </tr>

    </table>
    <div style="background-color: #FFFFFF;">
      <div><br>
      </div>
    </div>
    <table cellspacing="0" cellpadding="0" border="0" style="font-family: 'Times New Roman', Times, serif; font-size: 10pt; width: 100%; border-collapse: collapse; text-align: left; color: #000000;" id="zd555c40c9df148c48a56663943ae2d4f">

        <tr>
          <td style="width: 5%; vertical-align: top; background-color: rgb(255, 255, 255);">
            <div style="text-align: left; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">4.</div>
          </td>
          <td style="width: 95%; vertical-align: top; background-color: rgb(255, 255, 255);">
            <div style="text-align: left; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">The&#160;issuer&#8217;s&#160;other certifying officer(s)&#160;and I are responsible for establishing and maintaining disclosure controls and procedures (as defined in
              Exchange Act Rules&#160;13a-15(e)&#160;and 15d-15(e)) and internal control over financial reporting (as defined in Exchange Act Rules&#160;13a-15(f)&#160;and 15d-15(f)) for the&#160;issuer&#160;and have:</div>
          </td>
        </tr>

    </table>
    <div style="background-color: #FFFFFF;">
      <div><br>
      </div>
    </div>
    <table cellspacing="0" cellpadding="0" border="0" style="font-family: 'Times New Roman', Times, serif; font-size: 10pt; width: 100%; border-collapse: collapse; text-align: left; color: #000000;" id="zcf3a3ec8029f4e6ea6219879df3d935d">

        <tr>
          <td style="width: 5%; vertical-align: middle; background-color: rgb(255, 255, 255);">&#160;</td>
          <td style="width: 5%; vertical-align: top; background-color: rgb(255, 255, 255);">
            <div style="text-align: left; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">(a)</div>
          </td>
          <td style="width: 90%; vertical-align: top; background-color: rgb(255, 255, 255);">
            <div style="text-align: left; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">Designed such disclosure controls and procedures, or caused such disclosure controls and procedures to be designed under our supervision, to ensure
              that material information relating to the&#160;issuer, including its consolidated subsidiaries, is made known to us by others within those entities, particularly during the period in which this report is being prepared;</div>
          </td>
        </tr>

    </table>
    <div style="background-color: #FFFFFF;">
      <div><br>
      </div>
    </div>
    <table cellspacing="0" cellpadding="0" border="0" style="font-family: 'Times New Roman', Times, serif; font-size: 10pt; width: 100%; border-collapse: collapse; text-align: left; color: #000000;" id="z39d72335bb5b44beb09ce5ba79d4e911">

        <tr>
          <td style="width: 5%; vertical-align: middle; background-color: rgb(255, 255, 255);">&#160;</td>
          <td style="width: 5%; vertical-align: top; background-color: rgb(255, 255, 255);">
            <div style="text-align: left; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">(b)</div>
          </td>
          <td style="width: 90%; vertical-align: top; background-color: rgb(255, 255, 255);">
            <div style="text-align: left; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">Designed such internal control over financial reporting, or caused such internal control over financial reporting to be designed under our
              supervision, to provide reasonable assurance regarding the reliability of financial reporting and the preparation of financial statements for external purposes in accordance with generally accepted accounting principles;</div>
          </td>
        </tr>

    </table>
    <div style="background-color: #FFFFFF;">
      <div><br>
      </div>
    </div>
    <table cellspacing="0" cellpadding="0" border="0" style="font-family: 'Times New Roman', Times, serif; font-size: 10pt; width: 100%; border-collapse: collapse; text-align: left; color: #000000;" id="zfafa3ab958334756befa53cb52099f03">

        <tr>
          <td style="width: 5%; vertical-align: middle; background-color: rgb(255, 255, 255);">&#160;</td>
          <td style="width: 5%; vertical-align: top; background-color: rgb(255, 255, 255);">
            <div style="text-align: left; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">(c)</div>
          </td>
          <td style="width: 90%; vertical-align: top; background-color: rgb(255, 255, 255);">
            <div style="text-align: left; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">Evaluated the effectiveness of the&#160;issuer&#8217;s&#160;disclosure controls and procedures and presented in this report our conclusions about the effectiveness
              of the disclosure controls and procedures, as of the end of the period covered by this report based on such evaluation; and</div>
          </td>
        </tr>

    </table>
    <div style="background-color: #FFFFFF;">
      <div><br>
      </div>
    </div>
    <table cellspacing="0" cellpadding="0" border="0" style="font-family: 'Times New Roman', Times, serif; font-size: 10pt; width: 100%; border-collapse: collapse; text-align: left; color: #000000;" id="zd99e331244dc4dc994ed8e7686ed94af">

        <tr>
          <td style="width: 5%; vertical-align: middle; background-color: rgb(255, 255, 255);">&#160;</td>
          <td style="width: 5%; vertical-align: top; background-color: rgb(255, 255, 255);">
            <div style="text-align: left; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">(d)</div>
          </td>
          <td style="width: 90%; vertical-align: top; background-color: rgb(255, 255, 255);">
            <div style="text-align: left; font-family: 'Times New Roman'; font-size: 10pt;"><font style="font-size: 10pt; font-family: 'Times New Roman'; color: #000000;">Disclosed in this report any change in the&#160;issuer&#8217;s&#160;internal control over financial
                reporting that occurred during the period covered by this report that has materially affected, or is reasonably likely to materially affect, the&#160;issuer&#8217;s&#160;</font>internal control over financial reporting; and</div>
          </td>
        </tr>

    </table>
    <div style="background-color: #FFFFFF;">
      <div><br>
      </div>
    </div>
    <table cellspacing="0" cellpadding="0" border="0" style="font-family: 'Times New Roman', Times, serif; font-size: 10pt; width: 100%; border-collapse: collapse; text-align: left; color: #000000;" id="za22210afe53946d28be1141d56e5a67d">

        <tr>
          <td style="width: 5%; vertical-align: top; background-color: rgb(255, 255, 255);">
            <div style="text-align: left; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">5.</div>
          </td>
          <td style="width: 95%; vertical-align: top; background-color: rgb(255, 255, 255);">
            <div style="text-align: left; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">The&#160;issuer&#8217;s&#160;other certifying officer(s)&#160;and I have disclosed, based on our most recent evaluation of internal control over financial reporting, to
              the&#160;issuer&#8217;s&#160;auditors and the audit committee of the&#160;issuer&#8217;s&#160;board of directors (or persons performing the equivalent functions):</div>
          </td>
        </tr>

    </table>
    <div style="background-color: #FFFFFF;">
      <div><br>
      </div>
    </div>
    <table cellspacing="0" cellpadding="0" border="0" style="font-family: 'Times New Roman', Times, serif; font-size: 10pt; width: 100%; border-collapse: collapse; text-align: left; color: #000000;" id="z65f8ecebbaea49a7a17d24c26740cacb">

        <tr>
          <td style="width: 5%; vertical-align: middle; background-color: rgb(255, 255, 255);">&#160;</td>
          <td style="width: 5%; vertical-align: top; background-color: rgb(255, 255, 255);">
            <div style="text-align: left; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">(a)</div>
          </td>
          <td style="width: 90%; vertical-align: top; background-color: rgb(255, 255, 255);">
            <div style="text-align: left; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">All significant deficiencies and material weaknesses in the design or operation of internal control over financial reporting which are reasonably
              likely to adversely affect the&#160;issuer&#8217;s&#160;ability to record, process, summarize and report financial information; and</div>
          </td>
        </tr>

    </table>
    <div style="background-color: #FFFFFF;">
      <div><br>
      </div>
    </div>
    <table cellspacing="0" cellpadding="0" border="0" style="font-family: 'Times New Roman', Times, serif; font-size: 10pt; width: 100%; border-collapse: collapse; text-align: left; color: #000000;" id="z792fe16788174cb2b780f32123ce11cd">

        <tr>
          <td style="width: 5%; vertical-align: middle; background-color: rgb(255, 255, 255);">&#160;</td>
          <td style="width: 5%; vertical-align: top; background-color: rgb(255, 255, 255);">
            <div style="text-align: left; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">(b)</div>
          </td>
          <td style="width: 90%; vertical-align: top; background-color: rgb(255, 255, 255);">
            <div style="text-align: left; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">Any fraud, whether or not material, that involves management or other employees who have a significant role in the&#160;issuer&#8217;s&#160;internal control over
              financial reporting.</div>
          </td>
        </tr>

    </table>
    <div style="background-color: #FFFFFF;">
      <div><br>
      </div>
    </div>
    <table cellspacing="0" cellpadding="0" style="font-family: 'Times New Roman', Times, serif; font-size: 10pt; width: 100%; border-collapse: collapse; text-align: left; color: #000000;" id="ze232dbad306541aab2caf468448d02d6">

        <tr>
          <td style="width: 49.52%; vertical-align: top; background-color: #FFFFFF;">
            <div style="text-align: left; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">Dated: April 14, 2020</div>
          </td>
          <td style="width: 7.44%; vertical-align: top; background-color: #FFFFFF;">&#160;</td>
          <td style="width: 43.04%; vertical-align: top; background-color: #FFFFFF;">&#160;</td>
        </tr>
        <tr>
          <td style="width: 49.52%; vertical-align: top; background-color: #FFFFFF;">&#160;</td>
          <td style="width: 7.44%; vertical-align: top; background-color: #FFFFFF;">
            <div style="text-align: right; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">By:&#160; <br>
            </div>
          </td>
          <td style="width: 43.04%; vertical-align: top; background-color: #FFFFFF; border-bottom: #000000 1px solid;">
            <div style="text-align: left; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">&#160;/s/ Allan Brett</div>
          </td>
        </tr>
        <tr>
          <td style="width: 49.52%; vertical-align: top; background-color: #FFFFFF;">&#160;</td>
          <td style="width: 7.44%; vertical-align: top; background-color: #FFFFFF;">
            <div style="text-align: right; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">Name:&#160; <br>
            </div>
          </td>
          <td style="width: 43.04%; vertical-align: top; background-color: #FFFFFF;">
            <div style="text-align: left; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">Allan Brett</div>
          </td>
        </tr>
        <tr>
          <td style="width: 49.52%; vertical-align: top; background-color: #FFFFFF;">&#160;</td>
          <td style="width: 7.44%; vertical-align: top; background-color: #FFFFFF;">
            <div style="text-align: right; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">Title:&#160; <br>
            </div>
          </td>
          <td style="width: 43.04%; vertical-align: top; background-color: #FFFFFF;">
            <div style="text-align: left; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">Chief Financial Officer</div>
          </td>
        </tr>

    </table>
  </div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-99.6
<SEQUENCE>6
<FILENAME>exhibit99-6.htm
<DESCRIPTION>CERTIFICATIONS OF THE CHIEF EXECUTIVE OFFICER AND CHIEF FINANCIAL OFFICER PURSUANT TO 18 U.S.C. SECTION 1350
<TEXT>
<html>
  <head>
    <title></title>
    <!-- Licensed to: morganlewis
         Document created using EDGARfilings PROfile 6.3.0.0
         Copyright 1995 - 2020 Broadridge -->
  </head>
<body bgcolor="#ffffff" style="font-family: 'Times New Roman', Times, serif; font-size: 10pt; text-align: left; color: #000000;">
  <div>
    <div style="background-color: #FFFFFF;">
      <div style="text-align: right; color: #000000; font-family: 'Times New Roman'; font-size: 10pt; font-weight: bold;">EXHIBIT 99.6</div>
      <div>&#160;</div>
      <div><br>
      </div>
    </div>
    <div style="background-color: #FFFFFF;">
      <div style="text-align: center; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">CERTIFICATION PURSUANT TO</div>
      <div style="text-align: center; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">18 U.S.C. SECTION&#160;1350,</div>
      <div style="text-align: center; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">AS ADOPTED PURSUANT TO</div>
      <div style="text-align: center; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">SECTION&#160;906 OF THE SARBANES-OXLEY ACT OF 2002</div>
    </div>
    <div style="background-color: #FFFFFF;">
      <div><br>
      </div>
    </div>
    <div style="background-color: #FFFFFF;">
      <div style="text-align: left; text-indent: 36pt; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">In connection with the annual report of The Descartes Systems Group Inc., a Canadian company and foreign private issuer (the &#8220;<font style="font-size: 10pt; font-family: 'Times New Roman';"><u>Company</u></font>&#8221;), on Form&#160;40-F for the fiscal year ended January&#160;31, 2020, as filed with the Securities and Exchange Commission on the date hereof (the &#8220;<font style="font-size: 10pt; font-family: 'Times New Roman';"><u>Report</u></font>&#8221;), we, Edward J. Ryan and Allan Brett, do hereby certify, pursuant to 18 U.S.C. Section&#160;1350, as adopted pursuant to Section&#160;906 of the Sarbanes-Oxley Act of 2002, to our knowledge, that:</div>
    </div>
    <div style="background-color: #FFFFFF;">
      <div><br>
      </div>
    </div>
    <table cellspacing="0" cellpadding="0" id="zba46e81f4a034c868084d7bd40f86473" style="font-family: 'Times New Roman', Times, serif; font-size: 10pt; width: 100%; border-collapse: collapse; text-align: left; color: #000000;">

        <tr>
          <td style="width: 5%; vertical-align: top; background-color: #FFFFFF;">
            <div style="text-align: left; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">1.</div>
          </td>
          <td style="width: 95%; vertical-align: top; background-color: #FFFFFF;">
            <div style="text-align: left; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">This Report fully complies with the requirements of Section&#160;13(a)&#160;or 15(d)&#160;of the Securities Exchange Act of 1934; and</div>
          </td>
        </tr>

    </table>
    <div style="background-color: #FFFFFF;">
      <div><br>
      </div>
    </div>
    <table cellspacing="0" cellpadding="0" id="z5955066472544b47885b127b228ba9bc" style="font-family: 'Times New Roman', Times, serif; font-size: 10pt; width: 100%; border-collapse: collapse; text-align: left; color: #000000;">

        <tr>
          <td style="width: 5%; vertical-align: top; background-color: #FFFFFF;">
            <div style="text-align: left; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">2.</div>
          </td>
          <td style="width: 95%; vertical-align: top; background-color: #FFFFFF;">
            <div style="text-align: left; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">The information contained in this Report fairly presents, in all material respects, the financial condition and results of operations of the
              Company.</div>
          </td>
        </tr>

    </table>
    <div style="background-color: #FFFFFF;">
      <div><br>
      </div>
    </div>
    <table cellspacing="0" cellpadding="0" id="zb5ca6422fc1241c787985b02152f5266" style="font-family: 'Times New Roman', Times, serif; font-size: 10pt; width: 100%; border-collapse: collapse; text-align: left; color: #000000;">

        <tr>
          <td style="width: 50.38%; vertical-align: top; background-color: #FFFFFF; border-bottom: #000000 1px solid;">
            <div style="text-align: left; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">/s/ Edward J. Ryan</div>
          </td>
          <td style="width: 49.62%; vertical-align: top; background-color: #FFFFFF;">&#160;</td>
        </tr>
        <tr>
          <td style="width: 50.38%; vertical-align: top; background-color: #FFFFFF;">
            <div style="text-align: left; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">Edward J. Ryan</div>
          </td>
          <td style="width: 49.62%; vertical-align: top; background-color: #FFFFFF;">&#160;</td>
        </tr>
        <tr>
          <td style="width: 50.38%; vertical-align: top; background-color: #FFFFFF;">
            <div style="text-align: left; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">Chief Executive Officer</div>
          </td>
          <td style="width: 49.62%; vertical-align: top; background-color: #FFFFFF;">&#160;</td>
        </tr>
        <tr>
          <td style="width: 50.38%; vertical-align: top; background-color: #FFFFFF;">&#160;</td>
          <td style="width: 49.62%; vertical-align: top; background-color: #FFFFFF;">&#160;</td>
        </tr>
        <tr>
          <td style="width: 50.38%; vertical-align: top; background-color: #FFFFFF;">&#160;</td>
          <td style="width: 49.62%; vertical-align: top; background-color: #FFFFFF;">&#160;</td>
        </tr>
        <tr>
          <td style="width: 50.38%; vertical-align: top; background-color: #FFFFFF; border-bottom: #000000 1px solid;">
            <div style="text-align: left; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">/s/ Allan Brett</div>
          </td>
          <td style="width: 49.62%; vertical-align: top; background-color: #FFFFFF;">&#160;</td>
        </tr>
        <tr>
          <td style="width: 50.38%; vertical-align: top; background-color: #FFFFFF;">
            <div style="text-align: left; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">Allan Brett</div>
          </td>
          <td style="width: 49.62%; vertical-align: top; background-color: #FFFFFF;">&#160;</td>
        </tr>
        <tr>
          <td style="width: 50.38%; vertical-align: top; background-color: #FFFFFF;">
            <div style="text-align: left; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">Chief Financial Officer</div>
          </td>
          <td style="width: 49.62%; vertical-align: top; background-color: #FFFFFF;">&#160;</td>
        </tr>

    </table>
    <div style="background-color: #FFFFFF;">
      <div><br>
      </div>
      <div style="text-align: left; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">April 14, 2020</div>
      <div><br>
      </div>
      <div style="text-align: left; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">This certification is being submitted solely for the purpose of complying with Section&#160;1350 of Chapter 63 of Title 18 of the United States Code. This
        certification is not to be deemed &#8220;filed&#8221; for purposes of Section&#160;18 of the Securities Exchange Act of 1934 or otherwise subject to the liability of that section, nor will the certification be deemed incorporated by reference into any filing under
        the Securities Act of 1933 or the Securities Exchange Act of 1934, except to the extent that the Registrant specifically incorporates it by reference.</div>
    </div>
    <div style="background-color: #FFFFFF;">
      <div><br>
      </div>
      <div>&#160;</div>
      <div><br>
      </div>
    </div>
  </div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-101.INS
<SEQUENCE>7
<FILENAME>dsgx-20200131.xml
<DESCRIPTION>XBRL INSTANCE DOCUMENT
<TEXT>
<XBRL>
<?xml version="1.0" encoding="US-ASCII" standalone="no"?>
<!--Generated by ThunderDome XBRL - 06:59PM UTC 2020-04-03--><xbrli:xbrl xmlns:xbrli="http://www.xbrl.org/2003/instance" xmlns="http://www.xbrl.org/2003/instance" xmlns:country="http://xbrl.sec.gov/country/2017-01-31" xmlns:currency="http://xbrl.sec.gov/currency/2017-01-31" xmlns:dei="http://xbrl.sec.gov/dei/2019-01-31" xmlns:dsgx="http://www.descartes.com/20200131" xmlns:exch="http://xbrl.sec.gov/exch/2018-01-31" xmlns:iso4217="http://www.xbrl.org/2003/iso4217" xmlns:link="http://www.xbrl.org/2003/linkbase" xmlns:naics="http://xbrl.sec.gov/naics/2011-01-31" xmlns:nonnum="http://www.xbrl.org/dtr/type/non-numeric" xmlns:sic="http://xbrl.sec.gov/sic/2011-01-31" xmlns:srt="http://fasb.org/srt/2019-01-31" xmlns:stpr="http://xbrl.sec.gov/stpr/2018-01-31" xmlns:thunderdome="http://www.RDGFilings.com" xmlns:us-gaap="http://fasb.org/us-gaap/2019-01-31" xmlns:utr="http://www.xbrl.org/2009/utr" xmlns:xbrldi="http://xbrl.org/2006/xbrldi" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:xs="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
  <link:schemaRef xlink:href="dsgx-20200131.xsd" xlink:type="simple"/>
  <dei:AmendmentFlag contextRef="d_2019-02-01_2020-01-31" id="c-54">false</dei:AmendmentFlag>
  <dei:CurrentFiscalYearEndDate contextRef="d_2019-02-01_2020-01-31" id="c-40">--01-31</dei:CurrentFiscalYearEndDate>
  <dei:DocumentFiscalPeriodFocus contextRef="d_2019-02-01_2020-01-31" id="c-53">FY</dei:DocumentFiscalPeriodFocus>
  <dei:DocumentFiscalYearFocus contextRef="d_2019-02-01_2020-01-31" id="c-52">2020</dei:DocumentFiscalYearFocus>
  <dei:DocumentPeriodEndDate contextRef="d_2019-02-01_2020-01-31" id="c-51">2020-01-31</dei:DocumentPeriodEndDate>
  <dei:DocumentType contextRef="d_2019-02-01_2020-01-31" id="c-50">40-F</dei:DocumentType>
  <dei:EntityCentralIndexKey contextRef="d_2019-02-01_2020-01-31" id="c-39">0001050140</dei:EntityCentralIndexKey>
  <dei:EntityCommonStockSharesOutstanding contextRef="i_2020-01-31" decimals="INF" id="c-48" unitRef="xbrli-shares">84156316</dei:EntityCommonStockSharesOutstanding>
  <dei:EntityCurrentReportingStatus contextRef="d_2019-02-01_2020-01-31" id="c-42">Yes</dei:EntityCurrentReportingStatus>
  <dei:EntityEmergingGrowthCompany contextRef="d_2019-02-01_2020-01-31" id="c-45">false</dei:EntityEmergingGrowthCompany>
  <dei:EntityInteractiveDataCurrent contextRef="d_2019-02-01_2020-01-31" id="c-47">Yes</dei:EntityInteractiveDataCurrent>
  <dei:EntityRegistrantName contextRef="d_2019-02-01_2020-01-31" id="c-38">DESCARTES SYSTEMS GROUP INC</dei:EntityRegistrantName>
  <dsgx:AmountsRecoverableFromFundsHeldInEscrow contextRef="i_2020-01-31" decimals="-3" id="c59149580" unitRef="iso4217-usd">0</dsgx:AmountsRecoverableFromFundsHeldInEscrow>
  <dsgx:AmountsRecoverableFromFundsHeldInEscrow contextRef="i_2019-01-31" decimals="-3" id="c59149581" unitRef="iso4217-usd">100000</dsgx:AmountsRecoverableFromFundsHeldInEscrow>
  <dsgx:BaseAnnualFeePercent contextRef="d_2019-02-01_2020-01-31_AwardTypeAxis-DeferredShareUnitPlanMember" decimals="1" id="c59148444" unitRef="xbrli-pure">0.5</dsgx:BaseAnnualFeePercent>
  <dsgx:BusinessAcquisitionCostOfAcquiredEntityWorkingCapitalAdjustments contextRef="d_2019-02-01_2020-01-31_BusinessAcquisitionAxis-VisualComplianceMember" decimals="-3" id="c59148720" unitRef="iso4217-usd">1147000</dsgx:BusinessAcquisitionCostOfAcquiredEntityWorkingCapitalAdjustments>
  <dsgx:BusinessAcquisitionCostOfAcquiredEntityWorkingCapitalAdjustments contextRef="d_2019-02-01_2020-01-31_BusinessAcquisitionAxis-CoreTransportTechnologiesNzLimitedMember" decimals="-3" id="c59148721" unitRef="iso4217-usd">62000</dsgx:BusinessAcquisitionCostOfAcquiredEntityWorkingCapitalAdjustments>
  <dsgx:BusinessAcquisitionCostOfAcquiredEntityWorkingCapitalAdjustments contextRef="d_2019-02-01_2020-01-31_BusinessAcquisitionAxis-StepcomMember" decimals="-3" id="c59148722" unitRef="iso4217-usd">250000</dsgx:BusinessAcquisitionCostOfAcquiredEntityWorkingCapitalAdjustments>
  <dsgx:BusinessAcquisitionCostOfAcquiredEntityWorkingCapitalAdjustments contextRef="d_2019-02-01_2020-01-31_BusinessAcquisitionAxis-BesttransportMember" id="c59148723" unitRef="iso4217-usd" xs:nil="true"/>
  <dsgx:BusinessAcquisitionCostOfAcquiredEntityWorkingCapitalAdjustments contextRef="d_2019-02-01_2020-01-31_BusinessAcquisitionAxis-The2020AcquisitionsMember" decimals="-3" id="c59148724" unitRef="iso4217-usd">1459000</dsgx:BusinessAcquisitionCostOfAcquiredEntityWorkingCapitalAdjustments>
  <dsgx:BusinessAcquisitionCostOfAcquiredEntityWorkingCapitalAdjustments contextRef="d_2018-02-01_2019-01-31_BusinessAcquisitionAxis-AljexSoftwareIncMember" decimals="-3" id="c59149001" unitRef="iso4217-usd">-152000</dsgx:BusinessAcquisitionCostOfAcquiredEntityWorkingCapitalAdjustments>
  <dsgx:BusinessAcquisitionCostOfAcquiredEntityWorkingCapitalAdjustments contextRef="d_2018-02-01_2019-01-31_BusinessAcquisitionAxis-VelocityMailMember" decimals="-3" id="c59149002" unitRef="iso4217-usd">-102000</dsgx:BusinessAcquisitionCostOfAcquiredEntityWorkingCapitalAdjustments>
  <dsgx:BusinessAcquisitionCostOfAcquiredEntityWorkingCapitalAdjustments contextRef="d_2018-02-01_2019-01-31_BusinessAcquisitionAxis-PinPointMember" decimals="-3" id="c59149003" unitRef="iso4217-usd">36000</dsgx:BusinessAcquisitionCostOfAcquiredEntityWorkingCapitalAdjustments>
  <dsgx:BusinessAcquisitionCostOfAcquiredEntityWorkingCapitalAdjustments contextRef="d_2018-02-01_2019-01-31_BusinessAcquisitionAxis-The2019AcquisitionsMember" decimals="-3" id="c59149004" unitRef="iso4217-usd">-218000</dsgx:BusinessAcquisitionCostOfAcquiredEntityWorkingCapitalAdjustments>
  <dsgx:BusinessAcquisitionCostOfAcquiredEntityWorkingCapitalAdjustments contextRef="d_2017-02-01_2018-01-31_BusinessAcquisitionAxis-ShipRushMember" decimals="-3" id="c59149242" unitRef="iso4217-usd">88000</dsgx:BusinessAcquisitionCostOfAcquiredEntityWorkingCapitalAdjustments>
  <dsgx:BusinessAcquisitionCostOfAcquiredEntityWorkingCapitalAdjustments contextRef="d_2017-02-01_2018-01-31_BusinessAcquisitionAxis-PCSTracIncMember" decimals="-3" id="c59149243" unitRef="iso4217-usd">40000</dsgx:BusinessAcquisitionCostOfAcquiredEntityWorkingCapitalAdjustments>
  <dsgx:BusinessAcquisitionCostOfAcquiredEntityWorkingCapitalAdjustments contextRef="d_2017-02-01_2018-01-31_BusinessAcquisitionAxis-MacroPointLLCMember" decimals="-3" id="c59149244" unitRef="iso4217-usd">163000</dsgx:BusinessAcquisitionCostOfAcquiredEntityWorkingCapitalAdjustments>
  <dsgx:BusinessAcquisitionCostOfAcquiredEntityWorkingCapitalAdjustments contextRef="d_2017-02-01_2018-01-31_BusinessAcquisitionAxis-The2018AcquisitionsMember" decimals="-3" id="c59149245" unitRef="iso4217-usd">291000</dsgx:BusinessAcquisitionCostOfAcquiredEntityWorkingCapitalAdjustments>
  <dsgx:BusinessCombinationContingentConsiderationArrangementsPeriodForRevenuePerformanceTargets contextRef="d_2019-05-10_2019-05-10_BusinessAcquisitionAxis-CoreTransportTechnologiesNzLimitedMember" id="c59148592">P2Y</dsgx:BusinessCombinationContingentConsiderationArrangementsPeriodForRevenuePerformanceTargets>
  <dsgx:BusinessCombinationContingentConsiderationArrangementsPeriodForRevenuePerformanceTargets contextRef="d_2018-08-21_2018-08-21_BusinessAcquisitionAxis-PinPointMember" id="c59148632">P2Y</dsgx:BusinessCombinationContingentConsiderationArrangementsPeriodForRevenuePerformanceTargets>
  <dsgx:BusinessCombinationContingentConsiderationArrangementsPeriodForRevenuePerformanceTargets contextRef="d_2017-05-18_2017-05-18_BusinessAcquisitionAxis-ShipRushMember" id="c59148658">P2Y</dsgx:BusinessCombinationContingentConsiderationArrangementsPeriodForRevenuePerformanceTargets>
  <dsgx:BusinessCombinationContingentConsiderationArrangementsPeriodForRevenuePerformanceTargets contextRef="d_2019-02-01_2020-01-31_BusinessAcquisitionAxis-PinpointAndCoreMember" id="c59149772">P2Y</dsgx:BusinessCombinationContingentConsiderationArrangementsPeriodForRevenuePerformanceTargets>
  <dsgx:BusinessCombinationRecognizedIdentifiableAssetAcquiredAndLiabilityAssumedOperatingLeaseObligation contextRef="i_2020-01-31_BusinessAcquisitionAxis-VisualComplianceMember" decimals="-3" id="c59148825" unitRef="iso4217-usd">1188000</dsgx:BusinessCombinationRecognizedIdentifiableAssetAcquiredAndLiabilityAssumedOperatingLeaseObligation>
  <dsgx:BusinessCombinationRecognizedIdentifiableAssetAcquiredAndLiabilityAssumedOperatingLeaseObligation contextRef="i_2020-01-31_BusinessAcquisitionAxis-CoreTransportTechnologiesNzLimitedMember" decimals="-3" id="c59148826" unitRef="iso4217-usd">68000</dsgx:BusinessCombinationRecognizedIdentifiableAssetAcquiredAndLiabilityAssumedOperatingLeaseObligation>
  <dsgx:BusinessCombinationRecognizedIdentifiableAssetAcquiredAndLiabilityAssumedOperatingLeaseObligation contextRef="i_2020-01-31_BusinessAcquisitionAxis-StepcomMember" decimals="-3" id="c59148827" unitRef="iso4217-usd">232000</dsgx:BusinessCombinationRecognizedIdentifiableAssetAcquiredAndLiabilityAssumedOperatingLeaseObligation>
  <dsgx:BusinessCombinationRecognizedIdentifiableAssetAcquiredAndLiabilityAssumedOperatingLeaseObligation contextRef="i_2020-01-31_BusinessAcquisitionAxis-BesttransportMember" decimals="-3" id="c59148828" unitRef="iso4217-usd">194000</dsgx:BusinessCombinationRecognizedIdentifiableAssetAcquiredAndLiabilityAssumedOperatingLeaseObligation>
  <dsgx:BusinessCombinationRecognizedIdentifiableAssetAcquiredAndLiabilityAssumedOperatingLeaseObligation contextRef="i_2020-01-31_BusinessAcquisitionAxis-The2020AcquisitionsMember" decimals="-3" id="c59148829" unitRef="iso4217-usd">1682000</dsgx:BusinessCombinationRecognizedIdentifiableAssetAcquiredAndLiabilityAssumedOperatingLeaseObligation>
  <dsgx:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedRightofuseAssets contextRef="i_2020-01-31_BusinessAcquisitionAxis-VisualComplianceMember" decimals="-3" id="c59148786" unitRef="iso4217-usd">1188000</dsgx:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedRightofuseAssets>
  <dsgx:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedRightofuseAssets contextRef="i_2020-01-31_BusinessAcquisitionAxis-CoreTransportTechnologiesNzLimitedMember" decimals="-3" id="c59148787" unitRef="iso4217-usd">68000</dsgx:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedRightofuseAssets>
  <dsgx:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedRightofuseAssets contextRef="i_2020-01-31_BusinessAcquisitionAxis-StepcomMember" decimals="-3" id="c59148788" unitRef="iso4217-usd">232000</dsgx:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedRightofuseAssets>
  <dsgx:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedRightofuseAssets contextRef="i_2020-01-31_BusinessAcquisitionAxis-BesttransportMember" decimals="-3" id="c59148789" unitRef="iso4217-usd">194000</dsgx:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedRightofuseAssets>
  <dsgx:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedRightofuseAssets contextRef="i_2020-01-31_BusinessAcquisitionAxis-The2020AcquisitionsMember" decimals="-3" id="c59148790" unitRef="iso4217-usd">1682000</dsgx:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedRightofuseAssets>
  <dsgx:BusinessCombinationRecognizedIdentifiableTangibleAssetsAcquiredAndLiabilitiesAssumedNet contextRef="i_2020-01-31_BusinessAcquisitionAxis-VisualComplianceMember" decimals="-3" id="c59148851" unitRef="iso4217-usd">-25968000</dsgx:BusinessCombinationRecognizedIdentifiableTangibleAssetsAcquiredAndLiabilitiesAssumedNet>
  <dsgx:BusinessCombinationRecognizedIdentifiableTangibleAssetsAcquiredAndLiabilitiesAssumedNet contextRef="i_2020-01-31_BusinessAcquisitionAxis-CoreTransportTechnologiesNzLimitedMember" decimals="-3" id="c59148852" unitRef="iso4217-usd">1225000</dsgx:BusinessCombinationRecognizedIdentifiableTangibleAssetsAcquiredAndLiabilitiesAssumedNet>
  <dsgx:BusinessCombinationRecognizedIdentifiableTangibleAssetsAcquiredAndLiabilitiesAssumedNet contextRef="i_2020-01-31_BusinessAcquisitionAxis-StepcomMember" decimals="-3" id="c59148853" unitRef="iso4217-usd">2276000</dsgx:BusinessCombinationRecognizedIdentifiableTangibleAssetsAcquiredAndLiabilitiesAssumedNet>
  <dsgx:BusinessCombinationRecognizedIdentifiableTangibleAssetsAcquiredAndLiabilitiesAssumedNet contextRef="i_2020-01-31_BusinessAcquisitionAxis-BesttransportMember" decimals="-3" id="c59148854" unitRef="iso4217-usd">795000</dsgx:BusinessCombinationRecognizedIdentifiableTangibleAssetsAcquiredAndLiabilitiesAssumedNet>
  <dsgx:BusinessCombinationRecognizedIdentifiableTangibleAssetsAcquiredAndLiabilitiesAssumedNet contextRef="i_2020-01-31_BusinessAcquisitionAxis-The2020AcquisitionsMember" decimals="-3" id="c59148855" unitRef="iso4217-usd">-21672000</dsgx:BusinessCombinationRecognizedIdentifiableTangibleAssetsAcquiredAndLiabilitiesAssumedNet>
  <dsgx:BusinessCombinationRecognizedIdentifiableTangibleAssetsAcquiredAndLiabilitiesAssumedNet contextRef="i_2019-01-31_BusinessAcquisitionAxis-AljexSoftwareIncMember" decimals="-3" id="c59149093" unitRef="iso4217-usd">4883000</dsgx:BusinessCombinationRecognizedIdentifiableTangibleAssetsAcquiredAndLiabilitiesAssumedNet>
  <dsgx:BusinessCombinationRecognizedIdentifiableTangibleAssetsAcquiredAndLiabilitiesAssumedNet contextRef="i_2019-01-31_BusinessAcquisitionAxis-VelocityMailMember" decimals="-3" id="c59149094" unitRef="iso4217-usd">-1757000</dsgx:BusinessCombinationRecognizedIdentifiableTangibleAssetsAcquiredAndLiabilitiesAssumedNet>
  <dsgx:BusinessCombinationRecognizedIdentifiableTangibleAssetsAcquiredAndLiabilitiesAssumedNet contextRef="i_2019-01-31_BusinessAcquisitionAxis-PinPointMember" decimals="-3" id="c59149095" unitRef="iso4217-usd">2611000</dsgx:BusinessCombinationRecognizedIdentifiableTangibleAssetsAcquiredAndLiabilitiesAssumedNet>
  <dsgx:BusinessCombinationRecognizedIdentifiableTangibleAssetsAcquiredAndLiabilitiesAssumedNet contextRef="i_2019-01-31_BusinessAcquisitionAxis-The2019AcquisitionsMember" decimals="-3" id="c59149096" unitRef="iso4217-usd">5737000</dsgx:BusinessCombinationRecognizedIdentifiableTangibleAssetsAcquiredAndLiabilitiesAssumedNet>
  <dsgx:BusinessCombinationRecognizedIdentifiableTangibleAssetsAcquiredAndLiabilitiesAssumedNet contextRef="i_2018-01-31_BusinessAcquisitionAxis-ShipRushMember" decimals="-3" id="c59149308" unitRef="iso4217-usd">414000</dsgx:BusinessCombinationRecognizedIdentifiableTangibleAssetsAcquiredAndLiabilitiesAssumedNet>
  <dsgx:BusinessCombinationRecognizedIdentifiableTangibleAssetsAcquiredAndLiabilitiesAssumedNet contextRef="i_2018-01-31_BusinessAcquisitionAxis-PCSTracIncMember" decimals="-3" id="c59149309" unitRef="iso4217-usd">-457000</dsgx:BusinessCombinationRecognizedIdentifiableTangibleAssetsAcquiredAndLiabilitiesAssumedNet>
  <dsgx:BusinessCombinationRecognizedIdentifiableTangibleAssetsAcquiredAndLiabilitiesAssumedNet contextRef="i_2018-01-31_BusinessAcquisitionAxis-MacroPointLLCMember" decimals="-3" id="c59149310" unitRef="iso4217-usd">5353000</dsgx:BusinessCombinationRecognizedIdentifiableTangibleAssetsAcquiredAndLiabilitiesAssumedNet>
  <dsgx:BusinessCombinationRecognizedIdentifiableTangibleAssetsAcquiredAndLiabilitiesAssumedNet contextRef="i_2018-01-31_BusinessAcquisitionAxis-The2018AcquisitionsMember" decimals="-3" id="c59149311" unitRef="iso4217-usd">5310000</dsgx:BusinessCombinationRecognizedIdentifiableTangibleAssetsAcquiredAndLiabilitiesAssumedNet>
  <dsgx:CRSUAwardNonvestedNumber contextRef="i_2020-01-31" decimals="INF" id="c59150112" unitRef="xbrli-shares">42727</dsgx:CRSUAwardNonvestedNumber>
  <dsgx:CRSUAwardNonvestedWeightedAverageContractualLife contextRef="d_2019-02-01_2020-01-31" id="c59150113">P1Y219D</dsgx:CRSUAwardNonvestedWeightedAverageContractualLife>
  <dsgx:CRSUAwardsGrantsInPeriod contextRef="d_2018-02-01_2019-01-31" decimals="INF" id="c59150100" unitRef="xbrli-shares">32261</dsgx:CRSUAwardsGrantsInPeriod>
  <dsgx:CRSUAwardsGrantsInPeriod contextRef="d_2019-02-01_2020-01-31" decimals="INF" id="c59150106" unitRef="xbrli-shares">30086</dsgx:CRSUAwardsGrantsInPeriod>
  <dsgx:CRSUAwardsOutstandingNumber contextRef="i_2018-01-31" decimals="INF" id="c59150098" unitRef="xbrli-shares">58171</dsgx:CRSUAwardsOutstandingNumber>
  <dsgx:CRSUAwardsOutstandingNumber contextRef="i_2019-01-31" decimals="INF" id="c59150104" unitRef="xbrli-shares">45063</dsgx:CRSUAwardsOutstandingNumber>
  <dsgx:CRSUAwardsOutstandingNumber contextRef="i_2020-01-31" decimals="INF" id="c59150110" unitRef="xbrli-shares">42727</dsgx:CRSUAwardsOutstandingNumber>
  <dsgx:CRSUAwardsVestedAndSettledInCash contextRef="d_2018-02-01_2019-01-31" decimals="INF" id="c59150102" unitRef="xbrli-shares">45369</dsgx:CRSUAwardsVestedAndSettledInCash>
  <dsgx:CRSUAwardsVestedAndSettledInCash contextRef="d_2019-02-01_2020-01-31" decimals="INF" id="c59150108" unitRef="xbrli-shares">32422</dsgx:CRSUAwardsVestedAndSettledInCash>
  <dsgx:CRSUAwardsWeightedAverageContractualLife contextRef="d_2017-02-01_2018-01-31" id="c59150099">P1Y182D</dsgx:CRSUAwardsWeightedAverageContractualLife>
  <dsgx:CRSUAwardsWeightedAverageContractualLife contextRef="d_2018-02-01_2019-01-31" id="c59150105">P1Y219D</dsgx:CRSUAwardsWeightedAverageContractualLife>
  <dsgx:CRSUAwardsWeightedAverageContractualLife contextRef="d_2019-02-01_2020-01-31" id="c59150111">P1Y219D</dsgx:CRSUAwardsWeightedAverageContractualLife>
  <dsgx:CashSettledRestrictedShareUnitsCompensationExpense contextRef="d_2019-02-01_2020-01-31_PlanNameAxis-CashsettledRestrictedShareUnitMember" decimals="-3" id="c59149905" unitRef="iso4217-usd">900000</dsgx:CashSettledRestrictedShareUnitsCompensationExpense>
  <dsgx:CashSettledRestrictedShareUnitsCompensationExpense contextRef="d_2018-02-01_2019-01-31_PlanNameAxis-CashsettledRestrictedShareUnitMember" decimals="-3" id="c59149906" unitRef="iso4217-usd">800000</dsgx:CashSettledRestrictedShareUnitsCompensationExpense>
  <dsgx:CashSettledRestrictedShareUnitsCompensationExpense contextRef="d_2017-02-01_2018-01-31_PlanNameAxis-CashsettledRestrictedShareUnitMember" decimals="-3" id="c59149907" unitRef="iso4217-usd">1000000</dsgx:CashSettledRestrictedShareUnitsCompensationExpense>
  <dsgx:CashSettledRestrictedShareUnitsNonvestedTotalCompensationCostNotYetRecognized contextRef="d_2019-02-01_2020-01-31" decimals="-3" id="c59149763" unitRef="iso4217-usd">1100000</dsgx:CashSettledRestrictedShareUnitsNonvestedTotalCompensationCostNotYetRecognized>
  <dsgx:CashSettledRestrictedShareUnitsNonvestedTotalCompensationCostNotYetRecognized contextRef="d_2018-02-01_2019-01-31" decimals="-3" id="c59149764" unitRef="iso4217-usd">0</dsgx:CashSettledRestrictedShareUnitsNonvestedTotalCompensationCostNotYetRecognized>
  <dsgx:CashSettledRestrictedShareUnitsVestingPeriod contextRef="d_2019-02-01_2020-01-31_AwardTypeAxis-CashsettledRestrictedSharePlanMember_RangeAxis-MinimumMember" id="c59148446">P3Y</dsgx:CashSettledRestrictedShareUnitsVestingPeriod>
  <dsgx:CashSettledRestrictedShareUnitsVestingPeriod contextRef="d_2019-02-01_2020-01-31_AwardTypeAxis-CashsettledRestrictedSharePlanMember_RangeAxis-MaximumMember" id="c59148447">P5Y</dsgx:CashSettledRestrictedShareUnitsVestingPeriod>
  <dsgx:ContractWithCustomerAssetAdjustmentForAdoptionOfASC606 contextRef="d_2018-02-01_2018-02-01" decimals="-3" id="c59150338" unitRef="iso4217-usd">495000</dsgx:ContractWithCustomerAssetAdjustmentForAdoptionOfASC606>
  <dsgx:ContractWithCustomerAssetIncreaseDecreaseForForeignExchange contextRef="d_2018-02-01_2019-01-31" decimals="-3" id="c59150342" unitRef="iso4217-usd">-23000</dsgx:ContractWithCustomerAssetIncreaseDecreaseForForeignExchange>
  <dsgx:ContractWithCustomerAssetIncreaseDecreaseForForeignExchange contextRef="d_2019-02-01_2020-01-31" decimals="-3" id="c59150346" unitRef="iso4217-usd">-6000</dsgx:ContractWithCustomerAssetIncreaseDecreaseForForeignExchange>
  <dsgx:ContractWithCustomerAssetIncreaseDecreaseForTermLicensesNet contextRef="d_2018-02-01_2019-01-31" decimals="-3" id="c59150341" unitRef="iso4217-usd">606000</dsgx:ContractWithCustomerAssetIncreaseDecreaseForTermLicensesNet>
  <dsgx:ContractWithCustomerAssetIncreaseDecreaseForTermLicensesNet contextRef="d_2019-02-01_2020-01-31" decimals="-3" id="c59150345" unitRef="iso4217-usd">791000</dsgx:ContractWithCustomerAssetIncreaseDecreaseForTermLicensesNet>
  <dsgx:ContractWithCustomerContractAssetBeforeAdoptionOfASC606 contextRef="i_2018-01-31" id="c59150337" unitRef="iso4217-usd" xs:nil="true"/>
  <dsgx:ContractWithCustomerLiabilityIncreaseDecreaseForForeignExchange contextRef="d_2018-02-01_2019-01-31" decimals="-3" id="c59150328" unitRef="iso4217-usd">-982000</dsgx:ContractWithCustomerLiabilityIncreaseDecreaseForForeignExchange>
  <dsgx:ContractWithCustomerLiabilityIncreaseDecreaseForForeignExchange contextRef="d_2019-02-01_2020-01-31" decimals="-3" id="c59150333" unitRef="iso4217-usd">-407000</dsgx:ContractWithCustomerLiabilityIncreaseDecreaseForForeignExchange>
  <dsgx:ContractWithCustomerLiabilityIncreaseFromDeferralOfRevenue contextRef="d_2018-02-01_2019-01-31" decimals="-3" id="c59150326" unitRef="iso4217-usd">29423000</dsgx:ContractWithCustomerLiabilityIncreaseFromDeferralOfRevenue>
  <dsgx:ContractWithCustomerLiabilityIncreaseFromDeferralOfRevenue contextRef="d_2019-02-01_2020-01-31" decimals="-3" id="c59150331" unitRef="iso4217-usd">37408000</dsgx:ContractWithCustomerLiabilityIncreaseFromDeferralOfRevenue>
  <dsgx:ContractualObligationDueInEigthYear contextRef="i_2019-01-31_LeaseArrangementTypeAxis-OperatingLeasesMember" decimals="-3" id="c59149754" unitRef="iso4217-usd">271000</dsgx:ContractualObligationDueInEigthYear>
  <dsgx:ContractualObligationDueInEigthYear contextRef="i_2019-01-31" decimals="-3" id="c59149756" unitRef="iso4217-usd">271000</dsgx:ContractualObligationDueInEigthYear>
  <dsgx:ContractualObligationDueInSeventhYear contextRef="i_2019-01-31_LeaseArrangementTypeAxis-OperatingLeasesMember" decimals="-3" id="c59149751" unitRef="iso4217-usd">733000</dsgx:ContractualObligationDueInSeventhYear>
  <dsgx:ContractualObligationDueInSeventhYear contextRef="i_2019-01-31" decimals="-3" id="c59149753" unitRef="iso4217-usd">733000</dsgx:ContractualObligationDueInSeventhYear>
  <dsgx:ContractualObligationDueInSixthYear contextRef="i_2019-01-31_LeaseArrangementTypeAxis-OperatingLeasesMember" decimals="-3" id="c59149748" unitRef="iso4217-usd">737000</dsgx:ContractualObligationDueInSixthYear>
  <dsgx:ContractualObligationDueInSixthYear contextRef="i_2019-01-31" decimals="-3" id="c59149750" unitRef="iso4217-usd">737000</dsgx:ContractualObligationDueInSixthYear>
  <dsgx:CostsToObtainAContractWithACustomerPeriodOfBenefitIncludingRenewals contextRef="d_2019-02-01_2020-01-31_RangeAxis-MinimumMember" id="c59148424">P4Y</dsgx:CostsToObtainAContractWithACustomerPeriodOfBenefitIncludingRenewals>
  <dsgx:CostsToObtainAContractWithACustomerPeriodOfBenefitIncludingRenewals contextRef="d_2019-02-01_2020-01-31_RangeAxis-MaximumMember" id="c59148425">P6Y</dsgx:CostsToObtainAContractWithACustomerPeriodOfBenefitIncludingRenewals>
  <dsgx:DeferredShareUnitLiabilityNumberOfCommonShares contextRef="i_2020-01-31" decimals="INF" id="c59149766" unitRef="xbrli-shares">251422</dsgx:DeferredShareUnitLiabilityNumberOfCommonShares>
  <dsgx:DeferredShareUnitsCompensationExpense contextRef="d_2019-02-01_2020-01-31_PlanNameAxis-DeferredShareUnitPlanMember" decimals="-3" id="c59149896" unitRef="iso4217-usd">5000000</dsgx:DeferredShareUnitsCompensationExpense>
  <dsgx:DeferredShareUnitsCompensationExpense contextRef="d_2018-02-01_2019-01-31_PlanNameAxis-DeferredShareUnitPlanMember" decimals="-3" id="c59149897" unitRef="iso4217-usd">2200000</dsgx:DeferredShareUnitsCompensationExpense>
  <dsgx:DeferredShareUnitsCompensationExpense contextRef="d_2017-02-01_2018-01-31_PlanNameAxis-DeferredShareUnitPlanMember" decimals="-3" id="c59149898" unitRef="iso4217-usd">2300000</dsgx:DeferredShareUnitsCompensationExpense>
  <dsgx:DeferredShareUnitsGrantsInPeriod contextRef="d_2019-02-01_2020-01-31_PlanNameAxis-DeferredShareUnitPlanMember" decimals="INF" id="c59149892" unitRef="xbrli-shares">25373</dsgx:DeferredShareUnitsGrantsInPeriod>
  <dsgx:DeferredShareUnitsOutstandingNumber contextRef="i_2020-01-31_PlanNameAxis-DeferredShareUnitPlanMember" decimals="INF" id="c59149887" unitRef="xbrli-shares">251422</dsgx:DeferredShareUnitsOutstandingNumber>
  <dsgx:DeferredShareUnitsOutstandingNumber contextRef="i_2019-01-31_PlanNameAxis-DeferredShareUnitPlanMember" decimals="INF" id="c59149888" unitRef="xbrli-shares">277390</dsgx:DeferredShareUnitsOutstandingNumber>
  <dsgx:DeferredShareUnitsRedeemedAndSettledInCash contextRef="d_2019-02-01_2020-01-31_PlanNameAxis-DeferredShareUnitPlanMember" decimals="INF" id="c59149893" unitRef="xbrli-shares">51341</dsgx:DeferredShareUnitsRedeemedAndSettledInCash>
  <dsgx:DeferredTaxAssetsLiabilitesNet1 contextRef="i_2020-01-31" decimals="-3" id="c59150221" unitRef="iso4217-usd">6535000</dsgx:DeferredTaxAssetsLiabilitesNet1>
  <dsgx:DeferredTaxAssetsLiabilitesNet1 contextRef="i_2019-01-31" decimals="-3" id="c59150222" unitRef="iso4217-usd">-11909000</dsgx:DeferredTaxAssetsLiabilitesNet1>
  <dsgx:DeferredTaxAssetsNetBeforeValuationAllowance contextRef="i_2020-01-31" decimals="-3" id="c59150217" unitRef="iso4217-usd">17005000</dsgx:DeferredTaxAssetsNetBeforeValuationAllowance>
  <dsgx:DeferredTaxAssetsNetBeforeValuationAllowance contextRef="i_2019-01-31" decimals="-3" id="c59150218" unitRef="iso4217-usd">-1982000</dsgx:DeferredTaxAssetsNetBeforeValuationAllowance>
  <dsgx:DeferredTaxCharges contextRef="d_2019-02-01_2020-01-31" id="c59148289" unitRef="iso4217-usd" xs:nil="true"/>
  <dsgx:DeferredTaxCharges contextRef="d_2018-02-01_2019-01-31" decimals="-3" id="c59148290" unitRef="iso4217-usd">-49000</dsgx:DeferredTaxCharges>
  <dsgx:DeferredTaxCharges contextRef="d_2017-02-01_2018-01-31" decimals="-3" id="c59148291" unitRef="iso4217-usd">-31000</dsgx:DeferredTaxCharges>
  <dsgx:DerivativeInstrumentCommonSharesHeldPerShare contextRef="i_2020-01-31" decimals="INF" id="c59149550" unitRef="iso4217-usd-per-xbrli-shares">22.37</dsgx:DerivativeInstrumentCommonSharesHeldPerShare>
  <dsgx:DerivativeInstrumentSharesOfCommonStockHeld contextRef="i_2020-01-31" decimals="INF" id="c59149549" unitRef="xbrli-shares">251422</dsgx:DerivativeInstrumentSharesOfCommonStockHeld>
  <dsgx:EffectiveIncomeTaxRateReconciliationIncreaseDecreaseInAccrualsForUncertainTaxPositions contextRef="d_2019-02-01_2020-01-31" decimals="-3" id="c59150245" unitRef="iso4217-usd">-1042000</dsgx:EffectiveIncomeTaxRateReconciliationIncreaseDecreaseInAccrualsForUncertainTaxPositions>
  <dsgx:EffectiveIncomeTaxRateReconciliationIncreaseDecreaseInAccrualsForUncertainTaxPositions contextRef="d_2018-02-01_2019-01-31" decimals="-3" id="c59150246" unitRef="iso4217-usd">-515000</dsgx:EffectiveIncomeTaxRateReconciliationIncreaseDecreaseInAccrualsForUncertainTaxPositions>
  <dsgx:EffectiveIncomeTaxRateReconciliationIncreaseDecreaseInAccrualsForUncertainTaxPositions contextRef="d_2017-02-01_2018-01-31" decimals="-3" id="c59150247" unitRef="iso4217-usd">1954000</dsgx:EffectiveIncomeTaxRateReconciliationIncreaseDecreaseInAccrualsForUncertainTaxPositions>
  <dsgx:IncomeBeforeTaxesPercent contextRef="d_2019-02-01_2020-01-31" decimals="2" id="c59150118" unitRef="xbrli-pure">0.23</dsgx:IncomeBeforeTaxesPercent>
  <dsgx:IncomeBeforeTaxesPercent contextRef="d_2018-02-01_2019-01-31" decimals="2" id="c59150119" unitRef="xbrli-pure">0.21</dsgx:IncomeBeforeTaxesPercent>
  <dsgx:IncomeBeforeTaxesPercent contextRef="d_2017-02-01_2018-01-31" decimals="2" id="c59150120" unitRef="xbrli-pure">0.23</dsgx:IncomeBeforeTaxesPercent>
  <dsgx:IncomeTaxReconciliationDeferredTaxCharges contextRef="d_2019-02-01_2020-01-31" id="c59150254" unitRef="iso4217-usd" xs:nil="true"/>
  <dsgx:IncomeTaxReconciliationDeferredTaxCharges contextRef="d_2018-02-01_2019-01-31" id="c59150255" unitRef="iso4217-usd" xs:nil="true"/>
  <dsgx:IncomeTaxReconciliationDeferredTaxCharges contextRef="d_2017-02-01_2018-01-31" decimals="-3" id="c59150256" unitRef="iso4217-usd">179000</dsgx:IncomeTaxReconciliationDeferredTaxCharges>
  <dsgx:IncreaseDecreaseInOperatingLeaseLiabilities contextRef="d_2019-02-01_2020-01-31" decimals="-3" id="c59150380" unitRef="iso4217-usd">546000</dsgx:IncreaseDecreaseInOperatingLeaseLiabilities>
  <dsgx:IncreaseDecreaseInOperatingLeaseLiabilities contextRef="d_2018-02-01_2019-01-31" id="c59150381" unitRef="iso4217-usd" xs:nil="true"/>
  <dsgx:IncreaseDecreaseInOperatingLeaseLiabilities contextRef="d_2017-02-01_2018-01-31" id="c59150382" unitRef="iso4217-usd" xs:nil="true"/>
  <dsgx:LesseeOperatingLeaseRemainingLeaseTerm contextRef="d_2019-02-01_2020-01-31_RangeAxis-MinimumMember" id="c59149709">P1Y</dsgx:LesseeOperatingLeaseRemainingLeaseTerm>
  <dsgx:LesseeOperatingLeaseRemainingLeaseTerm contextRef="d_2019-02-01_2020-01-31_RangeAxis-MaximumMember" id="c59149710">P9Y</dsgx:LesseeOperatingLeaseRemainingLeaseTerm>
  <dsgx:NetWorkingCapitalAdjustmentsReceivableFromAcquisitions contextRef="i_2020-01-31" id="c59149582" unitRef="iso4217-usd" xs:nil="true"/>
  <dsgx:NetWorkingCapitalAdjustmentsReceivableFromAcquisitions contextRef="i_2019-01-31" decimals="-3" id="c59149583" unitRef="iso4217-usd">55000</dsgx:NetWorkingCapitalAdjustmentsReceivableFromAcquisitions>
  <dsgx:NumberOfMajorCustomers contextRef="d_2018-02-01_2019-01-31_ConcentrationRiskByBenchmarkAxis-AccountsReceivableMember_ConcentrationRiskByTypeAxis-CustomerConcentrationRiskMember" decimals="1" id="c59148390" unitRef="xbrli-pure">0</dsgx:NumberOfMajorCustomers>
  <dsgx:NumberOfMajorCustomers contextRef="d_2019-02-01_2020-01-31_ConcentrationRiskByBenchmarkAxis-AccountsReceivableMember_ConcentrationRiskByTypeAxis-CustomerConcentrationRiskMember" decimals="1" id="c59148391" unitRef="xbrli-pure">0</dsgx:NumberOfMajorCustomers>
  <dsgx:OtherReceivablesTableTextBlock contextRef="d_2019-02-01_2020-01-31" id="c-7">&lt;div style="display: inline; font-family: times new roman; font-size: 10pt"&gt;&lt;table cellpadding="0" cellspacing="0" style="border-collapse: collapse; font: 10pt Times New Roman, Times, Serif; min-; min-width: 700px;"&gt; &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;div style="display: inline; font-weight: bold;"&gt;January 31,&lt;/div&gt;&lt;/div&gt;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; white-space: nowrap; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; text-align: right"&gt;&lt;div style="display: inline; font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;January 31,&lt;/div&gt;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td style="padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: right"&gt;2020&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;2019&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td style="width: 68%; text-align: left"&gt;Net working capital adjustments receivable from acquisitions&lt;/td&gt; &lt;td style="width: 2%; font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 1%; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 12%; font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;&amp;#x2013;&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; width: 1%; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 2%"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 1%; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 12%; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;55&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; width: 1%; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td style="text-align: left; padding-bottom: 1pt"&gt;Other receivables&lt;/td&gt; &lt;td style="font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;7,294&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;4,276&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td style="padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;7,294&lt;/div&gt;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; white-space: nowrap; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;4,331&lt;/div&gt;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;/table&gt;&lt;/div&gt;</dsgx:OtherReceivablesTableTextBlock>
  <dsgx:OtherReceivablesTextBlock contextRef="d_2019-02-01_2020-01-31" id="s1506260">&lt;div style="display: inline; font-family: times new roman; font-size: 10pt"&gt;&lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"&gt;&lt;div style="display: inline; font-weight: bold;"&gt;Note &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;6&lt;/div&gt; &amp;#x2013; Other Receivables&lt;/div&gt;&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"&gt;&amp;nbsp;&lt;/div&gt; &lt;div&gt; &lt;table cellpadding="0" cellspacing="0" style="border-collapse: collapse; font: 10pt Times New Roman, Times, Serif; min-width: 700px;"&gt;  &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;div style="display: inline; font-weight: bold;"&gt;January 31,&lt;/div&gt;&lt;/div&gt;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; white-space: nowrap; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; text-align: right"&gt;&lt;div style="display: inline; font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;January 31,&lt;/div&gt;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td style="padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: right"&gt;2020&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;2019&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td style="width: 68%; text-align: left"&gt;Net working capital adjustments receivable from acquisitions&lt;/td&gt; &lt;td style="width: 2%; font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 1%; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 12%; font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;&amp;#x2013;&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; width: 1%; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 2%"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 1%; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 12%; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;55&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; width: 1%; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td style="text-align: left; padding-bottom: 1pt"&gt;Other receivables&lt;/td&gt; &lt;td style="font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;7,294&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;4,276&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td style="padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;7,294&lt;/div&gt;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; white-space: nowrap; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;4,331&lt;/div&gt;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt;  &lt;/table&gt; &lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"&gt;&lt;div style="display: inline; font-weight: bold;"&gt;&amp;nbsp;&lt;/div&gt;&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;Other receivables include receivables related to sales and use taxes, income taxes, non-trade receivables and contract assets. At &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt; January 31, 2020, &lt;/div&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;nil&lt;/div&gt; (&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;$0.1&lt;/div&gt; million as at &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt; January 31, 2019) &lt;/div&gt;of the net working capital adjustments receivable from acquisitions is recoverable from amounts held in escrow related to the respective acquisitions.&lt;/div&gt;&lt;/div&gt;</dsgx:OtherReceivablesTextBlock>
  <dsgx:OverallotmentOption contextRef="d_2019-06-10_2019-06-10" decimals="2" id="c59149789" unitRef="xbrli-pure">0.15</dsgx:OverallotmentOption>
  <dsgx:ProceedsFromIssuanceOfCommonStockNet contextRef="d_2019-06-10_2019-06-10" decimals="-5" id="c59149791" unitRef="iso4217-usd">236600000</dsgx:ProceedsFromIssuanceOfCommonStockNet>
  <dsgx:PropertyPlantAndEquipmentPercentDecliningBalanceDepreciation contextRef="d_2019-02-01_2020-01-31_PropertyPlantAndEquipmentByTypeAxis-ComputerEquipmentMember" decimals="1" id="c59148418" unitRef="xbrli-pure">0.3</dsgx:PropertyPlantAndEquipmentPercentDecliningBalanceDepreciation>
  <dsgx:PropertyPlantAndEquipmentPercentDecliningBalanceDepreciation contextRef="d_2019-02-01_2020-01-31_PropertyPlantAndEquipmentByTypeAxis-FurnitureAndFixturesMember" decimals="1" id="c59148419" unitRef="xbrli-pure">0.2</dsgx:PropertyPlantAndEquipmentPercentDecliningBalanceDepreciation>
  <dsgx:ScheduleOfCashSettledRestrictedShareUnitPlanActivityTableTextBlock contextRef="d_2019-02-01_2020-01-31" id="c-25">&lt;div style="display: inline; font-family: times new roman; font-size: 10pt"&gt;&lt;table cellpadding="0" cellspacing="0" style="border-collapse: collapse; font: 10pt Times New Roman, Times, Serif; min-; min-width: 700px;"&gt; &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td style="text-align: center; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;div style="display: inline; font-weight: bold;"&gt;Number of CRSUs Outstanding&lt;/div&gt;&lt;/div&gt;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; white-space: nowrap; border-bottom: Black 1pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; font-weight: bold; border-bottom: Black 1pt solid"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;div style="display: inline; font-weight: bold;"&gt;Weighted- Average Remaining Contractual Life (years)&lt;/div&gt;&lt;/div&gt;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; white-space: nowrap; border-bottom: Black 1pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td style="width: 68%"&gt;Balance at January 31, 2018&lt;/td&gt; &lt;td style="width: 2%"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 1%; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 12%; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;58,171&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; width: 1%; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 2%"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 1%; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 12%; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;1.5&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; width: 1%; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td style="padding-left: 12.25pt"&gt;Granted&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;32,261&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td style="text-align: left; padding-bottom: 1pt; padding-left: 12.25pt"&gt;Vested and settled in cash&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;(45,369&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left"&gt;)&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td&gt;Balance at January 31, 2019&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;45,063&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;1.6&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td style="padding-left: 12pt"&gt;Granted&lt;/td&gt; &lt;td style="font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;30,086&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td style="text-align: left; padding-bottom: 1pt; padding-left: 12pt"&gt;Vested and settled in cash&lt;/td&gt; &lt;td style="font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;(32,422&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; font-weight: bold; text-align: left"&gt;)&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td style="padding-bottom: 1pt"&gt;Balance at January 31, 2020&lt;/td&gt; &lt;td style="font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;42,727&lt;/div&gt;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; white-space: nowrap; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;1.6&lt;/div&gt;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; white-space: nowrap; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td style="padding-bottom: 1pt"&gt;Non-vested at January 31, 2020&lt;/td&gt; &lt;td style="font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;42,727&lt;/div&gt;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; white-space: nowrap; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;1.6&lt;/div&gt;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; white-space: nowrap; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;/table&gt;&lt;/div&gt;</dsgx:ScheduleOfCashSettledRestrictedShareUnitPlanActivityTableTextBlock>
  <dsgx:ScheduleOfFutureMinimumRentalPaymentsForLeasesTableTextBlock contextRef="d_2019-02-01_2020-01-31" id="c-15">&lt;div style="display: inline; font-family: times new roman; font-size: 10pt"&gt;&lt;table cellpadding="0" cellspacing="0" style="border-collapse: collapse; font: 10pt Times New Roman, Times, Serif; min-; min-width: 700px;"&gt; &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td style="text-align: left; padding-bottom: 1pt"&gt;Years Ended January 31,&lt;/td&gt; &lt;td style="font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;div style="display: inline; font-weight: bold;"&gt;Operating Leases&lt;/div&gt;&lt;/div&gt;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; white-space: nowrap; border-bottom: Black 1pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; font-weight: bold; border-bottom: Black 1pt solid"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;div style="display: inline; font-weight: bold;"&gt;Capital Leases&lt;/div&gt;&lt;/div&gt;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; white-space: nowrap; border-bottom: Black 1pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; font-weight: bold; border-bottom: Black 1pt solid"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;div style="display: inline; font-weight: bold;"&gt;Total&lt;/div&gt;&lt;/div&gt;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; white-space: nowrap; border-bottom: Black 1pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td style="width: 58%; text-align: left; padding-left: 12pt"&gt;2020&lt;/td&gt; &lt;td style="width: 2%"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 1%; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 10%; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;4,627&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; width: 1%; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 2%"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 1%; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 10%; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;51&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; width: 1%; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 2%"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 1%; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 10%; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;4,678&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; width: 1%; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td style="text-align: left; padding-left: 12pt"&gt;2021&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;3,046&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;2&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;3,048&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td style="text-align: left; padding-left: 12pt"&gt;2022&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;1,979&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;&amp;#x2013;&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;1,979&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td style="text-align: left; padding-left: 12pt"&gt;2023&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;1,470&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;&amp;#x2013;&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;1,470&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td style="text-align: left; padding-left: 12pt"&gt;2024&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;1,038&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;&amp;#x2013;&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;1,038&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td style="text-align: left; padding-left: 12pt"&gt;2025&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;737&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;&amp;#x2013;&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;737&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td style="text-align: left; padding-left: 12pt"&gt;2026&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;733&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;&amp;#x2013;&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;733&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td style="text-align: left; padding-bottom: 1pt; padding-left: 12pt"&gt;2027&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;271&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;&amp;#x2013;&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;271&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td style="text-align: left; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;13,901&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;53&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;13,954&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;/table&gt;&lt;/div&gt;</dsgx:ScheduleOfFutureMinimumRentalPaymentsForLeasesTableTextBlock>
  <dsgx:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsAggregateIntrinsicValueExercisable contextRef="i_2020-01-31_AwardTypeAxis-PerformanceSharesMember" decimals="-5" id="c59150069" unitRef="iso4217-usd">23400000</dsgx:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsAggregateIntrinsicValueExercisable>
  <dsgx:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsAggregateIntrinsicValueExercisable contextRef="i_2020-01-31_AwardTypeAxis-RestrictedStockUnitsRSUMember" decimals="-5" id="c59150097" unitRef="iso4217-usd">15100000</dsgx:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsAggregateIntrinsicValueExercisable>
  <dsgx:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsExercisable contextRef="i_2020-01-31_AwardTypeAxis-PerformanceSharesMember" decimals="INF" id="c59150066" unitRef="xbrli-shares">521794</dsgx:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsExercisable>
  <dsgx:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsExercisable contextRef="i_2020-01-31_AwardTypeAxis-RestrictedStockUnitsRSUMember" decimals="INF" id="c59150094" unitRef="xbrli-shares">336921</dsgx:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsExercisable>
  <dsgx:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsExercisableWeightedAverageGrantDateFairValue contextRef="i_2020-01-31_AwardTypeAxis-PerformanceSharesMember" decimals="INF" id="c59150067" unitRef="iso4217-usd-per-xbrli-shares">16.45</dsgx:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsExercisableWeightedAverageGrantDateFairValue>
  <dsgx:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsExercisableWeightedAverageGrantDateFairValue contextRef="i_2020-01-31_AwardTypeAxis-RestrictedStockUnitsRSUMember" decimals="INF" id="c59150095" unitRef="iso4217-usd-per-xbrli-shares">14.56</dsgx:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsExercisableWeightedAverageGrantDateFairValue>
  <dsgx:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsExercisableWeightedAverageRemainingContractualTerm contextRef="d_2019-02-01_2020-01-31_AwardTypeAxis-PerformanceSharesMember" id="c59150068">P4Y109D</dsgx:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsExercisableWeightedAverageRemainingContractualTerm>
  <dsgx:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsExercisableWeightedAverageRemainingContractualTerm contextRef="d_2019-02-01_2020-01-31_AwardTypeAxis-RestrictedStockUnitsRSUMember" id="c59150096">P4Y219D</dsgx:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsExercisableWeightedAverageRemainingContractualTerm>
  <dsgx:ShareBasedCompensationArrangementByShareBasedPaymentAwardUnitsIssuedInPeriodWeightedAverageGrantDateFairValue contextRef="d_2018-02-01_2019-01-31_AwardTypeAxis-PerformanceSharesMember" decimals="INF" id="c59150043" unitRef="iso4217-usd-per-xbrli-shares">19.59</dsgx:ShareBasedCompensationArrangementByShareBasedPaymentAwardUnitsIssuedInPeriodWeightedAverageGrantDateFairValue>
  <dsgx:ShareBasedCompensationArrangementByShareBasedPaymentAwardUnitsIssuedInPeriodWeightedAverageGrantDateFairValue contextRef="d_2019-02-01_2020-01-31_AwardTypeAxis-PerformanceSharesMember" decimals="INF" id="c59150055" unitRef="iso4217-usd-per-xbrli-shares">23.24</dsgx:ShareBasedCompensationArrangementByShareBasedPaymentAwardUnitsIssuedInPeriodWeightedAverageGrantDateFairValue>
  <dsgx:ShareCapitalTextBlock contextRef="d_2019-02-01_2020-01-31" id="s1506280">&lt;div style="display: inline; font-family: times new roman; font-size: 10pt"&gt;&lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"&gt;&lt;div style="display: inline; font-weight: bold;"&gt;Note &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;15&lt;/div&gt; &amp;#x2013; Share Capital&lt;/div&gt;&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"&gt;&lt;div style="display: inline; font-weight: bold;"&gt;&amp;nbsp;&lt;/div&gt;&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;On &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt; June 6, 2018, &lt;/div&gt;we filed a final short-form base shelf prospectus (the &amp;#x201c;Base Shelf Prospectus&amp;#x201d;), allowing us to offer and issue the following securities: (i) common shares; (ii) preferred shares; (iii) senior or subordinated unsecured debt securities; (iv) subscription receipts; (v) warrants; and (vi) securities comprised of more than &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;one&lt;/div&gt; of the aforementioned common shares, preferred shares, debt securities, subscription receipts and/ or warrants offered together as a unit. These securities &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt; may &lt;/div&gt;be offered separately or together, in separate series, in amounts, at prices and on terms to be set forth in &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;one&lt;/div&gt; or more shelf prospectus supplements. The aggregate initial offering price of securities that &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt; may &lt;/div&gt;be sold by us (or certain of our current or future shareholders) pursuant to the Base Shelf Prospectus during the &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;25&lt;/div&gt;-month period that the Base Shelf Prospectus, including any amendments thereto, remains valid was limited to an aggregate of &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;$750&lt;/div&gt; million.&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&amp;nbsp;&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;On &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt; June 10, 2019, &lt;/div&gt;we completed a public offering of common shares in the United States and Canada at a price of &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;$35.50&lt;/div&gt; per common share pursuant to the &lt;div style="display: inline; color: black"&gt;short-form base shelf prospectus and related prospectus supplement filed in connection with the offering (the &amp;#x201c;Offering&amp;#x201d;)&lt;/div&gt;. The total offering of &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;6,900,000&lt;/div&gt; common shares included the exercise in full by the underwriters of the &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;15%&lt;/div&gt; over-allotment option, for aggregate gross proceeds to Descartes of &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;$245.0&lt;/div&gt; million. Net proceeds to Descartes were approximately &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;$236.6&lt;/div&gt; million once expenses associated with the Offering were deducted inclusive of the related deferred tax benefit on share issuance costs. As a result of the Offering, the aggregate balance of securities that &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt; may &lt;/div&gt;be sold by us pursuant to the Base Shelf Prospectus has been reduced to an aggregate of &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;$505.0&lt;/div&gt; million.&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&amp;nbsp;&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&lt;/div&gt; &lt;!-- Field: Page; Sequence: 28 --&gt;   &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;The following table sets forth the common shares outstanding (number of shares in thousands):&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&amp;nbsp;&lt;/div&gt; &lt;div&gt; &lt;table cellpadding="0" cellspacing="0" style="border-collapse: collapse; font: 10pt Times New Roman, Times, Serif; min-width: 700px;"&gt;  &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;div style="display: inline; font-weight: bold;"&gt;January 31,&lt;/div&gt;&lt;/div&gt;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; white-space: nowrap; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; text-align: right"&gt;&lt;div style="display: inline; font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;January 31,&lt;/div&gt;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; text-align: right"&gt;&lt;div style="display: inline; font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;January 31,&lt;/div&gt;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td style="font-style: italic; padding-bottom: 1pt"&gt;(thousands of shares)&lt;/td&gt; &lt;td style="font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: right"&gt;2020&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;2019&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;2018&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td style="width: 58%; text-align: left"&gt;Balance, beginning of year&lt;/td&gt; &lt;td style="width: 2%; font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 1%; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 10%; font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;76,865&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; width: 1%; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 2%"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 1%; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 10%; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;76,773&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; width: 1%; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 2%"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 1%; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 10%; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;75,875&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; width: 1%; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td style="padding-left: 12pt"&gt;Shares issued:&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td style="text-align: left; padding-left: 16.5pt"&gt;Stock options and share units exercised&lt;/td&gt; &lt;td style="font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;95&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;46&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;141&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td style="padding-left: 16.5pt"&gt;Issuance of common shares&lt;/td&gt; &lt;td style="font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;6,900&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;&amp;#x2013;&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;&amp;#x2013;&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td style="text-align: left; padding-bottom: 1pt; padding-left: 16.5pt"&gt;Acquisitions (Note 3)&lt;/td&gt; &lt;td style="font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;296&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;46&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;757&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td style="text-align: left; padding-bottom: 1pt"&gt;Balance, end of year&lt;/td&gt; &lt;td style="font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;84,156&lt;/div&gt;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; white-space: nowrap; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;76,865&lt;/div&gt;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;76,773&lt;/div&gt;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt;  &lt;/table&gt; &lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&amp;nbsp;&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;Cash flows provided from stock options and share units exercised &lt;div style="display: inline; color: black"&gt;during &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;2020,&lt;/div&gt; &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;2019&lt;/div&gt; and &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;2018&lt;/div&gt; were approximately &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;$1.5&lt;/div&gt; million, &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;$0.5&lt;/div&gt; million and &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;$1.0&lt;/div&gt; million, respectively.&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;</dsgx:ShareCapitalTextBlock>
  <dsgx:ShelfProspectusMaximumAmount contextRef="i_2018-06-06_SubsidiarySaleOfStockAxis-ShelfProspectusMember" decimals="-5" id="c59149786" unitRef="iso4217-usd">750000000</dsgx:ShelfProspectusMaximumAmount>
  <dsgx:ShelfProspectusMaximumAmount contextRef="i_2019-06-10_SubsidiarySaleOfStockAxis-ShelfProspectusMember" decimals="-5" id="c59149792" unitRef="iso4217-usd">505000000</dsgx:ShelfProspectusMaximumAmount>
  <dsgx:ShelfProspectusPeriod contextRef="d_2018-06-06_2018-06-06_SubsidiarySaleOfStockAxis-ShelfProspectusMember" id="c59149785">P2Y30D</dsgx:ShelfProspectusPeriod>
  <dsgx:StockIssuedDuringPeriodSharesOptionsAndShareUnitsExercised contextRef="d_2019-02-01_2020-01-31" decimals="-3" id="c59149803" unitRef="xbrli-shares">95000</dsgx:StockIssuedDuringPeriodSharesOptionsAndShareUnitsExercised>
  <dsgx:StockIssuedDuringPeriodSharesOptionsAndShareUnitsExercised contextRef="d_2018-02-01_2019-01-31" decimals="-3" id="c59149804" unitRef="xbrli-shares">46000</dsgx:StockIssuedDuringPeriodSharesOptionsAndShareUnitsExercised>
  <dsgx:StockIssuedDuringPeriodSharesOptionsAndShareUnitsExercised contextRef="d_2017-02-01_2018-01-31" decimals="-3" id="c59149805" unitRef="xbrli-shares">141000</dsgx:StockIssuedDuringPeriodSharesOptionsAndShareUnitsExercised>
  <srt:ScheduleOfCondensedCashFlowStatementTableTextBlock contextRef="d_2019-02-01_2020-01-31" id="c-10">&lt;div style="display: inline; font-family: times new roman; font-size: 10pt"&gt;&lt;table cellpadding="0" cellspacing="0" style="border-collapse: collapse; font: 10pt Times New Roman, Times, Serif; min-; min-width: 700px;"&gt; &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;div style="display: inline; font-weight: bold;"&gt;January 31,&lt;/div&gt;&lt;/div&gt;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; white-space: nowrap; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; text-align: right"&gt;&lt;div style="display: inline; font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;January 31,&lt;/div&gt;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td style="padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: right"&gt;2020&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;2019&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td style="width: 68%; text-align: left"&gt;Balance at beginning of year&lt;/td&gt; &lt;td style="width: 2%; font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 1%; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 12%; font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;378,178&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; width: 1%; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 2%"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 1%; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 12%; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;350,148&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; width: 1%; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td style="padding-left: 12pt"&gt;Acquisition of Aljex&lt;/td&gt; &lt;td style="font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;&amp;#x2013;&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;18,903&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td style="text-align: left; padding-left: 12pt"&gt;Acquisition of Velocity Mail&lt;/td&gt; &lt;td style="font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;&amp;#x2013;&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;8,448&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td style="padding-left: 12pt"&gt;Acquisition of PinPoint&lt;/td&gt; &lt;td style="font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;&amp;#x2013;&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;6,306&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td style="text-align: left; padding-left: 12pt"&gt;Acquisition of Visual Compliance&lt;/td&gt; &lt;td style="font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;118,785&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;&amp;#x2013;&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td style="padding-left: 12pt"&gt;Acquisition of CORE&lt;/td&gt; &lt;td style="font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;12,670&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;&amp;#x2013;&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td style="padding-left: 12pt"&gt;Acquisition of STEPcom&lt;/td&gt; &lt;td style="font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;10,019&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;&amp;#x2013;&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td style="padding-left: 12pt"&gt;Acquisition of BestTransport&lt;/td&gt; &lt;td style="font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;5,513&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;&amp;#x2013;&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td style="text-align: left; padding-bottom: 1pt; padding-left: 12pt"&gt;Adjustments on account of foreign exchange&lt;/td&gt; &lt;td style="font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;(1,475&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; font-weight: bold; text-align: left"&gt;)&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;(5,627&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left"&gt;)&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td style="text-align: left; padding-bottom: 1pt"&gt;Balance at end of year&lt;/td&gt; &lt;td style="font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;523,690&lt;/div&gt;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; white-space: nowrap; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;378,178&lt;/div&gt;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;/table&gt;&lt;/div&gt;</srt:ScheduleOfCondensedCashFlowStatementTableTextBlock>
  <us-gaap:AccountsPayableAndAccruedLiabilitiesDisclosureTextBlock contextRef="d_2019-02-01_2020-01-31" id="s1506269">&lt;div style="display: inline; font-family: times new roman; font-size: 10pt"&gt;&lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"&gt;&lt;div style="display: inline; font-weight: bold;"&gt;Note &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;11&lt;/div&gt; - Accrued Liabilities&lt;/div&gt;&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"&gt;&amp;nbsp;&lt;/div&gt; &lt;div&gt; &lt;table cellpadding="0" cellspacing="0" style="border-collapse: collapse; font: 10pt Times New Roman, Times, Serif; min-width: 700px;"&gt;  &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td style="text-align: right"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;div style="display: inline; font-weight: bold;"&gt;January 31,&lt;/div&gt;&lt;/div&gt;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; white-space: nowrap; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; text-align: right"&gt;&lt;div style="display: inline; font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;January 31,&lt;/div&gt;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td style="text-align: right; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: right"&gt;2020&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;2019&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td style="width: 68%; text-align: left"&gt;Accrued compensation and benefits&lt;/td&gt; &lt;td style="width: 2%; font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 1%; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 12%; font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;20,613&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; width: 1%; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 2%"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 1%; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 12%; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;16,771&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; width: 1%; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td style="text-align: left"&gt;Accrued professional fees&lt;/td&gt; &lt;td style="font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;1,010&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;1,137&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td style="text-align: left; padding-bottom: 1pt"&gt;Other accrued liabilities&lt;/td&gt; &lt;td style="font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;13,253&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;11,484&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td style="padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;34,876&lt;/div&gt;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; white-space: nowrap; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;29,392&lt;/div&gt;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt;  &lt;/table&gt; &lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"&gt;&amp;nbsp;&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"&gt;Other accrued liabilities include accrued expenses related to &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;third&lt;/div&gt; party resellers and royalties, suppliers, accrued restructuring charges and accrued contingent acquisition purchase consideration.&lt;/div&gt;&lt;/div&gt;</us-gaap:AccountsPayableAndAccruedLiabilitiesDisclosureTextBlock>
  <us-gaap:AccountsPayableCurrent contextRef="i_2020-01-31" decimals="-3" id="c59148083" unitRef="iso4217-usd">7667000</us-gaap:AccountsPayableCurrent>
  <us-gaap:AccountsPayableCurrent contextRef="i_2019-01-31" decimals="-3" id="c59148084" unitRef="iso4217-usd">5147000</us-gaap:AccountsPayableCurrent>
  <us-gaap:AccountsReceivableGrossCurrent contextRef="i_2020-01-31" decimals="-3" id="c59149573" unitRef="iso4217-usd">37121000</us-gaap:AccountsReceivableGrossCurrent>
  <us-gaap:AccountsReceivableGrossCurrent contextRef="i_2019-01-31" decimals="-3" id="c59149574" unitRef="iso4217-usd">33350000</us-gaap:AccountsReceivableGrossCurrent>
  <us-gaap:AccountsReceivableNetCurrent contextRef="i_2020-01-31" decimals="-3" id="c59149577" unitRef="iso4217-usd">35118000</us-gaap:AccountsReceivableNetCurrent>
  <us-gaap:AccountsReceivableNetCurrent contextRef="i_2019-01-31" decimals="-3" id="c59149578" unitRef="iso4217-usd">31493000</us-gaap:AccountsReceivableNetCurrent>
  <us-gaap:AccruedIncomeTaxesCurrent contextRef="i_2020-01-31" decimals="-3" id="c59148089" unitRef="iso4217-usd">1329000</us-gaap:AccruedIncomeTaxesCurrent>
  <us-gaap:AccruedIncomeTaxesCurrent contextRef="i_2019-01-31" decimals="-3" id="c59148090" unitRef="iso4217-usd">1592000</us-gaap:AccruedIncomeTaxesCurrent>
  <us-gaap:AccruedIncomeTaxesNoncurrent contextRef="i_2020-01-31" decimals="-3" id="c59148101" unitRef="iso4217-usd">6470000</us-gaap:AccruedIncomeTaxesNoncurrent>
  <us-gaap:AccruedIncomeTaxesNoncurrent contextRef="i_2019-01-31" decimals="-3" id="c59148102" unitRef="iso4217-usd">7634000</us-gaap:AccruedIncomeTaxesNoncurrent>
  <us-gaap:AccruedLiabilitiesCurrent contextRef="i_2020-01-31" decimals="-3" id="c59149687" unitRef="iso4217-usd">34876000</us-gaap:AccruedLiabilitiesCurrent>
  <us-gaap:AccruedLiabilitiesCurrent contextRef="i_2019-01-31" decimals="-3" id="c59149688" unitRef="iso4217-usd">29392000</us-gaap:AccruedLiabilitiesCurrent>
  <us-gaap:AccruedProfessionalFeesCurrent contextRef="i_2020-01-31" decimals="-3" id="c59149683" unitRef="iso4217-usd">1010000</us-gaap:AccruedProfessionalFeesCurrent>
  <us-gaap:AccruedProfessionalFeesCurrent contextRef="i_2019-01-31" decimals="-3" id="c59149684" unitRef="iso4217-usd">1137000</us-gaap:AccruedProfessionalFeesCurrent>
  <us-gaap:AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment contextRef="i_2020-01-31_PropertyPlantAndEquipmentByTypeAxis-ComputerEquipmentMember" decimals="-3" id="c59149608" unitRef="iso4217-usd">23730000</us-gaap:AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment>
  <us-gaap:AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment contextRef="i_2019-01-31_PropertyPlantAndEquipmentByTypeAxis-ComputerEquipmentMember" decimals="-3" id="c59149609" unitRef="iso4217-usd">23070000</us-gaap:AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment>
  <us-gaap:AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment contextRef="i_2020-01-31_PropertyPlantAndEquipmentByTypeAxis-FurnitureAndFixturesMember" decimals="-3" id="c59149610" unitRef="iso4217-usd">816000</us-gaap:AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment>
  <us-gaap:AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment contextRef="i_2019-01-31_PropertyPlantAndEquipmentByTypeAxis-FurnitureAndFixturesMember" decimals="-3" id="c59149611" unitRef="iso4217-usd">634000</us-gaap:AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment>
  <us-gaap:AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment contextRef="i_2020-01-31_PropertyPlantAndEquipmentByTypeAxis-LeaseholdImprovementsMember" decimals="-3" id="c59149612" unitRef="iso4217-usd">290000</us-gaap:AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment>
  <us-gaap:AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment contextRef="i_2019-01-31_PropertyPlantAndEquipmentByTypeAxis-LeaseholdImprovementsMember" decimals="-3" id="c59149613" unitRef="iso4217-usd">260000</us-gaap:AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment>
  <us-gaap:AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment contextRef="i_2020-01-31_PropertyPlantAndEquipmentByTypeAxis-EquipmentInstalledWithCustomersMember" decimals="-3" id="c59149614" unitRef="iso4217-usd">203000</us-gaap:AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment>
  <us-gaap:AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment contextRef="i_2019-01-31_PropertyPlantAndEquipmentByTypeAxis-EquipmentInstalledWithCustomersMember" id="c59149615" unitRef="iso4217-usd" xs:nil="true"/>
  <us-gaap:AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment contextRef="i_2020-01-31" decimals="-3" id="c59149616" unitRef="iso4217-usd">25039000</us-gaap:AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment>
  <us-gaap:AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment contextRef="i_2019-01-31" decimals="-3" id="c59149617" unitRef="iso4217-usd">23964000</us-gaap:AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment>
  <us-gaap:AccumulatedOtherComprehensiveIncomeLossNetOfTax contextRef="i_2020-01-31" decimals="-3" id="c59148119" unitRef="iso4217-usd">-25944000</us-gaap:AccumulatedOtherComprehensiveIncomeLossNetOfTax>
  <us-gaap:AccumulatedOtherComprehensiveIncomeLossNetOfTax contextRef="i_2019-01-31" decimals="-3" id="c59148120" unitRef="iso4217-usd">-25201000</us-gaap:AccumulatedOtherComprehensiveIncomeLossNetOfTax>
  <us-gaap:AdditionalPaidInCapitalCommonStock contextRef="i_2020-01-31" decimals="-3" id="c59148117" unitRef="iso4217-usd">459269000</us-gaap:AdditionalPaidInCapitalCommonStock>
  <us-gaap:AdditionalPaidInCapitalCommonStock contextRef="i_2019-01-31" decimals="-3" id="c59148118" unitRef="iso4217-usd">454722000</us-gaap:AdditionalPaidInCapitalCommonStock>
  <us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationAndExerciseOfStockOptions contextRef="d_2019-02-01_2020-01-31_StatementEquityComponentsAxis-AdditionalPaidInCapitalMember" decimals="-3" id="c59148234" unitRef="iso4217-usd">-362000</us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationAndExerciseOfStockOptions>
  <us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationAndExerciseOfStockOptions contextRef="d_2018-02-01_2019-01-31_StatementEquityComponentsAxis-AdditionalPaidInCapitalMember" decimals="-3" id="c59148235" unitRef="iso4217-usd">-139000</us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationAndExerciseOfStockOptions>
  <us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationAndExerciseOfStockOptions contextRef="d_2017-02-01_2018-01-31_StatementEquityComponentsAxis-AdditionalPaidInCapitalMember" decimals="-3" id="c59148236" unitRef="iso4217-usd">-290000</us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationAndExerciseOfStockOptions>
  <us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue contextRef="d_2019-02-01_2020-01-31_StatementEquityComponentsAxis-AdditionalPaidInCapitalMember" decimals="-3" id="c59148231" unitRef="iso4217-usd">4909000</us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue>
  <us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue contextRef="d_2018-02-01_2019-01-31_StatementEquityComponentsAxis-AdditionalPaidInCapitalMember" decimals="-3" id="c59148232" unitRef="iso4217-usd">3710000</us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue>
  <us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue contextRef="d_2017-02-01_2018-01-31_StatementEquityComponentsAxis-AdditionalPaidInCapitalMember" decimals="-3" id="c59148233" unitRef="iso4217-usd">2807000</us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue>
  <us-gaap:AllocatedShareBasedCompensationExpense contextRef="d_2019-02-01_2020-01-31_IncomeStatementLocationAxis-CostOfSalesMember" decimals="-3" id="c59149910" unitRef="iso4217-usd">220000</us-gaap:AllocatedShareBasedCompensationExpense>
  <us-gaap:AllocatedShareBasedCompensationExpense contextRef="d_2018-02-01_2019-01-31_IncomeStatementLocationAxis-CostOfSalesMember" decimals="-3" id="c59149911" unitRef="iso4217-usd">160000</us-gaap:AllocatedShareBasedCompensationExpense>
  <us-gaap:AllocatedShareBasedCompensationExpense contextRef="d_2017-02-01_2018-01-31_IncomeStatementLocationAxis-CostOfSalesMember" decimals="-3" id="c59149915" unitRef="iso4217-usd">90000</us-gaap:AllocatedShareBasedCompensationExpense>
  <us-gaap:AllocatedShareBasedCompensationExpense contextRef="d_2019-02-01_2020-01-31_IncomeStatementLocationAxis-SellingAndMarketingExpenseMember" decimals="-3" id="c59149912" unitRef="iso4217-usd">706000</us-gaap:AllocatedShareBasedCompensationExpense>
  <us-gaap:AllocatedShareBasedCompensationExpense contextRef="d_2018-02-01_2019-01-31_IncomeStatementLocationAxis-SellingAndMarketingExpenseMember" decimals="-3" id="c59149913" unitRef="iso4217-usd">436000</us-gaap:AllocatedShareBasedCompensationExpense>
  <us-gaap:AllocatedShareBasedCompensationExpense contextRef="d_2017-02-01_2018-01-31_IncomeStatementLocationAxis-SellingAndMarketingExpenseMember" decimals="-3" id="c59149914" unitRef="iso4217-usd">246000</us-gaap:AllocatedShareBasedCompensationExpense>
  <us-gaap:AllocatedShareBasedCompensationExpense contextRef="d_2019-02-01_2020-01-31_IncomeStatementLocationAxis-ResearchAndDevelopmentExpenseMember" decimals="-3" id="c59149916" unitRef="iso4217-usd">281000</us-gaap:AllocatedShareBasedCompensationExpense>
  <us-gaap:AllocatedShareBasedCompensationExpense contextRef="d_2018-02-01_2019-01-31_IncomeStatementLocationAxis-ResearchAndDevelopmentExpenseMember" decimals="-3" id="c59149921" unitRef="iso4217-usd">184000</us-gaap:AllocatedShareBasedCompensationExpense>
  <us-gaap:AllocatedShareBasedCompensationExpense contextRef="d_2017-02-01_2018-01-31_IncomeStatementLocationAxis-ResearchAndDevelopmentExpenseMember" decimals="-3" id="c59149922" unitRef="iso4217-usd">85000</us-gaap:AllocatedShareBasedCompensationExpense>
  <us-gaap:AllocatedShareBasedCompensationExpense contextRef="d_2019-02-01_2020-01-31_IncomeStatementLocationAxis-GeneralAndAdministrativeExpenseMember" decimals="-3" id="c59149917" unitRef="iso4217-usd">3702000</us-gaap:AllocatedShareBasedCompensationExpense>
  <us-gaap:AllocatedShareBasedCompensationExpense contextRef="d_2018-02-01_2019-01-31_IncomeStatementLocationAxis-GeneralAndAdministrativeExpenseMember" decimals="-3" id="c59149920" unitRef="iso4217-usd">2930000</us-gaap:AllocatedShareBasedCompensationExpense>
  <us-gaap:AllocatedShareBasedCompensationExpense contextRef="d_2017-02-01_2018-01-31_IncomeStatementLocationAxis-GeneralAndAdministrativeExpenseMember" decimals="-3" id="c59149923" unitRef="iso4217-usd">2386000</us-gaap:AllocatedShareBasedCompensationExpense>
  <us-gaap:AllocatedShareBasedCompensationExpense contextRef="d_2019-02-01_2020-01-31" decimals="-3" id="c59149918" unitRef="iso4217-usd">4909000</us-gaap:AllocatedShareBasedCompensationExpense>
  <us-gaap:AllocatedShareBasedCompensationExpense contextRef="d_2018-02-01_2019-01-31" decimals="-3" id="c59149919" unitRef="iso4217-usd">3710000</us-gaap:AllocatedShareBasedCompensationExpense>
  <us-gaap:AllocatedShareBasedCompensationExpense contextRef="d_2017-02-01_2018-01-31" decimals="-3" id="c59149924" unitRef="iso4217-usd">2807000</us-gaap:AllocatedShareBasedCompensationExpense>
  <us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent contextRef="i_2020-01-31" decimals="-3" id="c59149575" unitRef="iso4217-usd">2003000</us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent>
  <us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent contextRef="i_2019-01-31" decimals="-3" id="c59149576" unitRef="iso4217-usd">1857000</us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent>
  <us-gaap:AmortizationOfIntangibleAssets contextRef="d_2019-02-01_2020-01-31" decimals="-3" id="c59148277" unitRef="iso4217-usd">55485000</us-gaap:AmortizationOfIntangibleAssets>
  <us-gaap:AmortizationOfIntangibleAssets contextRef="d_2018-02-01_2019-01-31" decimals="-3" id="c59148278" unitRef="iso4217-usd">40179000</us-gaap:AmortizationOfIntangibleAssets>
  <us-gaap:AmortizationOfIntangibleAssets contextRef="d_2017-02-01_2018-01-31" decimals="-3" id="c59148279" unitRef="iso4217-usd">33477000</us-gaap:AmortizationOfIntangibleAssets>
  <us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount contextRef="d_2019-02-01_2020-01-31_AwardTypeAxis-EmployeeStockOptionMember" decimals="INF" id="c59149818" unitRef="xbrli-shares">350464</us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount>
  <us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount contextRef="d_2018-02-01_2019-01-31_AwardTypeAxis-EmployeeStockOptionMember" decimals="INF" id="c59149819" unitRef="xbrli-shares">271869</us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount>
  <us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount contextRef="d_2017-02-01_2018-01-31_AwardTypeAxis-EmployeeStockOptionMember" decimals="INF" id="c59149820" unitRef="xbrli-shares">270525</us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount>
  <us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount contextRef="d_2019-02-01_2020-01-31_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis-StockOptionsTreasuryStockMethodMember" decimals="INF" id="c59149823" unitRef="xbrli-shares">5909</us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount>
  <us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount contextRef="d_2018-02-01_2019-01-31_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis-StockOptionsTreasuryStockMethodMember" decimals="INF" id="c59149824" unitRef="xbrli-shares">0</us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount>
  <us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount contextRef="d_2017-02-01_2018-01-31_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis-StockOptionsTreasuryStockMethodMember" decimals="INF" id="c59149825" unitRef="xbrli-shares">2475</us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount>
  <us-gaap:Assets contextRef="i_2020-01-31" decimals="-3" id="c59148079" unitRef="iso4217-usd">942586000</us-gaap:Assets>
  <us-gaap:Assets contextRef="i_2019-01-31" decimals="-3" id="c59148080" unitRef="iso4217-usd">653334000</us-gaap:Assets>
  <us-gaap:AssetsCurrent contextRef="i_2020-01-31" decimals="-3" id="c59148065" unitRef="iso4217-usd">100210000</us-gaap:AssetsCurrent>
  <us-gaap:AssetsCurrent contextRef="i_2019-01-31" decimals="-3" id="c59148066" unitRef="iso4217-usd">72244000</us-gaap:AssetsCurrent>
  <us-gaap:BasisOfAccountingPolicyPolicyTextBlock contextRef="d_2019-02-01_2020-01-31" id="c59148349">&lt;div style="display: inline; font-family: times new roman; font-size: 10pt"&gt;&lt;div style="display: inline; font-family: times new roman; font-size: 10pt"&gt;&lt;div style="display: inline; font-family: times new roman; font-size: 10pt"&gt;&lt;div style="display: inline; font-family: times new roman; font-size: 10pt"&gt;&lt;div style="display: inline; font-family: times new roman; font-size: 10pt"&gt;&lt;div style="display: inline; font-family: times new roman; font-size: 10pt"&gt;&lt;div style="display: inline; font-family: times new roman; font-size: 10pt"&gt;&lt;div style="display: inline; font-family: times new roman; font-size: 10pt"&gt;&lt;div style="display: inline; font-family: times new roman; font-size: 10pt"&gt;&lt;div style="display: inline; font-family: times new roman; font-size: 10pt"&gt;&lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;The accompanying consolidated financial statements are presented in United States (&amp;#x201c;US&amp;#x201d;) dollars and are prepared in accordance with generally accepted accounting principles in the US (&amp;#x201c;GAAP&amp;#x201d;) and the rules and regulations of the Canadian Securities Administrators and the US Securities and Exchange Commission (&amp;#x201c;SEC&amp;#x201d;) for the preparation of consolidated financial statements.&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&amp;nbsp;&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;Our fiscal year commences on &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt; February 1&lt;/div&gt;&lt;div style="display: inline; bottom:.33em; font-size: 82%; position: relative; vertical-align: baseline;"&gt;st&lt;/div&gt; of each year and ends on &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt; January 31&lt;/div&gt;&lt;div style="display: inline; bottom:.33em; font-size: 82%; position: relative; vertical-align: baseline;"&gt;st&lt;/div&gt; of the following year. Our fiscal year, which ends on &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt; January 31, 2020, &lt;/div&gt;is referred to as the &amp;#x201c;current fiscal year&amp;#x201d;, &amp;#x201c;fiscal &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;2020&amp;#x201d;,&lt;/div&gt; &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;&amp;#x201c;2020&amp;#x201d;&lt;/div&gt; or using similar words. Our previous fiscal year, which ended on &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt; January 31, 2019, &lt;/div&gt;is referred to as the &amp;#x201c;previous fiscal year&amp;#x201d;, &amp;#x201c;fiscal &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;2019&amp;#x201d;,&lt;/div&gt; &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;&amp;#x201c;2019&amp;#x201d;&lt;/div&gt; or using similar words. Other fiscal years are referenced by the applicable year during which the fiscal year ends. For example, &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;&amp;#x201c;2021&amp;#x201d;&lt;/div&gt; refers to the annual period ending &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt; January 31, 2021 &lt;/div&gt;and the &amp;#x201c;fourth quarter of &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;2021&amp;#x201d;&lt;/div&gt; refers to the quarter ending &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt; January 31, 2021.&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;</us-gaap:BasisOfAccountingPolicyPolicyTextBlock>
  <us-gaap:BusinessAcquisitionEquityInterestsIssuedOrIssuableNumberOfSharesIssued contextRef="d_2019-02-12_2019-02-12_BusinessAcquisitionAxis-VisualComplianceMember" decimals="-5" id="c59148583" unitRef="xbrli-shares">300000</us-gaap:BusinessAcquisitionEquityInterestsIssuedOrIssuableNumberOfSharesIssued>
  <us-gaap:BusinessAcquisitionEquityInterestsIssuedOrIssuableNumberOfSharesIssued contextRef="d_2018-08-21_2018-08-21_BusinessAcquisitionAxis-PinPointMember" decimals="-5" id="c59148629" unitRef="xbrli-shares">100000</us-gaap:BusinessAcquisitionEquityInterestsIssuedOrIssuableNumberOfSharesIssued>
  <us-gaap:BusinessAcquisitionEquityInterestsIssuedOrIssuableNumberOfSharesIssued contextRef="d_2019-02-01_2020-01-31" decimals="-3" id="c59149809" unitRef="xbrli-shares">296000</us-gaap:BusinessAcquisitionEquityInterestsIssuedOrIssuableNumberOfSharesIssued>
  <us-gaap:BusinessAcquisitionEquityInterestsIssuedOrIssuableNumberOfSharesIssued contextRef="d_2018-02-01_2019-01-31" decimals="-3" id="c59149810" unitRef="xbrli-shares">46000</us-gaap:BusinessAcquisitionEquityInterestsIssuedOrIssuableNumberOfSharesIssued>
  <us-gaap:BusinessAcquisitionEquityInterestsIssuedOrIssuableNumberOfSharesIssued contextRef="d_2017-02-01_2018-01-31" decimals="-3" id="c59149811" unitRef="xbrli-shares">757000</us-gaap:BusinessAcquisitionEquityInterestsIssuedOrIssuableNumberOfSharesIssued>
  <us-gaap:BusinessAcquisitionProFormaEarningsPerShareBasic contextRef="d_2019-02-01_2020-01-31" decimals="INF" id="c59149531" unitRef="iso4217-usd-per-xbrli-shares">0.46</us-gaap:BusinessAcquisitionProFormaEarningsPerShareBasic>
  <us-gaap:BusinessAcquisitionProFormaEarningsPerShareBasic contextRef="d_2018-02-01_2019-01-31" decimals="INF" id="c59149532" unitRef="iso4217-usd-per-xbrli-shares">0.41</us-gaap:BusinessAcquisitionProFormaEarningsPerShareBasic>
  <us-gaap:BusinessAcquisitionProFormaEarningsPerShareBasic contextRef="d_2017-02-01_2018-01-31" decimals="INF" id="c59149533" unitRef="iso4217-usd-per-xbrli-shares">0.33</us-gaap:BusinessAcquisitionProFormaEarningsPerShareBasic>
  <us-gaap:BusinessAcquisitionProFormaEarningsPerShareDiluted contextRef="d_2019-02-01_2020-01-31" decimals="INF" id="c59149534" unitRef="iso4217-usd-per-xbrli-shares">0.45</us-gaap:BusinessAcquisitionProFormaEarningsPerShareDiluted>
  <us-gaap:BusinessAcquisitionProFormaEarningsPerShareDiluted contextRef="d_2018-02-01_2019-01-31" decimals="INF" id="c59149535" unitRef="iso4217-usd-per-xbrli-shares">0.41</us-gaap:BusinessAcquisitionProFormaEarningsPerShareDiluted>
  <us-gaap:BusinessAcquisitionProFormaEarningsPerShareDiluted contextRef="d_2017-02-01_2018-01-31" decimals="INF" id="c59149536" unitRef="iso4217-usd-per-xbrli-shares">0.33</us-gaap:BusinessAcquisitionProFormaEarningsPerShareDiluted>
  <us-gaap:BusinessAcquisitionProFormaInformationTextBlock contextRef="d_2019-02-01_2020-01-31" id="c-4">&lt;div style="display: inline; font-family: times new roman; font-size: 10pt"&gt;&lt;table cellpadding="0" cellspacing="0" style="border-collapse: collapse; font: 10pt Times New Roman, Times, Serif; min-; min-width: 700px;"&gt; &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td style="font-style: italic"&gt;Year Ended&lt;/td&gt; &lt;td style="font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;div style="display: inline; font-weight: bold;"&gt;January 31,&lt;/div&gt;&lt;/div&gt;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; white-space: nowrap; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; text-align: right"&gt;&lt;div style="display: inline; font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;January 31,&lt;/div&gt;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; text-align: right"&gt;&lt;div style="display: inline; font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;January 31,&lt;/div&gt;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td style="text-align: right; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: right"&gt;2020&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;2019&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;2018&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td style="width: 55%; font-weight: normal"&gt;Revenues&lt;/td&gt; &lt;td style="width: 2%; font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 1%; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 11%; font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;333,323&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; width: 1%; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 2%"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 1%; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 11%; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;322,649&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; width: 1%; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 2%"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 1%; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 11%; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;313,759&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; width: 1%; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td style="font-weight: normal; text-align: left"&gt;Net income&lt;/td&gt; &lt;td style="font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;37,540&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;31,609&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;25,312&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td style="font-weight: normal"&gt;Earnings per share&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td style="padding-left: 12pt"&gt;Basic&lt;/td&gt; &lt;td style="font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;0.46&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;0.41&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;0.33&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td style="padding-left: 12pt"&gt;Diluted&lt;/td&gt; &lt;td style="font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;0.45&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;0.41&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;0.33&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;/table&gt;&lt;/div&gt;</us-gaap:BusinessAcquisitionProFormaInformationTextBlock>
  <us-gaap:BusinessAcquisitionsProFormaNetIncomeLoss contextRef="d_2019-02-01_2020-01-31" decimals="-3" id="c59149527" unitRef="iso4217-usd">37540000</us-gaap:BusinessAcquisitionsProFormaNetIncomeLoss>
  <us-gaap:BusinessAcquisitionsProFormaNetIncomeLoss contextRef="d_2018-02-01_2019-01-31" decimals="-3" id="c59149528" unitRef="iso4217-usd">31609000</us-gaap:BusinessAcquisitionsProFormaNetIncomeLoss>
  <us-gaap:BusinessAcquisitionsProFormaNetIncomeLoss contextRef="d_2017-02-01_2018-01-31" decimals="-3" id="c59149529" unitRef="iso4217-usd">25312000</us-gaap:BusinessAcquisitionsProFormaNetIncomeLoss>
  <us-gaap:BusinessAcquisitionsProFormaRevenue contextRef="d_2019-02-01_2020-01-31" decimals="-3" id="c59149524" unitRef="iso4217-usd">333323000</us-gaap:BusinessAcquisitionsProFormaRevenue>
  <us-gaap:BusinessAcquisitionsProFormaRevenue contextRef="d_2018-02-01_2019-01-31" decimals="-3" id="c59149525" unitRef="iso4217-usd">322649000</us-gaap:BusinessAcquisitionsProFormaRevenue>
  <us-gaap:BusinessAcquisitionsProFormaRevenue contextRef="d_2017-02-01_2018-01-31" decimals="-3" id="c59149526" unitRef="iso4217-usd">313759000</us-gaap:BusinessAcquisitionsProFormaRevenue>
  <us-gaap:BusinessCombinationAcquiredReceivablesEstimatedUncollectible contextRef="i_2019-02-12_BusinessAcquisitionAxis-VisualComplianceMember" decimals="-5" id="c59148587" unitRef="iso4217-usd">1200000</us-gaap:BusinessCombinationAcquiredReceivablesEstimatedUncollectible>
  <us-gaap:BusinessCombinationAcquiredReceivablesEstimatedUncollectible contextRef="i_2019-06-27_BusinessAcquisitionAxis-StepcomMember" decimals="-5" id="c59148601" unitRef="iso4217-usd">100000</us-gaap:BusinessCombinationAcquiredReceivablesEstimatedUncollectible>
  <us-gaap:BusinessCombinationAcquiredReceivablesFairValue contextRef="i_2019-02-12_BusinessAcquisitionAxis-VisualComplianceMember" decimals="-5" id="c59148585" unitRef="iso4217-usd">5200000</us-gaap:BusinessCombinationAcquiredReceivablesFairValue>
  <us-gaap:BusinessCombinationAcquiredReceivablesFairValue contextRef="i_2019-05-10_BusinessAcquisitionAxis-CoreTransportTechnologiesNzLimitedMember" decimals="-5" id="c59148595" unitRef="iso4217-usd">400000</us-gaap:BusinessCombinationAcquiredReceivablesFairValue>
  <us-gaap:BusinessCombinationAcquiredReceivablesFairValue contextRef="i_2019-06-27_BusinessAcquisitionAxis-StepcomMember" decimals="-5" id="c59148599" unitRef="iso4217-usd">800000</us-gaap:BusinessCombinationAcquiredReceivablesFairValue>
  <us-gaap:BusinessCombinationAcquiredReceivablesFairValue contextRef="i_2019-08-20_BusinessAcquisitionAxis-BesttransportMember" decimals="-5" id="c59148604" unitRef="iso4217-usd">600000</us-gaap:BusinessCombinationAcquiredReceivablesFairValue>
  <us-gaap:BusinessCombinationAcquiredReceivablesFairValue contextRef="i_2018-02-02_BusinessAcquisitionAxis-AljexSoftwareIncMember" decimals="-5" id="c59148617" unitRef="iso4217-usd">200000</us-gaap:BusinessCombinationAcquiredReceivablesFairValue>
  <us-gaap:BusinessCombinationAcquiredReceivablesFairValue contextRef="i_2018-06-22_BusinessAcquisitionAxis-VelocityMailMember" decimals="-5" id="c59148623" unitRef="iso4217-usd">1000000</us-gaap:BusinessCombinationAcquiredReceivablesFairValue>
  <us-gaap:BusinessCombinationAcquiredReceivablesFairValue contextRef="i_2018-08-21_BusinessAcquisitionAxis-PinPointMember" decimals="-5" id="c59148635" unitRef="iso4217-usd">500000</us-gaap:BusinessCombinationAcquiredReceivablesFairValue>
  <us-gaap:BusinessCombinationAcquiredReceivablesFairValue contextRef="i_2017-08-14_BusinessAcquisitionAxis-MacroPointLLCMember" decimals="-5" id="c59148646" unitRef="iso4217-usd">2000000</us-gaap:BusinessCombinationAcquiredReceivablesFairValue>
  <us-gaap:BusinessCombinationAcquiredReceivablesFairValue contextRef="i_2017-06-01_BusinessAcquisitionAxis-PCSTracIncMember" decimals="-5" id="c59148652" unitRef="iso4217-usd">400000</us-gaap:BusinessCombinationAcquiredReceivablesFairValue>
  <us-gaap:BusinessCombinationAcquiredReceivablesFairValue contextRef="i_2017-05-18_BusinessAcquisitionAxis-ShipRushMember" decimals="-5" id="c59148661" unitRef="iso4217-usd">400000</us-gaap:BusinessCombinationAcquiredReceivablesFairValue>
  <us-gaap:BusinessCombinationAcquiredReceivablesGrossContractualAmount contextRef="i_2019-02-12_BusinessAcquisitionAxis-VisualComplianceMember" decimals="-5" id="c59148584" unitRef="iso4217-usd">6400000</us-gaap:BusinessCombinationAcquiredReceivablesGrossContractualAmount>
  <us-gaap:BusinessCombinationAcquiredReceivablesGrossContractualAmount contextRef="i_2019-05-10_BusinessAcquisitionAxis-CoreTransportTechnologiesNzLimitedMember" decimals="-5" id="c59148594" unitRef="iso4217-usd">400000</us-gaap:BusinessCombinationAcquiredReceivablesGrossContractualAmount>
  <us-gaap:BusinessCombinationAcquiredReceivablesGrossContractualAmount contextRef="i_2019-06-27_BusinessAcquisitionAxis-StepcomMember" decimals="-5" id="c59148598" unitRef="iso4217-usd">900000</us-gaap:BusinessCombinationAcquiredReceivablesGrossContractualAmount>
  <us-gaap:BusinessCombinationAcquiredReceivablesGrossContractualAmount contextRef="i_2019-08-20_BusinessAcquisitionAxis-BesttransportMember" decimals="-5" id="c59148603" unitRef="iso4217-usd">600000</us-gaap:BusinessCombinationAcquiredReceivablesGrossContractualAmount>
  <us-gaap:BusinessCombinationAcquiredReceivablesGrossContractualAmount contextRef="i_2018-02-02_BusinessAcquisitionAxis-AljexSoftwareIncMember" decimals="-5" id="c59148616" unitRef="iso4217-usd">200000</us-gaap:BusinessCombinationAcquiredReceivablesGrossContractualAmount>
  <us-gaap:BusinessCombinationAcquiredReceivablesGrossContractualAmount contextRef="i_2018-06-22_BusinessAcquisitionAxis-VelocityMailMember" decimals="-5" id="c59148622" unitRef="iso4217-usd">1000000</us-gaap:BusinessCombinationAcquiredReceivablesGrossContractualAmount>
  <us-gaap:BusinessCombinationAcquiredReceivablesGrossContractualAmount contextRef="i_2018-08-21_BusinessAcquisitionAxis-PinPointMember" decimals="-5" id="c59148634" unitRef="iso4217-usd">500000</us-gaap:BusinessCombinationAcquiredReceivablesGrossContractualAmount>
  <us-gaap:BusinessCombinationAcquiredReceivablesGrossContractualAmount contextRef="i_2017-08-14_BusinessAcquisitionAxis-MacroPointLLCMember" decimals="-5" id="c59148645" unitRef="iso4217-usd">2000000</us-gaap:BusinessCombinationAcquiredReceivablesGrossContractualAmount>
  <us-gaap:BusinessCombinationAcquiredReceivablesGrossContractualAmount contextRef="i_2017-06-01_BusinessAcquisitionAxis-PCSTracIncMember" decimals="-5" id="c59148651" unitRef="iso4217-usd">400000</us-gaap:BusinessCombinationAcquiredReceivablesGrossContractualAmount>
  <us-gaap:BusinessCombinationAcquiredReceivablesGrossContractualAmount contextRef="i_2017-05-18_BusinessAcquisitionAxis-ShipRushMember" decimals="-5" id="c59148660" unitRef="iso4217-usd">400000</us-gaap:BusinessCombinationAcquiredReceivablesGrossContractualAmount>
  <us-gaap:BusinessCombinationAcquisitionRelatedCosts contextRef="d_2019-02-01_2020-01-31_BusinessAcquisitionAxis-The2020AcquisitionsMember" decimals="-5" id="c59148607" unitRef="iso4217-usd">2200000</us-gaap:BusinessCombinationAcquisitionRelatedCosts>
  <us-gaap:BusinessCombinationAcquisitionRelatedCosts contextRef="d_2019-02-01_2020-02-01" decimals="-3" id="c59150349" unitRef="iso4217-usd">3797000</us-gaap:BusinessCombinationAcquisitionRelatedCosts>
  <us-gaap:BusinessCombinationAcquisitionRelatedCosts contextRef="d_2018-02-01_2019-01-31" decimals="-3" id="c59150350" unitRef="iso4217-usd">3778000</us-gaap:BusinessCombinationAcquisitionRelatedCosts>
  <us-gaap:BusinessCombinationAcquisitionRelatedCosts contextRef="d_2017-02-01_2018-01-31" decimals="-3" id="c59150351" unitRef="iso4217-usd">3471000</us-gaap:BusinessCombinationAcquisitionRelatedCosts>
  <us-gaap:BusinessCombinationConsiderationTransferred1 contextRef="d_2018-08-21_2018-08-21_BusinessAcquisitionAxis-PinPointMember" decimals="-5" id="c59148627" unitRef="iso4217-usd">11000000</us-gaap:BusinessCombinationConsiderationTransferred1>
  <us-gaap:BusinessCombinationConsiderationTransferred1 contextRef="d_2018-08-21_2018-08-21_BusinessAcquisitionAxis-PinPointMember" decimals="-5" id="c59148628" unitRef="iso4217-cad">14400000</us-gaap:BusinessCombinationConsiderationTransferred1>
  <us-gaap:BusinessCombinationConsiderationTransferred1 contextRef="d_2017-08-14_2017-08-14_BusinessAcquisitionAxis-MacroPointLLCMember" decimals="-5" id="c59148642" unitRef="iso4217-usd">106200000</us-gaap:BusinessCombinationConsiderationTransferred1>
  <us-gaap:BusinessCombinationConsiderationTransferred1 contextRef="d_2019-02-01_2020-01-31_BusinessAcquisitionAxis-VisualComplianceMember" decimals="-3" id="c59148733" unitRef="iso4217-usd">250055000</us-gaap:BusinessCombinationConsiderationTransferred1>
  <us-gaap:BusinessCombinationConsiderationTransferred1 contextRef="d_2019-02-01_2020-01-31_BusinessAcquisitionAxis-CoreTransportTechnologiesNzLimitedMember" decimals="-3" id="c59148734" unitRef="iso4217-usd">23345000</us-gaap:BusinessCombinationConsiderationTransferred1>
  <us-gaap:BusinessCombinationConsiderationTransferred1 contextRef="d_2019-02-01_2020-01-31_BusinessAcquisitionAxis-StepcomMember" decimals="-3" id="c59148735" unitRef="iso4217-usd">18889000</us-gaap:BusinessCombinationConsiderationTransferred1>
  <us-gaap:BusinessCombinationConsiderationTransferred1 contextRef="d_2019-02-01_2020-01-31_BusinessAcquisitionAxis-BesttransportMember" decimals="-3" id="c59148736" unitRef="iso4217-usd">11718000</us-gaap:BusinessCombinationConsiderationTransferred1>
  <us-gaap:BusinessCombinationConsiderationTransferred1 contextRef="d_2019-02-01_2020-01-31_BusinessAcquisitionAxis-The2020AcquisitionsMember" decimals="-3" id="c59148737" unitRef="iso4217-usd">304007000</us-gaap:BusinessCombinationConsiderationTransferred1>
  <us-gaap:BusinessCombinationConsiderationTransferred1 contextRef="d_2018-02-01_2019-01-31_BusinessAcquisitionAxis-AljexSoftwareIncMember" decimals="-3" id="c59149014" unitRef="iso4217-usd">32230000</us-gaap:BusinessCombinationConsiderationTransferred1>
  <us-gaap:BusinessCombinationConsiderationTransferred1 contextRef="d_2018-02-01_2019-01-31_BusinessAcquisitionAxis-VelocityMailMember" decimals="-3" id="c59149015" unitRef="iso4217-usd">26005000</us-gaap:BusinessCombinationConsiderationTransferred1>
  <us-gaap:BusinessCombinationConsiderationTransferred1 contextRef="d_2018-02-01_2019-01-31_BusinessAcquisitionAxis-PinPointMember" decimals="-3" id="c59149016" unitRef="iso4217-usd">11729000</us-gaap:BusinessCombinationConsiderationTransferred1>
  <us-gaap:BusinessCombinationConsiderationTransferred1 contextRef="d_2018-02-01_2019-01-31_BusinessAcquisitionAxis-The2019AcquisitionsMember" decimals="-3" id="c59149017" unitRef="iso4217-usd">69964000</us-gaap:BusinessCombinationConsiderationTransferred1>
  <us-gaap:BusinessCombinationConsiderationTransferred1 contextRef="d_2017-02-01_2018-01-31_BusinessAcquisitionAxis-ShipRushMember" decimals="-3" id="c59149255" unitRef="iso4217-usd">15519000</us-gaap:BusinessCombinationConsiderationTransferred1>
  <us-gaap:BusinessCombinationConsiderationTransferred1 contextRef="d_2017-02-01_2018-01-31_BusinessAcquisitionAxis-PCSTracIncMember" decimals="-3" id="c59149256" unitRef="iso4217-usd">11532000</us-gaap:BusinessCombinationConsiderationTransferred1>
  <us-gaap:BusinessCombinationConsiderationTransferred1 contextRef="d_2017-02-01_2018-01-31_BusinessAcquisitionAxis-MacroPointLLCMember" decimals="-3" id="c59149257" unitRef="iso4217-usd">106340000</us-gaap:BusinessCombinationConsiderationTransferred1>
  <us-gaap:BusinessCombinationConsiderationTransferred1 contextRef="d_2017-02-01_2018-01-31_BusinessAcquisitionAxis-The2018AcquisitionsMember" decimals="-3" id="c59149258" unitRef="iso4217-usd">133391000</us-gaap:BusinessCombinationConsiderationTransferred1>
  <us-gaap:BusinessCombinationConsiderationTransferredEquityInterestsIssuedAndIssuable contextRef="d_2017-08-14_2017-08-14_BusinessAcquisitionAxis-MacroPointLLCMember" decimals="-5" id="c59148643" unitRef="iso4217-usd">20000000</us-gaap:BusinessCombinationConsiderationTransferredEquityInterestsIssuedAndIssuable>
  <us-gaap:BusinessCombinationConsiderationTransferredEquityInterestsIssuedAndIssuable contextRef="d_2019-02-01_2020-01-31_BusinessAcquisitionAxis-VisualComplianceMember" decimals="-3" id="c59148694" unitRef="iso4217-usd">9045000</us-gaap:BusinessCombinationConsiderationTransferredEquityInterestsIssuedAndIssuable>
  <us-gaap:BusinessCombinationConsiderationTransferredEquityInterestsIssuedAndIssuable contextRef="d_2019-02-01_2020-01-31_BusinessAcquisitionAxis-CoreTransportTechnologiesNzLimitedMember" id="c59148695" unitRef="iso4217-usd" xs:nil="true"/>
  <us-gaap:BusinessCombinationConsiderationTransferredEquityInterestsIssuedAndIssuable contextRef="d_2019-02-01_2020-01-31_BusinessAcquisitionAxis-StepcomMember" id="c59148696" unitRef="iso4217-usd" xs:nil="true"/>
  <us-gaap:BusinessCombinationConsiderationTransferredEquityInterestsIssuedAndIssuable contextRef="d_2019-02-01_2020-01-31_BusinessAcquisitionAxis-BesttransportMember" id="c59148697" unitRef="iso4217-usd" xs:nil="true"/>
  <us-gaap:BusinessCombinationConsiderationTransferredEquityInterestsIssuedAndIssuable contextRef="d_2019-02-01_2020-01-31_BusinessAcquisitionAxis-The2020AcquisitionsMember" decimals="-3" id="c59148698" unitRef="iso4217-usd">9045000</us-gaap:BusinessCombinationConsiderationTransferredEquityInterestsIssuedAndIssuable>
  <us-gaap:BusinessCombinationConsiderationTransferredEquityInterestsIssuedAndIssuable contextRef="d_2018-02-01_2019-01-31_BusinessAcquisitionAxis-AljexSoftwareIncMember" id="c59148975" unitRef="iso4217-usd" xs:nil="true"/>
  <us-gaap:BusinessCombinationConsiderationTransferredEquityInterestsIssuedAndIssuable contextRef="d_2018-02-01_2019-01-31_BusinessAcquisitionAxis-VelocityMailMember" id="c59148976" unitRef="iso4217-usd" xs:nil="true"/>
  <us-gaap:BusinessCombinationConsiderationTransferredEquityInterestsIssuedAndIssuable contextRef="d_2018-02-01_2019-01-31_BusinessAcquisitionAxis-PinPointMember" decimals="-3" id="c59148977" unitRef="iso4217-usd">1536000</us-gaap:BusinessCombinationConsiderationTransferredEquityInterestsIssuedAndIssuable>
  <us-gaap:BusinessCombinationConsiderationTransferredEquityInterestsIssuedAndIssuable contextRef="d_2018-02-01_2019-01-31_BusinessAcquisitionAxis-The2019AcquisitionsMember" decimals="-3" id="c59148978" unitRef="iso4217-usd">1536000</us-gaap:BusinessCombinationConsiderationTransferredEquityInterestsIssuedAndIssuable>
  <us-gaap:BusinessCombinationConsiderationTransferredEquityInterestsIssuedAndIssuable contextRef="d_2017-02-01_2018-01-31_BusinessAcquisitionAxis-ShipRushMember" id="c59149216" unitRef="iso4217-usd" xs:nil="true"/>
  <us-gaap:BusinessCombinationConsiderationTransferredEquityInterestsIssuedAndIssuable contextRef="d_2017-02-01_2018-01-31_BusinessAcquisitionAxis-PCSTracIncMember" id="c59149217" unitRef="iso4217-usd" xs:nil="true"/>
  <us-gaap:BusinessCombinationConsiderationTransferredEquityInterestsIssuedAndIssuable contextRef="d_2017-02-01_2018-01-31_BusinessAcquisitionAxis-MacroPointLLCMember" decimals="-3" id="c59149218" unitRef="iso4217-usd">20000000</us-gaap:BusinessCombinationConsiderationTransferredEquityInterestsIssuedAndIssuable>
  <us-gaap:BusinessCombinationConsiderationTransferredEquityInterestsIssuedAndIssuable contextRef="d_2017-02-01_2018-01-31_BusinessAcquisitionAxis-The2018AcquisitionsMember" decimals="-3" id="c59149219" unitRef="iso4217-usd">20000000</us-gaap:BusinessCombinationConsiderationTransferredEquityInterestsIssuedAndIssuable>
  <us-gaap:BusinessCombinationConsiderationTransferredLiabilitiesIncurred contextRef="d_2017-08-14_2017-08-14_BusinessAcquisitionAxis-MacroPointLLCMember" decimals="-5" id="c59148644" unitRef="iso4217-usd">80000000</us-gaap:BusinessCombinationConsiderationTransferredLiabilitiesIncurred>
  <us-gaap:BusinessCombinationConsiderationTransferredLiabilitiesIncurred contextRef="d_2019-02-01_2020-01-31_BusinessAcquisitionAxis-VisualComplianceMember" id="c59148707" unitRef="iso4217-usd" xs:nil="true"/>
  <us-gaap:BusinessCombinationConsiderationTransferredLiabilitiesIncurred contextRef="d_2019-02-01_2020-01-31_BusinessAcquisitionAxis-CoreTransportTechnologiesNzLimitedMember" decimals="-3" id="c59148708" unitRef="iso4217-usd">1450000</us-gaap:BusinessCombinationConsiderationTransferredLiabilitiesIncurred>
  <us-gaap:BusinessCombinationConsiderationTransferredLiabilitiesIncurred contextRef="d_2019-02-01_2020-01-31_BusinessAcquisitionAxis-StepcomMember" id="c59148709" unitRef="iso4217-usd" xs:nil="true"/>
  <us-gaap:BusinessCombinationConsiderationTransferredLiabilitiesIncurred contextRef="d_2019-02-01_2020-01-31_BusinessAcquisitionAxis-BesttransportMember" id="c59148710" unitRef="iso4217-usd" xs:nil="true"/>
  <us-gaap:BusinessCombinationConsiderationTransferredLiabilitiesIncurred contextRef="d_2019-02-01_2020-01-31_BusinessAcquisitionAxis-The2020AcquisitionsMember" decimals="-3" id="c59148711" unitRef="iso4217-usd">1450000</us-gaap:BusinessCombinationConsiderationTransferredLiabilitiesIncurred>
  <us-gaap:BusinessCombinationConsiderationTransferredLiabilitiesIncurred contextRef="d_2018-02-01_2019-01-31_BusinessAcquisitionAxis-AljexSoftwareIncMember" id="c59148988" unitRef="iso4217-usd" xs:nil="true"/>
  <us-gaap:BusinessCombinationConsiderationTransferredLiabilitiesIncurred contextRef="d_2018-02-01_2019-01-31_BusinessAcquisitionAxis-VelocityMailMember" id="c59148989" unitRef="iso4217-usd" xs:nil="true"/>
  <us-gaap:BusinessCombinationConsiderationTransferredLiabilitiesIncurred contextRef="d_2018-02-01_2019-01-31_BusinessAcquisitionAxis-PinPointMember" decimals="-3" id="c59148990" unitRef="iso4217-usd">714000</us-gaap:BusinessCombinationConsiderationTransferredLiabilitiesIncurred>
  <us-gaap:BusinessCombinationConsiderationTransferredLiabilitiesIncurred contextRef="d_2018-02-01_2019-01-31_BusinessAcquisitionAxis-The2019AcquisitionsMember" decimals="-3" id="c59148991" unitRef="iso4217-usd">714000</us-gaap:BusinessCombinationConsiderationTransferredLiabilitiesIncurred>
  <us-gaap:BusinessCombinationConsiderationTransferredLiabilitiesIncurred contextRef="d_2017-02-01_2018-01-31_BusinessAcquisitionAxis-ShipRushMember" decimals="-3" id="c59149229" unitRef="iso4217-usd">1233000</us-gaap:BusinessCombinationConsiderationTransferredLiabilitiesIncurred>
  <us-gaap:BusinessCombinationConsiderationTransferredLiabilitiesIncurred contextRef="d_2017-02-01_2018-01-31_BusinessAcquisitionAxis-PCSTracIncMember" id="c59149230" unitRef="iso4217-usd" xs:nil="true"/>
  <us-gaap:BusinessCombinationConsiderationTransferredLiabilitiesIncurred contextRef="d_2017-02-01_2018-01-31_BusinessAcquisitionAxis-The2018AcquisitionsMember" decimals="-3" id="c59149232" unitRef="iso4217-usd">1233000</us-gaap:BusinessCombinationConsiderationTransferredLiabilitiesIncurred>
  <us-gaap:BusinessCombinationContingentConsiderationArrangementsRangeOfOutcomesValueHigh contextRef="i_2019-05-10_BusinessAcquisitionAxis-CoreTransportTechnologiesNzLimitedMember" decimals="-5" id="c59148591" unitRef="iso4217-usd">9000000</us-gaap:BusinessCombinationContingentConsiderationArrangementsRangeOfOutcomesValueHigh>
  <us-gaap:BusinessCombinationContingentConsiderationArrangementsRangeOfOutcomesValueHigh contextRef="i_2018-08-21_BusinessAcquisitionAxis-PinPointMember" decimals="-5" id="c59148630" unitRef="iso4217-usd">2300000</us-gaap:BusinessCombinationContingentConsiderationArrangementsRangeOfOutcomesValueHigh>
  <us-gaap:BusinessCombinationContingentConsiderationArrangementsRangeOfOutcomesValueHigh contextRef="i_2018-08-21_BusinessAcquisitionAxis-PinPointMember" decimals="-5" id="c59148631" unitRef="iso4217-cad">3000000</us-gaap:BusinessCombinationContingentConsiderationArrangementsRangeOfOutcomesValueHigh>
  <us-gaap:BusinessCombinationContingentConsiderationArrangementsRangeOfOutcomesValueHigh contextRef="i_2017-05-18_BusinessAcquisitionAxis-ShipRushMember" decimals="-5" id="c59148657" unitRef="iso4217-usd">3000000</us-gaap:BusinessCombinationContingentConsiderationArrangementsRangeOfOutcomesValueHigh>
  <us-gaap:BusinessCombinationContingentConsiderationArrangementsRangeOfOutcomesValueHigh contextRef="i_2020-01-31_BusinessAcquisitionAxis-PinpointAndCoreMember" decimals="-3" id="c59149771" unitRef="iso4217-usd">10100000</us-gaap:BusinessCombinationContingentConsiderationArrangementsRangeOfOutcomesValueHigh>
  <us-gaap:BusinessCombinationContingentConsiderationLiability contextRef="i_2019-05-10_BusinessAcquisitionAxis-CoreTransportTechnologiesNzLimitedMember" decimals="-5" id="c59148593" unitRef="iso4217-usd">1500000</us-gaap:BusinessCombinationContingentConsiderationLiability>
  <us-gaap:BusinessCombinationContingentConsiderationLiability contextRef="i_2018-08-21_BusinessAcquisitionAxis-PinPointMember" decimals="-5" id="c59148633" unitRef="iso4217-usd">700000</us-gaap:BusinessCombinationContingentConsiderationLiability>
  <us-gaap:BusinessCombinationContingentConsiderationLiability contextRef="i_2017-05-18_BusinessAcquisitionAxis-ShipRushMember" decimals="-5" id="c59148659" unitRef="iso4217-usd">1200000</us-gaap:BusinessCombinationContingentConsiderationLiability>
  <us-gaap:BusinessCombinationContingentConsiderationLiability contextRef="i_2020-01-31_BusinessAcquisitionAxis-PinpointAndCoreMember" decimals="-3" id="c59149773" unitRef="iso4217-usd">1900000</us-gaap:BusinessCombinationContingentConsiderationLiability>
  <us-gaap:BusinessCombinationDisclosureTextBlock contextRef="d_2019-02-01_2020-01-31" id="s1506247">&lt;div style="display: inline; font-family: times new roman; font-size: 10pt"&gt;&lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&lt;div style="display: inline; font-weight: bold;"&gt;Note &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;3&lt;/div&gt; &amp;#x2013; Acquisitions&lt;/div&gt;&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&lt;div style="display: inline; font-weight: bold;"&gt;&amp;nbsp;&lt;/div&gt;&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&lt;div style="display: inline; text-decoration: underline;"&gt;Fiscal &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;2020&lt;/div&gt; Acquisitions&lt;/div&gt;&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;On &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt; February 12, 2019, &lt;/div&gt;Descartes acquired substantially all of the assets of the businesses run by the Management Systems Resources Inc. group of companies (collectively, &amp;#x201c;Visual Compliance&amp;#x201d;), a provider of software solutions and services to automate customs, trade and fiscal compliance processes including denied and restricted party screening processes and export licensing. The purchase price for the acquisition was approximately &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;$248.9&lt;/div&gt; million, net of cash acquired, which was funded from a combination of drawing on Descartes&amp;#x2019; existing credit facility and issuing to the sellers &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;0.3&lt;/div&gt; million Descartes common shares from treasury. The gross contractual amount of trade receivables acquired was &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;$6.4&lt;/div&gt; million with a fair value of &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;$5.2&lt;/div&gt; million at the date of acquisition. Our acquisition date estimate of contractual cash flows &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;not&lt;/div&gt; expected to be collected was &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;$1.2&lt;/div&gt; million. The purchase price was finalized in the &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;three&lt;/div&gt; month period ended &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt; January 31, 2020 &lt;/div&gt;with &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;no&lt;/div&gt; adjustments.&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&amp;nbsp;&lt;/div&gt;  &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;On &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt; May 10, 2019, &lt;/div&gt;Descartes acquired all the shares of Core Transport Technologies NZ Limited (&amp;#x201c;CORE&amp;#x201d;), an electronic transportation network that provides global air carriers and ground handlers with shipment scanning and tracking solutions. The purchase price for the acquisition was approximately &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;$21.8&lt;/div&gt; million, net of cash acquired, which was funded from drawing on Descartes&amp;#x2019; existing credit facility. Additional contingent consideration of up to &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;$9.0&lt;/div&gt; million in cash is payable if certain revenue performance targets are met by CORE in the &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;two&lt;/div&gt; years following the acquisition. The fair value of the contingent consideration was valued at &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;$1.5&lt;/div&gt; million at the acquisition date. The gross contractual amount of trade receivables acquired was &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;$0.4&lt;/div&gt; million with a fair value of &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;$0.4&lt;/div&gt; million at the date of acquisition. Our acquisition date estimate of contractual cash flows &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;not&lt;/div&gt; expected to be collected was nominal. The completion of the initial purchase price allocation is pending the finalization of the fair value of accrued liability balances as well as potential unrecorded liabilities. We expect to finalize the purchase price allocation on or before &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt; May 10, 2020.&lt;/div&gt;&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&amp;nbsp;&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;On &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt; June 27, 2019, &lt;/div&gt;Descartes acquired all the shares of Tegmento AG and Contentis AG (collectively, &amp;#x201c;STEPcom&amp;#x201d;), a business-to-business supply chain integration network based in Switzerland. The purchase price for the acquisition was approximately &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;$18.6&lt;/div&gt; million, net of cash acquired, which was funded from drawing on Descartes&amp;#x2019; existing credit facility. The gross contractual amount of trade receivables acquired was &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;$0.9&lt;/div&gt; million with a fair value of &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;$0.8&lt;/div&gt; million at the date of acquisition. Our acquisition date estimate of contractual cash flows &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;not&lt;/div&gt; expected to be collected was &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;$0.1&lt;/div&gt; million. The completion of the initial purchase price allocation is pending the finalization of the fair value for trade receivables, accrued liability balances as well as potential unrecorded liabilities. We expect to finalize the purchase price allocation on or before &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt; June 27, 2020.&lt;/div&gt;&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&amp;nbsp;&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;On &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt; August 20, 2019, &lt;/div&gt;Descartes acquired BestTransport.com, Inc. (&amp;#x201c;BestTransport&amp;#x201d;), a cloud-based transportation management system provider focused on flatbed-intensive manufacturers and distributors. The purchase price for the acquisition was approximately &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;$11.7&lt;/div&gt; million, net of cash acquired, which was funded from drawing on Descartes&amp;#x2019; existing credit facility. The gross contractual amount of trade receivables acquired was &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;$0.6&lt;/div&gt; million with a fair value of &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;$0.6&lt;/div&gt; million at the date of acquisition. Our acquisition date estimate of contractual cash flows &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;not&lt;/div&gt; expected to be collected was nominal. The completion of the initial purchase price allocation is pending the finalization of the fair value for trade receivables, accrued liability balances as well as potential unrecorded liabilities. We expect to finalize the purchase price allocation on or before &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt; August 20, 2020.&lt;/div&gt;&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&amp;nbsp;&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;For the businesses acquired during fiscal &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;2020,&lt;/div&gt; we incurred acquisition-related costs of &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;$2.2&lt;/div&gt; million for the year ended &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt; January 31, 2020. &lt;/div&gt;The acquisition-related costs were primarily for advisory services and are included in other charges in our consolidated statements of operations. For the year ended &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt; January 31, 2020, &lt;/div&gt;we have recognized &lt;div style="display: inline; color: black"&gt;aggregate revenues of &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;$33.8&lt;/div&gt; million, and net income (excluding any interest costs on financing the a&lt;/div&gt;cquisition) of &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;$6.4&lt;/div&gt; million from Visual Compliance, CORE, STEPcom and BestTransport since the date of acquisition in our consolidated statements of operations.&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&amp;nbsp;&lt;/div&gt;  &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;The final purchase price allocation for Visual Compliance and the preliminary purchase price allocations CORE, STEPcom and BestTransport, which have &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;not&lt;/div&gt; been finalized, are as follows:&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&amp;nbsp;&lt;/div&gt; &lt;div&gt;  &lt;table style="border-collapse: collapse; font: 10pt Times New Roman, Times, Serif; min-width: 700px;" cellspacing="0" cellpadding="0"&gt;  &lt;tr style="vertical-align: bottom"&gt; &lt;td style="padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;div style="display: inline; font-weight: bold;"&gt;Visual &lt;br /&gt; Compliance&lt;/div&gt;&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold; border-bottom: Black 1pt solid"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-weight: bold;"&gt;&amp;nbsp;&lt;/div&gt;&lt;div style="display: inline; font-weight: bold;"&gt;&amp;nbsp;&lt;/div&gt;&lt;div style="display: inline; font-weight: bold;"&gt;CORE&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold; border-bottom: Black 1pt solid"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-weight: bold;"&gt;&amp;nbsp;&lt;/div&gt;&lt;div style="display: inline; font-weight: bold;"&gt;STEP-&lt;br /&gt; com&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold; border-bottom: Black 1pt solid"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-weight: bold;"&gt;&amp;nbsp;&lt;/div&gt;&lt;div style="display: inline; font-weight: bold;"&gt;Best-&lt;br /&gt; Transport&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold; border-bottom: Black 1pt solid"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-weight: bold;"&gt;&amp;nbsp;&lt;/div&gt;&lt;div style="display: inline; font-weight: bold;"&gt;&amp;nbsp;&lt;/div&gt;&lt;div style="display: inline; font-weight: bold;"&gt;Total&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td&gt;Purchase price consideration:&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td style="width: 45%; text-align: left; padding-left: 12pt"&gt;Cash, less cash acquired related to Visual Compliance ($170), CORE ($213), STEPcom ($2,700) and BestTransport ($507)&lt;/td&gt; &lt;td style="width: 1%"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 1%; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 8%; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;239,863&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; width: 1%; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 1%"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 1%; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 8%; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;21,833&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; width: 1%; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 1%"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 1%; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 8%; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;18,639&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; width: 1%; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 1%"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 1%; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 8%; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;11,718&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; width: 1%; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 1%"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 1%; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 8%; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;292,053&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; width: 1%; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td style="padding-left: 12pt"&gt;Common shares issued&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;9,045&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;&amp;#x2013;&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;&amp;#x2013;&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;&amp;#x2013;&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;9,045&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td style="text-align: left; padding-left: 12pt"&gt;Contingent consideration&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;&amp;#x2013;&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;1,450&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;&amp;#x2013;&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;&amp;#x2013;&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;1,450&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td style="text-align: left; padding-bottom: 1pt; padding-left: 12pt"&gt;Net working capital adjustments payable / (receivable)&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;1,147&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;62&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;250&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;&amp;#x2013;&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;1,459&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td style="padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;250,055&lt;/div&gt;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;23,345&lt;/div&gt;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;18,889&lt;/div&gt;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;11,718&lt;/div&gt;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;304,007&lt;/div&gt;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td style="text-align: left"&gt;Allocated to:&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td style="text-align: left; padding-left: 12pt"&gt;Current assets, excluding cash acquired&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;6,403&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;689&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;1,470&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;815&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;9,377&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td style="text-align: left; padding-left: 12pt"&gt;Property and equipment&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;30&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;2,048&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;257&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;35&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;2,370&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td style="text-align: left; padding-left: 12pt"&gt;Deferred income tax asset&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;30,924&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;&amp;#x2013;&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;&amp;#x2013;&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;&amp;#x2013;&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;30,924&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td style="text-align: left; padding-left: 12pt"&gt;Right-of-use assets&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;1,188&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;68&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;232&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;194&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;1,682&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td style="text-align: left; padding-left: 12pt"&gt;Current liabilities&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;(840&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;)&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;(352&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;)&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;(874&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;)&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;(284&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;)&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;(2,350&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;)&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td style="text-align: left; padding-left: 12pt"&gt;Deferred revenue&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;(10,267&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;)&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;(278&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;)&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;(813&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;)&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;(9&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;)&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;(11,367&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;)&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td style="text-align: left; padding-left: 12pt"&gt;Lease obligations&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;(1,188&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;)&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;(68&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;)&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;(232&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;)&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;(194&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;)&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;(1,682&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;)&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td style="text-align: left; padding-bottom: 1pt; padding-left: 12pt"&gt;Deferred income tax liability&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;(282&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left"&gt;)&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;(3,332&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left"&gt;)&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;(2,316&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left"&gt;)&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;(1,352&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left"&gt;)&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;(7,282&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left"&gt;)&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td style="text-align: left; padding-bottom: 1pt"&gt;Net tangible assets (liabilities) assumed&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;25,968&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;(1,225&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left"&gt;)&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;(2,276&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left"&gt;)&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;(795&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left"&gt;)&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;21,672&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td style="text-align: left"&gt;Finite life intangible assets acquired:&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td style="text-align: left; padding-left: 10pt"&gt;Customer agreements and relationships&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;32,186&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;4,600&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;10,839&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;3,000&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;50,625&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td style="text-align: left; padding-left: 10pt"&gt;Existing technology&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;69,422&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;6,800&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;&amp;#x2013;&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;3,800&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;80,022&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td style="text-align: left; padding-left: 10pt"&gt;Trade names&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;528&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;200&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;102&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;50&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;880&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td style="text-align: left; padding-left: 10pt"&gt;Non-compete covenants&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;3,166&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;300&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;205&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;150&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;3,821&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td style="padding-bottom: 1pt"&gt;Goodwill&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;118,785&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;12,670&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;10,019&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;5,513&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;146,987&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td style="padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;250,055&lt;/div&gt;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;23,345&lt;/div&gt;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;18,889&lt;/div&gt;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;11,718&lt;/div&gt;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;304,007&lt;/div&gt;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt;  &lt;/table&gt;  &lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&amp;nbsp;&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;The above transactions were accounted for using the acquisition method in accordance with ASC Topic &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;805,&lt;/div&gt; &amp;#x201c;Business Combinations&amp;#x201d;. The purchase price allocations in the table above represents our estimates of the allocation of the purchase price and the fair value of net assets acquired. The preliminary purchase price allocations &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt; may &lt;/div&gt;differ from the final purchase price allocations, and these differences &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt; may &lt;/div&gt;be material. Revisions to the allocations will occur as additional information about the fair value of assets and liabilities becomes available. The final purchase price allocations will be completed within &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;one&lt;/div&gt; year from the acquisition dates.&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&amp;nbsp;&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"&gt;The acquired intangible assets are being amortized over their estimated useful lives as follows:&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"&gt;&amp;nbsp;&lt;/div&gt; &lt;div&gt;  &lt;table style="border-collapse: collapse; font: 10pt Times New Roman, Times, Serif; min-width: 700px;" cellspacing="0" cellpadding="0"&gt;  &lt;tr style="vertical-align: bottom"&gt; &lt;td style="padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-weight: bold;"&gt;&amp;nbsp;&lt;/div&gt;&lt;div style="display: inline; font-weight: bold;"&gt;Visual &lt;br /&gt; Compliance &lt;br /&gt; (in years)&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold; border-bottom: Black 1pt solid"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-weight: bold;"&gt;&amp;nbsp;&lt;/div&gt;&lt;div style="display: inline; font-weight: bold;"&gt;&amp;nbsp;&lt;/div&gt;&lt;div style="display: inline; font-weight: bold;"&gt;CORE &lt;br /&gt; (in years)&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold; border-bottom: Black 1pt solid"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-weight: bold;"&gt;&amp;nbsp;&lt;/div&gt;&lt;div style="display: inline; font-weight: bold;"&gt;&amp;nbsp;&lt;/div&gt;&lt;div style="display: inline; font-weight: bold;"&gt;STEPcom&lt;br /&gt; (in years)&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold; border-bottom: Black 1pt solid"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-weight: bold;"&gt;&amp;nbsp;&lt;/div&gt;&lt;div style="display: inline; font-weight: bold;"&gt;Best &lt;br /&gt; Transport &lt;br /&gt; (in years)&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td style="width: 52%; text-align: left"&gt;&amp;nbsp;&amp;nbsp;Customer agreements and relationships&lt;/td&gt; &lt;td style="width: 1%"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 1%; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 9%; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;14&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; width: 1%; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 1%"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 1%; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 9%; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;13&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; width: 1%; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 1%"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 1%; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 9%; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;9&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; width: 1%; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 1%"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 1%; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 9%; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;12&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; width: 1%; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&amp;nbsp;Existing technology&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;7&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;6&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;N/A&lt;/div&gt;&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;6&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&amp;nbsp;Trade names&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;5&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;8&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;3&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;3&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&amp;nbsp;Non-compete covenants&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;5&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;5&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;3&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;2&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt;  &lt;/table&gt;  &lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&amp;nbsp;&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;The goodwill on the Visual Compliance, CORE, STEPcom and BestTransport acquisitions arose as a result of the combined strategic value to our growth plan. The goodwill arising from the CORE, STEPcom and BestTransport acquisitions is &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;not&lt;/div&gt; deductible for tax purposes. The goodwill from the Visual Compliance acquisition is deductible for tax purposes.&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&lt;div style="display: inline; font-weight: bold;"&gt;&amp;nbsp;&lt;/div&gt;&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&lt;div style="display: inline; text-decoration: underline;"&gt;Fiscal &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;2019&lt;/div&gt; Acquisitions&lt;/div&gt;&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;On &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt; February 2, 2018, &lt;/div&gt;Descartes acquired Aljex Software, Inc. (&amp;#x201c;Aljex&amp;#x201d;), a cloud-based provider of back-office transportation management solutions for freight brokers and transportation providers. US-based Aljex helps customers automate business processes and create electronic documents critical for executing transportation moves through the lifecycle of a shipment. The purchase price for the acquisition was approximately &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;$32.4&lt;/div&gt; million, net of cash acquired, which was funded from drawing on Descartes&amp;#x2019; existing credit facility. The gross contractual amount of trade receivables acquired was &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;$0.2&lt;/div&gt; million with a fair value of &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;$0.2&lt;/div&gt; million at the date of acquisition. Our acquisition date estimate of contractual cash flows &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;not&lt;/div&gt; expected to be collected was nominal. The purchase price was finalized in the &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;three&lt;/div&gt; month period ended &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt; January 31, 2019 &lt;/div&gt;with &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;no&lt;/div&gt; adjustments.&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&amp;nbsp;&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;On &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt; June 22, 2018, &lt;/div&gt;Descartes acquired certain assets of Velocity Mail, LLC (&amp;#x201c;Velocity Mail&amp;#x201d;), an electronic transportation network that provides global air carriers with mail and parcel shipment scanning and tracking solutions. Using US-based Velocity Mail&amp;#x2019;s network, global air carriers leverage mobile devices to accurately track shipments and deliveries in real-time. The purchase price for the acquisition was approximately &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;$26.1&lt;/div&gt; million, net of cash acquired, which was funded from drawing on Descartes&amp;#x2019; existing credit facility. The gross contractual amount of trade receivables acquired was &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;$1.0&lt;/div&gt; million with a fair value of &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;$1.0&lt;/div&gt; million at the date of acquisition. Our acquisition date estimate of contractual cash flows &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;not&lt;/div&gt; expected to be collected was nominal. The purchase price was finalized in the &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;three&lt;/div&gt; month period ended &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt; July 31, 2019 &lt;/div&gt;with &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;no&lt;/div&gt; adjustments.&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&amp;nbsp;&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&lt;div style="display: inline; color: black"&gt;On &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt; August 21, 2018, &lt;/div&gt;Descartes acquired PinPoint GPS Solutions Inc. (&amp;#x201c;PinPoint&amp;#x201d;), a provider of fleet tracking and mobile workforce solutions. Canada-based PinPoint helps customers collect real-time location information on trucks and mobile workers using technology, including Geotab (telematics) and SkyBitz (trailer tracking). The purchase price for the acquisition was approximately &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;$11.0&lt;/div&gt; million &lt;/div&gt;(CAD &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;$14.4&lt;/div&gt; million)&lt;div style="display: inline; color: black"&gt;, net of cash acquired, which was funded from a combination of drawing on Descartes&amp;#x2019; existing credit facility and issuing to the sellers less than &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;0.1&lt;/div&gt; million Descartes common shares from treasury. &lt;/div&gt;Additional contingent consideration of up to &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;$2.3&lt;/div&gt; million (CAD &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;$3.0&lt;/div&gt; million) in cash is payable if certain revenue performance targets are met by PinPoint in the &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;two&lt;/div&gt; years following the acquisition. The fair value of the contingent consideration was valued at &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;$0.7&lt;/div&gt; million at the acquisition date. The gross contractual amount of trade receivables acquired was &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;$0.5&lt;/div&gt; million with a fair value of &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;$0.5&lt;/div&gt; million at the date of acquisition. Our acquisition date estimate of contractual cash flows &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;not&lt;/div&gt; expected to be collected was nominal. The purchase price was finalized in the &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;three&lt;/div&gt; month period ended &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt; July 31, 2019 &lt;/div&gt;with &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;no&lt;/div&gt; adjustments.&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"&gt;&amp;nbsp;&lt;/div&gt;  &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"&gt;&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"&gt;The final purchase price allocations for businesses we acquired during &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;2019&lt;/div&gt; are as follows:&lt;/div&gt; &lt;div&gt;  &lt;table style="border-collapse: collapse; font: 10pt Times New Roman, Times, Serif; min-width: 700px;" cellspacing="0" cellpadding="0"&gt;  &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td style="padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold"&gt;&lt;div style="display: inline; font-style: italic;"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;div style="display: inline; font-weight: bold;"&gt;Aljex&lt;/div&gt;&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold; border-bottom: Black 1pt solid"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;div style="display: inline; font-weight: bold;"&gt;Velocity Mail&lt;/div&gt;&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;&lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 3pt 0pt 0; text-align: right"&gt;&lt;div style="display: inline; font-weight: bold;"&gt;&amp;nbsp;&lt;/div&gt;&lt;/div&gt;&lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 3pt 0pt 0; text-align: right"&gt;&lt;div style="display: inline; font-weight: bold;"&gt;PinPoint&lt;/div&gt;&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold; border-bottom: Black 1pt solid"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;div style="display: inline; font-weight: bold;"&gt;Total&lt;/div&gt;&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td&gt;Purchase price consideration:&lt;/td&gt; &lt;td&gt;&lt;div style="display: inline; font-style: italic;"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td style="width: 52%; text-align: left; padding-left: 12pt"&gt;Cash, less cash acquired related to Aljex ($193), Velocity Mail (nil) and PinPoint ($769)&lt;/td&gt; &lt;td style="width: 1%"&gt;&lt;div style="display: inline; font-style: italic;"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;td style="width: 1%; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 9%; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;32,382&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; width: 1%; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 1%"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 1%; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 9%; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;26,107&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; width: 1%; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 1%"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 1%; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 9%; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;9,443&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; width: 1%; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 1%"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 1%; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 9%; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;67,932&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; width: 1%; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td style="padding-left: 12pt"&gt;Common shares issued&lt;/td&gt; &lt;td&gt;&lt;div style="display: inline; font-style: italic;"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;&amp;#x2013;&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;&amp;#x2013;&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;1,536&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;1,536&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td style="text-align: left; padding-left: 12pt"&gt;Contingent consideration&lt;/td&gt; &lt;td&gt;&lt;div style="display: inline; font-style: italic;"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;&amp;#x2013;&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;&amp;#x2013;&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;714&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;714&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td style="text-align: left; padding-bottom: 1pt; padding-left: 12pt"&gt;Net working capital adjustments (receivable) / payable&lt;/td&gt; &lt;td&gt;&lt;div style="display: inline; font-style: italic;"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;(152&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left"&gt;)&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;(102&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left"&gt;)&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;36&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;(218&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left"&gt;)&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td style="padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&lt;div style="display: inline; font-style: italic;"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;32,230&lt;/div&gt;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;26,005&lt;/div&gt;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;11,729&lt;/div&gt;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;69,964&lt;/div&gt;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td style="text-align: left"&gt;Allocated to:&lt;/td&gt; &lt;td&gt;&lt;div style="display: inline; font-style: italic;"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td style="text-align: left; padding-left: 12pt"&gt;Current assets, excluding cash acquired&lt;/td&gt; &lt;td&gt;&lt;div style="display: inline; font-style: italic;"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;607&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;1,407&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;599&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;2,613&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td style="text-align: left; padding-left: 12pt"&gt;Other long-term assets&lt;/td&gt; &lt;td&gt;&lt;div style="display: inline; font-style: italic;"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;&amp;#x2013;&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;501&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;&amp;#x2013;&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;501&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td style="text-align: left; padding-left: 12pt"&gt;Current liabilities&lt;/td&gt; &lt;td&gt;&lt;div style="display: inline; font-style: italic;"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;(266&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;)&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;(81&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;)&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;(559&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;)&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;(906&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;)&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td style="text-align: left; padding-left: 12pt"&gt;Deferred revenue&lt;/td&gt; &lt;td&gt;&lt;div style="display: inline; font-style: italic;"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;(1,024&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;)&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;(70&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;)&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;(574&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;)&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;(1,668&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;)&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td style="text-align: left; padding-bottom: 1pt; padding-left: 12pt"&gt;Deferred income tax liability&lt;/td&gt; &lt;td&gt;&lt;div style="display: inline; font-style: italic;"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;(4,200&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left"&gt;)&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;&amp;#x2013;&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;(2,077&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left"&gt;)&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;(6,277&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left"&gt;)&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td style="text-align: left"&gt;Net tangible (liabilities) assets assumed&lt;/td&gt; &lt;td&gt;&lt;div style="display: inline; font-style: italic;"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;(4,883&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;)&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;1,757&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;(2,611&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;)&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;(5,737&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;)&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;Finite life intangible assets acquired:&lt;/td&gt; &lt;td&gt;&lt;div style="display: inline; font-style: italic;"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td style="text-align: left; padding-left: 13.45pt"&gt;Customer agreements and relationships&lt;/td&gt; &lt;td&gt;&lt;div style="display: inline; font-style: italic;"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;5,300&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;7,800&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;7,758&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;20,858&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td style="text-align: left; padding-left: 13.45pt"&gt;Existing technology&lt;/td&gt; &lt;td&gt;&lt;div style="display: inline; font-style: italic;"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;12,400&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;7,600&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;&amp;#x2013;&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;20,000&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td style="padding-left: 13.45pt"&gt;Tradenames&lt;/td&gt; &lt;td&gt;&lt;div style="display: inline; font-style: italic;"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;280&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;100&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;207&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;587&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td style="text-align: left; padding-left: 13.45pt"&gt;Non-compete covenants&lt;/td&gt; &lt;td&gt;&lt;div style="display: inline; font-style: italic;"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;230&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;300&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;69&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;599&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td style="padding-bottom: 1pt"&gt;Goodwill&lt;/td&gt; &lt;td&gt;&lt;div style="display: inline; font-style: italic;"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;18,903&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;8,448&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;6,306&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;33,657&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td style="padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&lt;div style="display: inline; font-style: italic;"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;32,230&lt;/div&gt;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;26,005&lt;/div&gt;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;11,729&lt;/div&gt;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;69,964&lt;/div&gt;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt;  &lt;/table&gt;  &lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&amp;nbsp;&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"&gt;The acquired intangible assets are being amortized over their estimated useful lives as follows:&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"&gt;&amp;nbsp;&lt;/div&gt; &lt;div&gt;  &lt;table style="border-collapse: collapse; font: 10pt Times New Roman, Times, Serif; min-width: 700px;" cellspacing="0" cellpadding="0"&gt;  &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td style="padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;&lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: right"&gt;&lt;div style="display: inline; font-weight: bold;"&gt;Aljex &lt;br /&gt; (in years)&lt;/div&gt;&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold; border-bottom: Black 1pt solid"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;div style="display: inline; font-weight: bold;"&gt;Velocity Mail &lt;br /&gt; (in years)&lt;/div&gt;&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;&lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: right"&gt;&lt;div style="display: inline; font-weight: bold;"&gt;PinPoint &lt;br /&gt; (in years)&lt;/div&gt;&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td style="width: 55%; text-align: left"&gt;&amp;nbsp;&amp;nbsp;Customer agreements and relationships&lt;/td&gt; &lt;td style="width: 2%"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 1%; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 11%; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;13&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; width: 1%; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 2%"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 1%; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 11%; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;12&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; width: 1%; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 2%"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 1%; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 11%; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;9&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; width: 1%; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&amp;nbsp;Existing technology&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;5&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;5&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;N/A&lt;/div&gt;&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&amp;nbsp;Trade names&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;8&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;4&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;8&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&amp;nbsp;Non-compete covenants&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;5&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;5&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;5&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt;  &lt;/table&gt;  &lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"&gt;&amp;nbsp;&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;The goodwill on the Aljex, Velocity Mail and PinPoint acquisitions arose as a result of the combined strategic value to our growth plan. The goodwill arising from the Aljex and PinPoint acquisitions is &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;not&lt;/div&gt; deductible for tax purposes. The goodwill from the Velocity Mail acquisition is deductible for tax purposes.&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&lt;div style="display: inline; font-weight: bold;"&gt;&amp;nbsp;&lt;/div&gt;&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&lt;div style="display: inline; text-decoration: underline;"&gt;Fiscal &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;2018&lt;/div&gt; Acquisitions&lt;/div&gt;&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;On &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt; August 14, 2017, &lt;/div&gt;we acquired MacroPoint LLC (&amp;#x201c;MacroPoint&amp;#x201d;), an electronic transportation network providing location-based truck tracking and predictive freight capacity data content. US-based MacroPoint runs a connected network helping transportation brokers, logistics service providers and shippers track the locations of deliveries in trucks as well as predictive freight capacity to help identify early opportunities for additional freight moves. The purchase price for the acquisition was approximately &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;$106.2&lt;/div&gt; million, net of cash acquired, which was funded using &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;$20.0&lt;/div&gt; million of our common shares, &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;$80.0&lt;/div&gt; million from drawing on Descartes&amp;#x2019; credit facility and the balance from cash on hand. The gross contractual amount of trade receivables acquired was &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;$2.0&lt;/div&gt; million with a fair value of &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;$2.0&lt;/div&gt; million at the date of acquisition. Our acquisition date estimate of contractual cash flows &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;not&lt;/div&gt; expected to be collected was nominal. The purchase price was finalized in the &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;three&lt;/div&gt; month period ended &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt; July 31, 2018 &lt;/div&gt;with &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;no&lt;/div&gt; adjustments.&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&amp;nbsp;&lt;/div&gt;  &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;On &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt; June 1, 2017, &lt;/div&gt;we acquired substantially all of the assets of PCSTrac, Inc., including certain related assets of Progressive Computer Services Inc., doing business as PCS Technologies (collectively referred to as &amp;#x201c;PCSTrac&amp;#x201d;). US-based PCSTrac helps specialty retailers and their logistics service providers collaborate to improve carton-level visibility for shipments from distribution centers to stores. PCSTrac&amp;#x2019;s solutions provide visibility and insight into the store replenishment supply chain, helping increase sales, enhance loss prevention, and improve inventory control. The total purchase price for the acquisition was &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;$11.5&lt;/div&gt; million, net of cash acquired, which was funded using cash on hand. The gross contractual amount of trade receivables acquired was &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;$0.4&lt;/div&gt; million with a fair value of &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;$0.4&lt;/div&gt; million at the date of acquisition. Our acquisition date estimate of contractual cash flows &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;not&lt;/div&gt; expected to be collected was nominal. The purchase price was finalized in the &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;three&lt;/div&gt; month period ended &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt; April 30, 2018 &lt;/div&gt;with &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;no&lt;/div&gt; adjustments.&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&amp;nbsp;&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;On &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt; May 18, 2017, &lt;/div&gt;we acquired Z-Firm LLC (&amp;#x201c;ShipRush&amp;#x201d;), a US-based provider of e-commerce multi-carrier parcel shipping solutions for small-to medium-sized businesses. The ShipRush platform helps customers streamline their supply chain and reduce transportation costs by automatically importing orders, comparing carrier rates, printing shipping labels for all major carriers, and tracking through final delivery. The purchase price for the acquisition was &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;$14.2&lt;/div&gt; million, net of cash acquired, which was funded using cash on hand. Additional contingent consideration of up to &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;$3.0&lt;/div&gt; million in cash is payable if certain revenue performance targets are met by ShipRush in the &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;two&lt;/div&gt; years following the acquisition. The fair value of the contingent consideration was valued at &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;$1.2&lt;/div&gt; million at the acquisition date. The gross contractual amount of trade receivables acquired was &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;$0.4&lt;/div&gt; million with a fair value of &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;$0.4&lt;/div&gt; million at the date of acquisition. Our acquisition date estimate of contractual cash flows &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;not&lt;/div&gt; expected to be collected was nominal. The purchase price was finalized in the &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;three&lt;/div&gt; month period ended &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt; April 30, 2018 &lt;/div&gt;with &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;no&lt;/div&gt; adjustments.&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"&gt;&amp;nbsp;&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"&gt;The final purchase price allocations for businesses we acquired during &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;2018&lt;/div&gt; are as follows:&lt;/div&gt; &lt;div&gt;  &lt;table style="border-collapse: collapse; font: 10pt Times New Roman, Times, Serif; min-width: 700px;" cellspacing="0" cellpadding="0"&gt;  &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td style="padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-weight: bold;"&gt;ShipRush&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold; border-bottom: Black 1pt solid"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;div style="display: inline; font-weight: bold;"&gt;PCSTrac&lt;/div&gt;&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold; border-bottom: Black 1pt solid"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;div style="display: inline; font-weight: bold;"&gt;MacroPoint&lt;/div&gt;&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold; border-bottom: Black 1pt solid"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;div style="display: inline; font-weight: bold;"&gt;Total&lt;/div&gt;&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td&gt;Purchase price consideration:&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td style="width: 52%; text-align: left; padding-left: 12pt"&gt;Cash, less cash acquired related to ShipRush ($253), PCSTrac (nil) and MacroPoint ($2,098)&lt;/td&gt; &lt;td style="width: 1%"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 1%; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 9%; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;14,198&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; width: 1%; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 1%"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 1%; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 9%; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;11,492&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; width: 1%; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 1%"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 1%; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 9%; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;86,177&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; width: 1%; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 1%"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 1%; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 9%; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;111,867&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; width: 1%; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td style="padding-left: 12pt"&gt;Common shares issued&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;&amp;#x2013;&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;&amp;#x2013;&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;20,000&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;20,000&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td style="text-align: left; padding-left: 12pt"&gt;Contingent consideration&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;1,233&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;&amp;#x2013;&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;&amp;#x2013;&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;1,233&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td style="text-align: left; padding-bottom: 1pt; padding-left: 12pt"&gt;Net working capital adjustments payable&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;88&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;40&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;163&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;291&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td style="padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;15,519&lt;/div&gt;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;11,532&lt;/div&gt;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;106,340&lt;/div&gt;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;133,391&lt;/div&gt;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td style="text-align: left"&gt;Allocated to:&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td style="text-align: left; padding-left: 12pt"&gt;Current assets, excluding cash acquired&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;461&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;467&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;2,127&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;3,055&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td style="text-align: left; padding-left: 12pt"&gt;Current liabilities&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;(266&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;)&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;(10&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;)&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;(1,693&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;)&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;(1,969&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;)&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td style="text-align: left; padding-bottom: 1pt; padding-left: 12pt"&gt;Deferred revenue&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;(609&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left"&gt;)&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;&amp;#x2013;&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;(5,787&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left"&gt;)&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;(6,396&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left"&gt;)&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td style="text-align: left"&gt;Net tangible (liabilities) assets assumed&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;(414&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;)&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;457&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;(5,353&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;)&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;(5,310&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;)&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;Finite life intangible assets acquired:&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td style="text-align: left; padding-left: 13.45pt"&gt;Customer agreements and relationships&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;2,400&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;1,850&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;26,030&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;30,280&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td style="text-align: left; padding-left: 13.45pt"&gt;Existing technology&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;4,710&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;3,270&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;17,170&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;25,150&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td style="text-align: left; padding-left: 13.45pt"&gt;In-process research and development&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;&amp;#x2013;&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;&amp;#x2013;&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;290&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;290&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td style="padding-left: 13.45pt"&gt;Tradenames&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;120&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;60&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;570&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;750&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td style="text-align: left; padding-left: 13.45pt"&gt;Non-compete covenants&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;100&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;80&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;2,420&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;2,600&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td style="padding-bottom: 1pt"&gt;Goodwill&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;8,603&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;5,815&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;65,213&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;79,631&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td style="padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;15,519&lt;/div&gt;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;11,532&lt;/div&gt;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;106,340&lt;/div&gt;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;133,391&lt;/div&gt;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt;  &lt;/table&gt;  &lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&amp;nbsp;&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&lt;/div&gt; &lt;!-- Field: Page; Sequence: 20 --&gt;   &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"&gt;The acquired intangible assets are being amortized over their estimated useful lives as follows: &lt;/div&gt; &lt;div&gt;  &lt;table style="border-collapse: collapse; font: 10pt Times New Roman, Times, Serif; min-width: 700px;" cellspacing="0" cellpadding="0"&gt;  &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td style="padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: right"&gt;&lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: right"&gt;&lt;div style="display: inline; font-weight: bold;"&gt;ShipRush &lt;br /&gt; (in years)&lt;/div&gt;&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold; border-bottom: Black 1pt solid"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: right"&gt;&lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: right"&gt;&lt;div style="display: inline; font-weight: bold;"&gt;PCSTrac &lt;br /&gt; (in years)&lt;/div&gt;&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold; border-bottom: Black 1pt solid"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: right"&gt;&lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: right"&gt;&lt;div style="display: inline; font-weight: bold;"&gt;MacroPoint &lt;br /&gt; (in years)&lt;/div&gt;&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td style="width: 55%; text-align: left"&gt;&amp;nbsp;&amp;nbsp;Customer agreements and relationships&lt;/td&gt; &lt;td style="width: 2%"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 1%; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 11%; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;9&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; width: 1%; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 2%"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 1%; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 11%; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;13&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; width: 1%; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 2%"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 1%; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 11%; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;12&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; width: 1%; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&amp;nbsp;Existing technology&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;5&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;5&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;5&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&amp;nbsp;Trade names&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;8&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;4&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;8&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&amp;nbsp;Non-compete covenants&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;5&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;5&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;5&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt;  &lt;/table&gt;  &lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"&gt;&amp;nbsp;&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;The goodwill on the ShipRush, PCSTrac and MacroPoint acquisitions arose as a result of the combined strategic value to our growth plan. The goodwill arising from the PCSTrac, ShipRush and MacroPoint acquisitions is deductible for tax purposes.&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&amp;nbsp;&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&lt;div style="display: inline; text-decoration: underline;"&gt;Pro Forma Results of Operations (Unaudited)&lt;/div&gt;&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;The financial information in the table below summarizes selected results of operations on a pro forma basis as if we had acquired BestTransport, STEPcom, CORE, Visual Compliance, PinPoint, Velocity Mail, Aljex, MacroPoint, PCSTrac and ShipRush as of &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt; February 1, 2017.&lt;/div&gt;&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&amp;nbsp;&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;This pro forma information is for information purposes only and does &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;not&lt;/div&gt; purport to represent what our actual results of operations for the periods presented would have been had the acquisitions of BestTransport, STEPcom, CORE, Visual Compliance, PinPoint, Velocity Mail, Aljex, MacroPoint, PCSTrac and ShipRush occurred at &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt; February 1, 2017, &lt;/div&gt;or to project our results of operations for any future period.&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&amp;nbsp;&lt;/div&gt; &lt;div&gt;  &lt;table style="border-collapse: collapse; font: 10pt Times New Roman, Times, Serif; min-width: 700px;" cellspacing="0" cellpadding="0"&gt;  &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td style="font-style: italic"&gt;Year Ended&lt;/td&gt; &lt;td style="font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;div style="display: inline; font-weight: bold;"&gt;January 31,&lt;/div&gt;&lt;/div&gt;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; white-space: nowrap; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; text-align: right"&gt;&lt;div style="display: inline; font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;January 31,&lt;/div&gt;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; text-align: right"&gt;&lt;div style="display: inline; font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;January 31,&lt;/div&gt;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td style="text-align: right; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: right"&gt;2020&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;2019&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;2018&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td style="width: 55%; font-weight: normal"&gt;Revenues&lt;/td&gt; &lt;td style="width: 2%; font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 1%; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 11%; font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;333,323&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; width: 1%; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 2%"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 1%; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 11%; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;322,649&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; width: 1%; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 2%"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 1%; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 11%; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;313,759&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; width: 1%; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td style="font-weight: normal; text-align: left"&gt;Net income&lt;/td&gt; &lt;td style="font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;37,540&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;31,609&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;25,312&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td style="font-weight: normal"&gt;Earnings per share&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td style="padding-left: 12pt"&gt;Basic&lt;/td&gt; &lt;td style="font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;0.46&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;0.41&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;0.33&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td style="padding-left: 12pt"&gt;Diluted&lt;/td&gt; &lt;td style="font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;0.45&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;0.41&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;0.33&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt;  &lt;/table&gt;  &lt;/div&gt;&lt;/div&gt;</us-gaap:BusinessCombinationDisclosureTextBlock>
  <us-gaap:BusinessCombinationProFormaInformationEarningsOrLossOfAcquireeSinceAcquisitionDateActual contextRef="d_2019-02-01_2020-01-31_BusinessAcquisitionAxis-The2020AcquisitionsMember" decimals="-5" id="c59148609" unitRef="iso4217-usd">6400000</us-gaap:BusinessCombinationProFormaInformationEarningsOrLossOfAcquireeSinceAcquisitionDateActual>
  <us-gaap:BusinessCombinationProFormaInformationRevenueOfAcquireeSinceAcquisitionDateActual contextRef="d_2019-02-01_2020-01-31_BusinessAcquisitionAxis-The2020AcquisitionsMember" decimals="-5" id="c59148608" unitRef="iso4217-usd">33800000</us-gaap:BusinessCombinationProFormaInformationRevenueOfAcquireeSinceAcquisitionDateActual>
  <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssets contextRef="i_2020-01-31_BusinessAcquisitionAxis-VisualComplianceMember" decimals="-3" id="c59148747" unitRef="iso4217-usd">6403000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssets>
  <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssets contextRef="i_2020-01-31_BusinessAcquisitionAxis-CoreTransportTechnologiesNzLimitedMember" decimals="-3" id="c59148748" unitRef="iso4217-usd">689000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssets>
  <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssets contextRef="i_2020-01-31_BusinessAcquisitionAxis-StepcomMember" decimals="-3" id="c59148749" unitRef="iso4217-usd">1470000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssets>
  <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssets contextRef="i_2020-01-31_BusinessAcquisitionAxis-BesttransportMember" decimals="-3" id="c59148750" unitRef="iso4217-usd">815000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssets>
  <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssets contextRef="i_2020-01-31_BusinessAcquisitionAxis-The2020AcquisitionsMember" decimals="-3" id="c59148751" unitRef="iso4217-usd">9377000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssets>
  <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssets contextRef="i_2019-01-31_BusinessAcquisitionAxis-AljexSoftwareIncMember" decimals="-3" id="c59149028" unitRef="iso4217-usd">607000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssets>
  <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssets contextRef="i_2019-01-31_BusinessAcquisitionAxis-VelocityMailMember" decimals="-3" id="c59149029" unitRef="iso4217-usd">1407000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssets>
  <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssets contextRef="i_2019-01-31_BusinessAcquisitionAxis-PinPointMember" decimals="-3" id="c59149030" unitRef="iso4217-usd">599000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssets>
  <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssets contextRef="i_2019-01-31_BusinessAcquisitionAxis-The2019AcquisitionsMember" decimals="-3" id="c59149031" unitRef="iso4217-usd">2613000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssets>
  <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssets contextRef="i_2018-01-31_BusinessAcquisitionAxis-ShipRushMember" decimals="-3" id="c59149269" unitRef="iso4217-usd">461000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssets>
  <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssets contextRef="i_2018-01-31_BusinessAcquisitionAxis-PCSTracIncMember" decimals="-3" id="c59149270" unitRef="iso4217-usd">467000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssets>
  <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssets contextRef="i_2018-01-31_BusinessAcquisitionAxis-MacroPointLLCMember" decimals="-3" id="c59149271" unitRef="iso4217-usd">2127000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssets>
  <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssets contextRef="i_2018-01-31_BusinessAcquisitionAxis-The2018AcquisitionsMember" decimals="-3" id="c59149272" unitRef="iso4217-usd">3055000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssets>
  <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilities contextRef="i_2020-01-31_BusinessAcquisitionAxis-VisualComplianceMember" decimals="-3" id="c59148799" unitRef="iso4217-usd">840000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilities>
  <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilities contextRef="i_2020-01-31_BusinessAcquisitionAxis-CoreTransportTechnologiesNzLimitedMember" decimals="-3" id="c59148800" unitRef="iso4217-usd">352000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilities>
  <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilities contextRef="i_2020-01-31_BusinessAcquisitionAxis-StepcomMember" decimals="-3" id="c59148801" unitRef="iso4217-usd">874000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilities>
  <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilities contextRef="i_2020-01-31_BusinessAcquisitionAxis-BesttransportMember" decimals="-3" id="c59148802" unitRef="iso4217-usd">284000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilities>
  <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilities contextRef="i_2020-01-31_BusinessAcquisitionAxis-The2020AcquisitionsMember" decimals="-3" id="c59148803" unitRef="iso4217-usd">2350000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilities>
  <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilities contextRef="i_2019-01-31_BusinessAcquisitionAxis-AljexSoftwareIncMember" decimals="-3" id="c59149054" unitRef="iso4217-usd">266000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilities>
  <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilities contextRef="i_2019-01-31_BusinessAcquisitionAxis-VelocityMailMember" decimals="-3" id="c59149055" unitRef="iso4217-usd">81000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilities>
  <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilities contextRef="i_2019-01-31_BusinessAcquisitionAxis-PinPointMember" decimals="-3" id="c59149056" unitRef="iso4217-usd">559000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilities>
  <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilities contextRef="i_2019-01-31_BusinessAcquisitionAxis-The2019AcquisitionsMember" decimals="-3" id="c59149057" unitRef="iso4217-usd">906000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilities>
  <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilities contextRef="i_2018-01-31_BusinessAcquisitionAxis-ShipRushMember" decimals="-3" id="c59149282" unitRef="iso4217-usd">266000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilities>
  <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilities contextRef="i_2018-01-31_BusinessAcquisitionAxis-PCSTracIncMember" decimals="-3" id="c59149283" unitRef="iso4217-usd">10000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilities>
  <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilities contextRef="i_2018-01-31_BusinessAcquisitionAxis-MacroPointLLCMember" decimals="-3" id="c59149284" unitRef="iso4217-usd">1693000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilities>
  <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilities contextRef="i_2018-01-31_BusinessAcquisitionAxis-The2018AcquisitionsMember" decimals="-3" id="c59149285" unitRef="iso4217-usd">1969000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilities>
  <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesDeferredRevenue contextRef="i_2020-01-31_BusinessAcquisitionAxis-VisualComplianceMember" decimals="-3" id="c59148812" unitRef="iso4217-usd">10267000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesDeferredRevenue>
  <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesDeferredRevenue contextRef="i_2020-01-31_BusinessAcquisitionAxis-CoreTransportTechnologiesNzLimitedMember" decimals="-3" id="c59148813" unitRef="iso4217-usd">278000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesDeferredRevenue>
  <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesDeferredRevenue contextRef="i_2020-01-31_BusinessAcquisitionAxis-StepcomMember" decimals="-3" id="c59148814" unitRef="iso4217-usd">813000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesDeferredRevenue>
  <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesDeferredRevenue contextRef="i_2020-01-31_BusinessAcquisitionAxis-BesttransportMember" decimals="-3" id="c59148815" unitRef="iso4217-usd">9000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesDeferredRevenue>
  <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesDeferredRevenue contextRef="i_2020-01-31_BusinessAcquisitionAxis-The2020AcquisitionsMember" decimals="-3" id="c59148816" unitRef="iso4217-usd">11367000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesDeferredRevenue>
  <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesDeferredRevenue contextRef="i_2019-01-31_BusinessAcquisitionAxis-AljexSoftwareIncMember" decimals="-3" id="c59149067" unitRef="iso4217-usd">1024000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesDeferredRevenue>
  <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesDeferredRevenue contextRef="i_2019-01-31_BusinessAcquisitionAxis-VelocityMailMember" decimals="-3" id="c59149068" unitRef="iso4217-usd">70000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesDeferredRevenue>
  <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesDeferredRevenue contextRef="i_2019-01-31_BusinessAcquisitionAxis-PinPointMember" decimals="-3" id="c59149069" unitRef="iso4217-usd">574000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesDeferredRevenue>
  <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesDeferredRevenue contextRef="i_2019-01-31_BusinessAcquisitionAxis-The2019AcquisitionsMember" decimals="-3" id="c59149070" unitRef="iso4217-usd">1668000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesDeferredRevenue>
  <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesDeferredRevenue contextRef="i_2018-01-31_BusinessAcquisitionAxis-ShipRushMember" decimals="-3" id="c59149295" unitRef="iso4217-usd">609000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesDeferredRevenue>
  <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesDeferredRevenue contextRef="i_2018-01-31_BusinessAcquisitionAxis-PCSTracIncMember" id="c59149296" unitRef="iso4217-usd" xs:nil="true"/>
  <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesDeferredRevenue contextRef="i_2018-01-31_BusinessAcquisitionAxis-MacroPointLLCMember" decimals="-3" id="c59149297" unitRef="iso4217-usd">5787000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesDeferredRevenue>
  <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesDeferredRevenue contextRef="i_2018-01-31_BusinessAcquisitionAxis-The2018AcquisitionsMember" decimals="-3" id="c59149298" unitRef="iso4217-usd">6396000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesDeferredRevenue>
  <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedDeferredTaxAssets contextRef="i_2020-01-31_BusinessAcquisitionAxis-VisualComplianceMember" decimals="-3" id="c59148773" unitRef="iso4217-usd">30924000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedDeferredTaxAssets>
  <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedDeferredTaxAssets contextRef="i_2020-01-31_BusinessAcquisitionAxis-CoreTransportTechnologiesNzLimitedMember" id="c59148774" unitRef="iso4217-usd" xs:nil="true"/>
  <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedDeferredTaxAssets contextRef="i_2020-01-31_BusinessAcquisitionAxis-StepcomMember" id="c59148775" unitRef="iso4217-usd" xs:nil="true"/>
  <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedDeferredTaxAssets contextRef="i_2020-01-31_BusinessAcquisitionAxis-BesttransportMember" id="c59148776" unitRef="iso4217-usd" xs:nil="true"/>
  <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedDeferredTaxAssets contextRef="i_2020-01-31_BusinessAcquisitionAxis-The2020AcquisitionsMember" decimals="-3" id="c59148777" unitRef="iso4217-usd">30924000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedDeferredTaxAssets>
  <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedDeferredTaxLiabilities contextRef="i_2020-01-31_BusinessAcquisitionAxis-VisualComplianceMember" decimals="-3" id="c59148838" unitRef="iso4217-usd">282000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedDeferredTaxLiabilities>
  <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedDeferredTaxLiabilities contextRef="i_2020-01-31_BusinessAcquisitionAxis-CoreTransportTechnologiesNzLimitedMember" decimals="-3" id="c59148839" unitRef="iso4217-usd">3332000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedDeferredTaxLiabilities>
  <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedDeferredTaxLiabilities contextRef="i_2020-01-31_BusinessAcquisitionAxis-StepcomMember" decimals="-3" id="c59148840" unitRef="iso4217-usd">2316000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedDeferredTaxLiabilities>
  <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedDeferredTaxLiabilities contextRef="i_2020-01-31_BusinessAcquisitionAxis-BesttransportMember" decimals="-3" id="c59148841" unitRef="iso4217-usd">1352000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedDeferredTaxLiabilities>
  <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedDeferredTaxLiabilities contextRef="i_2020-01-31_BusinessAcquisitionAxis-The2020AcquisitionsMember" decimals="-3" id="c59148842" unitRef="iso4217-usd">7282000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedDeferredTaxLiabilities>
  <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedDeferredTaxLiabilities contextRef="i_2019-01-31_BusinessAcquisitionAxis-AljexSoftwareIncMember" decimals="-3" id="c59149080" unitRef="iso4217-usd">4200000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedDeferredTaxLiabilities>
  <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedDeferredTaxLiabilities contextRef="i_2019-01-31_BusinessAcquisitionAxis-VelocityMailMember" id="c59149081" unitRef="iso4217-usd" xs:nil="true"/>
  <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedDeferredTaxLiabilities contextRef="i_2019-01-31_BusinessAcquisitionAxis-PinPointMember" decimals="-3" id="c59149082" unitRef="iso4217-usd">2077000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedDeferredTaxLiabilities>
  <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedDeferredTaxLiabilities contextRef="i_2019-01-31_BusinessAcquisitionAxis-The2019AcquisitionsMember" decimals="-3" id="c59149083" unitRef="iso4217-usd">6277000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedDeferredTaxLiabilities>
  <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles contextRef="i_2020-01-31_BusinessAcquisitionAxis-VisualComplianceMember_FiniteLivedIntangibleAssetsByMajorClassAxis-CustomerRelationshipsMember" decimals="-3" id="c59148865" unitRef="iso4217-usd">32186000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles>
  <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles contextRef="i_2020-01-31_BusinessAcquisitionAxis-CoreTransportTechnologiesNzLimitedMember_FiniteLivedIntangibleAssetsByMajorClassAxis-CustomerRelationshipsMember" decimals="-3" id="c59148866" unitRef="iso4217-usd">4600000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles>
  <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles contextRef="i_2020-01-31_BusinessAcquisitionAxis-StepcomMember_FiniteLivedIntangibleAssetsByMajorClassAxis-CustomerRelationshipsMember" decimals="-3" id="c59148867" unitRef="iso4217-usd">10839000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles>
  <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles contextRef="i_2020-01-31_BusinessAcquisitionAxis-BesttransportMember_FiniteLivedIntangibleAssetsByMajorClassAxis-CustomerRelationshipsMember" decimals="-3" id="c59148868" unitRef="iso4217-usd">3000000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles>
  <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles contextRef="i_2020-01-31_BusinessAcquisitionAxis-The2020AcquisitionsMember_FiniteLivedIntangibleAssetsByMajorClassAxis-CustomerRelationshipsMember" decimals="-3" id="c59148869" unitRef="iso4217-usd">50625000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles>
  <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles contextRef="i_2020-01-31_BusinessAcquisitionAxis-VisualComplianceMember_FiniteLivedIntangibleAssetsByMajorClassAxis-ExistingTechnologyMember" decimals="-3" id="c59148878" unitRef="iso4217-usd">69422000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles>
  <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles contextRef="i_2020-01-31_BusinessAcquisitionAxis-CoreTransportTechnologiesNzLimitedMember_FiniteLivedIntangibleAssetsByMajorClassAxis-ExistingTechnologyMember" decimals="-3" id="c59148879" unitRef="iso4217-usd">6800000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles>
  <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles contextRef="i_2020-01-31_BusinessAcquisitionAxis-StepcomMember_FiniteLivedIntangibleAssetsByMajorClassAxis-ExistingTechnologyMember" id="c59148880" unitRef="iso4217-usd" xs:nil="true"/>
  <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles contextRef="i_2020-01-31_BusinessAcquisitionAxis-BesttransportMember_FiniteLivedIntangibleAssetsByMajorClassAxis-ExistingTechnologyMember" decimals="-3" id="c59148881" unitRef="iso4217-usd">3800000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles>
  <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles contextRef="i_2020-01-31_BusinessAcquisitionAxis-The2020AcquisitionsMember_FiniteLivedIntangibleAssetsByMajorClassAxis-ExistingTechnologyMember" decimals="-3" id="c59148882" unitRef="iso4217-usd">80022000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles>
  <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles contextRef="i_2020-01-31_BusinessAcquisitionAxis-VisualComplianceMember_FiniteLivedIntangibleAssetsByMajorClassAxis-TradeNamesMember" decimals="-3" id="c59148891" unitRef="iso4217-usd">528000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles>
  <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles contextRef="i_2020-01-31_BusinessAcquisitionAxis-CoreTransportTechnologiesNzLimitedMember_FiniteLivedIntangibleAssetsByMajorClassAxis-TradeNamesMember" decimals="-3" id="c59148892" unitRef="iso4217-usd">200000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles>
  <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles contextRef="i_2020-01-31_BusinessAcquisitionAxis-StepcomMember_FiniteLivedIntangibleAssetsByMajorClassAxis-TradeNamesMember" decimals="-3" id="c59148893" unitRef="iso4217-usd">102000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles>
  <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles contextRef="i_2020-01-31_BusinessAcquisitionAxis-BesttransportMember_FiniteLivedIntangibleAssetsByMajorClassAxis-TradeNamesMember" decimals="-3" id="c59148894" unitRef="iso4217-usd">50000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles>
  <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles contextRef="i_2020-01-31_BusinessAcquisitionAxis-The2020AcquisitionsMember_FiniteLivedIntangibleAssetsByMajorClassAxis-TradeNamesMember" decimals="-3" id="c59148895" unitRef="iso4217-usd">880000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles>
  <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles contextRef="i_2020-01-31_BusinessAcquisitionAxis-VisualComplianceMember_FiniteLivedIntangibleAssetsByMajorClassAxis-NoncompeteAgreementsMember" decimals="-3" id="c59148904" unitRef="iso4217-usd">3166000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles>
  <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles contextRef="i_2020-01-31_BusinessAcquisitionAxis-CoreTransportTechnologiesNzLimitedMember_FiniteLivedIntangibleAssetsByMajorClassAxis-NoncompeteAgreementsMember" decimals="-3" id="c59148905" unitRef="iso4217-usd">300000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles>
  <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles contextRef="i_2020-01-31_BusinessAcquisitionAxis-StepcomMember_FiniteLivedIntangibleAssetsByMajorClassAxis-NoncompeteAgreementsMember" decimals="-3" id="c59148906" unitRef="iso4217-usd">205000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles>
  <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles contextRef="i_2020-01-31_BusinessAcquisitionAxis-BesttransportMember_FiniteLivedIntangibleAssetsByMajorClassAxis-NoncompeteAgreementsMember" decimals="-3" id="c59148907" unitRef="iso4217-usd">150000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles>
  <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles contextRef="i_2020-01-31_BusinessAcquisitionAxis-The2020AcquisitionsMember_FiniteLivedIntangibleAssetsByMajorClassAxis-NoncompeteAgreementsMember" decimals="-3" id="c59148908" unitRef="iso4217-usd">3821000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles>
  <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles contextRef="i_2019-01-31_BusinessAcquisitionAxis-AljexSoftwareIncMember_FiniteLivedIntangibleAssetsByMajorClassAxis-CustomerRelationshipsMember" decimals="-3" id="c59149107" unitRef="iso4217-usd">5300000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles>
  <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles contextRef="i_2019-01-31_BusinessAcquisitionAxis-VelocityMailMember_FiniteLivedIntangibleAssetsByMajorClassAxis-CustomerRelationshipsMember" decimals="-3" id="c59149108" unitRef="iso4217-usd">7800000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles>
  <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles contextRef="i_2019-01-31_BusinessAcquisitionAxis-PinPointMember_FiniteLivedIntangibleAssetsByMajorClassAxis-CustomerRelationshipsMember" decimals="-3" id="c59149109" unitRef="iso4217-usd">7758000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles>
  <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles contextRef="i_2019-01-31_BusinessAcquisitionAxis-The2019AcquisitionsMember_FiniteLivedIntangibleAssetsByMajorClassAxis-CustomerRelationshipsMember" decimals="-3" id="c59149110" unitRef="iso4217-usd">20858000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles>
  <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles contextRef="i_2019-01-31_BusinessAcquisitionAxis-AljexSoftwareIncMember_FiniteLivedIntangibleAssetsByMajorClassAxis-ExistingTechnologyMember" decimals="-3" id="c59149120" unitRef="iso4217-usd">12400000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles>
  <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles contextRef="i_2019-01-31_BusinessAcquisitionAxis-VelocityMailMember_FiniteLivedIntangibleAssetsByMajorClassAxis-ExistingTechnologyMember" decimals="-3" id="c59149121" unitRef="iso4217-usd">7600000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles>
  <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles contextRef="i_2019-01-31_BusinessAcquisitionAxis-PinPointMember_FiniteLivedIntangibleAssetsByMajorClassAxis-ExistingTechnologyMember" id="c59149122" unitRef="iso4217-usd" xs:nil="true"/>
  <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles contextRef="i_2019-01-31_BusinessAcquisitionAxis-The2019AcquisitionsMember_FiniteLivedIntangibleAssetsByMajorClassAxis-ExistingTechnologyMember" decimals="-3" id="c59149123" unitRef="iso4217-usd">20000000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles>
  <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles contextRef="i_2019-01-31_BusinessAcquisitionAxis-AljexSoftwareIncMember_FiniteLivedIntangibleAssetsByMajorClassAxis-TradeNamesMember" decimals="-3" id="c59149133" unitRef="iso4217-usd">280000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles>
  <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles contextRef="i_2019-01-31_BusinessAcquisitionAxis-VelocityMailMember_FiniteLivedIntangibleAssetsByMajorClassAxis-TradeNamesMember" decimals="-3" id="c59149134" unitRef="iso4217-usd">100000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles>
  <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles contextRef="i_2019-01-31_BusinessAcquisitionAxis-PinPointMember_FiniteLivedIntangibleAssetsByMajorClassAxis-TradeNamesMember" decimals="-3" id="c59149135" unitRef="iso4217-usd">207000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles>
  <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles contextRef="i_2019-01-31_BusinessAcquisitionAxis-The2019AcquisitionsMember_FiniteLivedIntangibleAssetsByMajorClassAxis-TradeNamesMember" decimals="-3" id="c59149136" unitRef="iso4217-usd">587000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles>
  <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles contextRef="i_2019-01-31_BusinessAcquisitionAxis-AljexSoftwareIncMember_FiniteLivedIntangibleAssetsByMajorClassAxis-NoncompeteAgreementsMember" decimals="-3" id="c59149146" unitRef="iso4217-usd">230000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles>
  <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles contextRef="i_2019-01-31_BusinessAcquisitionAxis-VelocityMailMember_FiniteLivedIntangibleAssetsByMajorClassAxis-NoncompeteAgreementsMember" decimals="-3" id="c59149147" unitRef="iso4217-usd">300000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles>
  <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles contextRef="i_2019-01-31_BusinessAcquisitionAxis-PinPointMember_FiniteLivedIntangibleAssetsByMajorClassAxis-NoncompeteAgreementsMember" decimals="-3" id="c59149148" unitRef="iso4217-usd">69000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles>
  <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles contextRef="i_2019-01-31_BusinessAcquisitionAxis-The2019AcquisitionsMember_FiniteLivedIntangibleAssetsByMajorClassAxis-NoncompeteAgreementsMember" decimals="-3" id="c59149149" unitRef="iso4217-usd">599000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles>
  <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles contextRef="i_2018-01-31_BusinessAcquisitionAxis-ShipRushMember_FiniteLivedIntangibleAssetsByMajorClassAxis-CustomerRelationshipsMember" decimals="-3" id="c59149322" unitRef="iso4217-usd">2400000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles>
  <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles contextRef="i_2018-01-31_BusinessAcquisitionAxis-PCSTracIncMember_FiniteLivedIntangibleAssetsByMajorClassAxis-CustomerRelationshipsMember" decimals="-3" id="c59149323" unitRef="iso4217-usd">1850000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles>
  <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles contextRef="i_2018-01-31_BusinessAcquisitionAxis-MacroPointLLCMember_FiniteLivedIntangibleAssetsByMajorClassAxis-CustomerRelationshipsMember" decimals="-3" id="c59149324" unitRef="iso4217-usd">26030000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles>
  <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles contextRef="i_2018-01-31_BusinessAcquisitionAxis-The2018AcquisitionsMember_FiniteLivedIntangibleAssetsByMajorClassAxis-CustomerRelationshipsMember" decimals="-3" id="c59149325" unitRef="iso4217-usd">30280000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles>
  <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles contextRef="i_2018-01-31_BusinessAcquisitionAxis-ShipRushMember_FiniteLivedIntangibleAssetsByMajorClassAxis-ExistingTechnologyMember" decimals="-3" id="c59149335" unitRef="iso4217-usd">4710000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles>
  <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles contextRef="i_2018-01-31_BusinessAcquisitionAxis-PCSTracIncMember_FiniteLivedIntangibleAssetsByMajorClassAxis-ExistingTechnologyMember" decimals="-3" id="c59149336" unitRef="iso4217-usd">3270000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles>
  <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles contextRef="i_2018-01-31_BusinessAcquisitionAxis-MacroPointLLCMember_FiniteLivedIntangibleAssetsByMajorClassAxis-ExistingTechnologyMember" decimals="-3" id="c59149337" unitRef="iso4217-usd">17170000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles>
  <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles contextRef="i_2018-01-31_BusinessAcquisitionAxis-The2018AcquisitionsMember_FiniteLivedIntangibleAssetsByMajorClassAxis-ExistingTechnologyMember" decimals="-3" id="c59149338" unitRef="iso4217-usd">25150000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles>
  <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles contextRef="i_2018-01-31_BusinessAcquisitionAxis-ShipRushMember_FiniteLivedIntangibleAssetsByMajorClassAxis-InProcessResearchAndDevelopmentMember" id="c59149348" unitRef="iso4217-usd" xs:nil="true"/>
  <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles contextRef="i_2018-01-31_BusinessAcquisitionAxis-PCSTracIncMember_FiniteLivedIntangibleAssetsByMajorClassAxis-InProcessResearchAndDevelopmentMember" id="c59149349" unitRef="iso4217-usd" xs:nil="true"/>
  <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles contextRef="i_2018-01-31_BusinessAcquisitionAxis-MacroPointLLCMember_FiniteLivedIntangibleAssetsByMajorClassAxis-InProcessResearchAndDevelopmentMember" decimals="-3" id="c59149350" unitRef="iso4217-usd">290000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles>
  <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles contextRef="i_2018-01-31_BusinessAcquisitionAxis-The2018AcquisitionsMember_FiniteLivedIntangibleAssetsByMajorClassAxis-InProcessResearchAndDevelopmentMember" decimals="-3" id="c59149351" unitRef="iso4217-usd">290000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles>
  <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles contextRef="i_2018-01-31_BusinessAcquisitionAxis-ShipRushMember_FiniteLivedIntangibleAssetsByMajorClassAxis-TradeNamesMember" decimals="-3" id="c59149361" unitRef="iso4217-usd">120000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles>
  <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles contextRef="i_2018-01-31_BusinessAcquisitionAxis-PCSTracIncMember_FiniteLivedIntangibleAssetsByMajorClassAxis-TradeNamesMember" decimals="-3" id="c59149362" unitRef="iso4217-usd">60000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles>
  <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles contextRef="i_2018-01-31_BusinessAcquisitionAxis-MacroPointLLCMember_FiniteLivedIntangibleAssetsByMajorClassAxis-TradeNamesMember" decimals="-3" id="c59149363" unitRef="iso4217-usd">570000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles>
  <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles contextRef="i_2018-01-31_BusinessAcquisitionAxis-The2018AcquisitionsMember_FiniteLivedIntangibleAssetsByMajorClassAxis-TradeNamesMember" decimals="-3" id="c59149364" unitRef="iso4217-usd">750000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles>
  <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles contextRef="i_2018-01-31_BusinessAcquisitionAxis-ShipRushMember_FiniteLivedIntangibleAssetsByMajorClassAxis-NoncompeteAgreementsMember" decimals="-3" id="c59149374" unitRef="iso4217-usd">100000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles>
  <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles contextRef="i_2018-01-31_BusinessAcquisitionAxis-PCSTracIncMember_FiniteLivedIntangibleAssetsByMajorClassAxis-NoncompeteAgreementsMember" decimals="-3" id="c59149375" unitRef="iso4217-usd">80000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles>
  <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles contextRef="i_2018-01-31_BusinessAcquisitionAxis-MacroPointLLCMember_FiniteLivedIntangibleAssetsByMajorClassAxis-NoncompeteAgreementsMember" decimals="-3" id="c59149376" unitRef="iso4217-usd">2420000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles>
  <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles contextRef="i_2018-01-31_BusinessAcquisitionAxis-The2018AcquisitionsMember_FiniteLivedIntangibleAssetsByMajorClassAxis-NoncompeteAgreementsMember" decimals="-3" id="c59149377" unitRef="iso4217-usd">2600000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles>
  <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOtherNoncurrentAssets contextRef="i_2019-01-31_BusinessAcquisitionAxis-AljexSoftwareIncMember" id="c59149041" unitRef="iso4217-usd" xs:nil="true"/>
  <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOtherNoncurrentAssets contextRef="i_2019-01-31_BusinessAcquisitionAxis-VelocityMailMember" decimals="-3" id="c59149042" unitRef="iso4217-usd">501000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOtherNoncurrentAssets>
  <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOtherNoncurrentAssets contextRef="i_2019-01-31_BusinessAcquisitionAxis-PinPointMember" id="c59149043" unitRef="iso4217-usd" xs:nil="true"/>
  <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOtherNoncurrentAssets contextRef="i_2019-01-31_BusinessAcquisitionAxis-The2019AcquisitionsMember" decimals="-3" id="c59149044" unitRef="iso4217-usd">501000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOtherNoncurrentAssets>
  <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedPropertyPlantAndEquipment contextRef="i_2020-01-31_BusinessAcquisitionAxis-VisualComplianceMember" decimals="-3" id="c59148760" unitRef="iso4217-usd">30000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedPropertyPlantAndEquipment>
  <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedPropertyPlantAndEquipment contextRef="i_2020-01-31_BusinessAcquisitionAxis-CoreTransportTechnologiesNzLimitedMember" decimals="-3" id="c59148761" unitRef="iso4217-usd">2048000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedPropertyPlantAndEquipment>
  <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedPropertyPlantAndEquipment contextRef="i_2020-01-31_BusinessAcquisitionAxis-StepcomMember" decimals="-3" id="c59148762" unitRef="iso4217-usd">257000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedPropertyPlantAndEquipment>
  <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedPropertyPlantAndEquipment contextRef="i_2020-01-31_BusinessAcquisitionAxis-BesttransportMember" decimals="-3" id="c59148763" unitRef="iso4217-usd">35000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedPropertyPlantAndEquipment>
  <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedPropertyPlantAndEquipment contextRef="i_2020-01-31_BusinessAcquisitionAxis-The2020AcquisitionsMember" decimals="-3" id="c59148764" unitRef="iso4217-usd">2370000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedPropertyPlantAndEquipment>
  <us-gaap:BusinessCombinationsPolicy contextRef="d_2019-02-01_2020-01-31" id="c59148379">&lt;div style="display: inline; font-family: times new roman; font-size: 10pt"&gt;&lt;div style="display: inline; font-family: times new roman; font-size: 10pt"&gt;&lt;div style="display: inline; font-family: times new roman; font-size: 10pt"&gt;&lt;div style="display: inline; font-family: times new roman; font-size: 10pt"&gt;&lt;div style="display: inline; font-family: times new roman; font-size: 10pt"&gt;&lt;div style="display: inline; font-family: times new roman; font-size: 10pt"&gt;&lt;div style="display: inline; font-family: times new roman; font-size: 10pt"&gt;&lt;div style="display: inline; font-family: times new roman; font-size: 10pt"&gt;&lt;div style="display: inline; font-family: times new roman; font-size: 10pt"&gt;&lt;div style="display: inline; font-family: times new roman; font-size: 10pt"&gt;&lt;div style=" font: italic bold 10pt Times New Roman, Times, Serif; margin: 0pt 0"&gt;Business combinations&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;We apply the provisions of ASC Topic &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;805,&lt;/div&gt; &amp;#x201c;Business Combinations&amp;#x201d; (Topic &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;805&lt;/div&gt;), in the accounting for our acquisitions. It requires us to recognize separately from goodwill, the assets acquired and the liabilities assumed at their acquisition date fair values including certain identifiable intangible assets (other than goodwill). Goodwill as of the acquisition date is measured as the excess of consideration transferred over the net of the acquisition date fair values of the assets acquired and the liabilities assumed. The determination of the acquisition date fair value of the intangible assets acquired required us to make significant estimates and assumptions regarding projected revenues, earnings before interest, taxes, depreciation and amortization, technology migration rates, customer attrition rates and discount rates.&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&amp;nbsp;&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;While we use our best estimates and assumptions to accurately value assets acquired and liabilities assumed at the acquisition date as well as contingent consideration, where applicable, our estimates are inherently uncertain and subject to refinement. As a result, during the measurement period, which &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt; may &lt;/div&gt;be up to &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;one&lt;/div&gt; year from the acquisition date, we &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt; may &lt;/div&gt;record adjustments to the assets acquired and liabilities assumed with the corresponding offset to goodwill. Upon the conclusion of the measurement period or final determination of the values of assets acquired or liabilities assumed, whichever comes first, any subsequent adjustments would be recorded to our consolidated statement of operations.&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&amp;nbsp;&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;Costs to exit or restructure certain activities of an acquired company or our internal operations are accounted for as termination and exit costs pursuant to ASC Topic &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;420,&lt;/div&gt; &amp;#x201c;Exit or Disposal Cost Obligations&amp;#x201d; (Topic &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;420&lt;/div&gt;) and are accounted for separately from the business combination.&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&amp;nbsp;&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;For a given acquisition, we generally identify certain pre-acquisition contingencies as of the acquisition date and &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt; may &lt;/div&gt;extend our review and evaluation of these pre-acquisition contingencies throughout the measurement period in order to obtain sufficient information to assess whether we include these contingencies as a part of the purchase price allocation and, if so, to determine the estimated amounts.&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&amp;nbsp;&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;If we determine that a pre-acquisition contingency (non-income tax related) is probable in nature and estimable as of the acquisition date, we record our best estimate for such a contingency as a part of the preliminary purchase price allocation. We often continue to gather information and evaluate our pre-acquisition contingencies throughout the measurement period and if we make changes to the amounts recorded or if we identify additional pre-acquisition contingencies during the measurement period, such amounts will be included in the purchase price allocation during the measurement period and, subsequently, in our results of operations.&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&amp;nbsp;&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&lt;/div&gt; &lt;!-- Field: Page; Sequence: 13 --&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;Uncertain tax positions and tax related valuation allowances assumed in connection with a business combination are initially estimated as of the acquisition date. We review these items during the measurement period as we continue to actively seek and collect information relating to facts and circumstances that existed at the acquisition date. Changes to these uncertain tax positions and tax related valuation allowances made subsequent to the measurement period, or if they relate to facts and circumstances that did &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;not&lt;/div&gt; exist at the acquisition date, are recorded in our provision for income taxes in our consolidated statement of operations.&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;</us-gaap:BusinessCombinationsPolicy>
  <us-gaap:BusinessDescriptionAndBasisOfPresentationTextBlock contextRef="d_2019-02-01_2020-01-31" id="s1506245">&lt;div style="display: inline; font-family: times new roman; font-size: 10pt"&gt;&lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"&gt;&lt;div style="display: inline; font-weight: bold;"&gt;Note &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;1&lt;/div&gt; - Description of the Business&lt;/div&gt;&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"&gt;&amp;nbsp;&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;The Descartes Systems Group Inc. (&amp;#x201c;Descartes,&amp;#x201d; &amp;#x201c;Company,&amp;#x201d; &amp;#x201c;our&amp;#x201d; or &amp;#x201c;we&amp;#x201d;) is a provider of global logistics technology solutions. Customers use our modular, software-as-a-service (&amp;#x201c;SaaS&amp;#x201d;) and data solutions to route, schedule, track and measure delivery resources; plan, allocate and execute shipments; rate, audit and pay transportation invoices; access and analyze global trade data; research and perform trade tariff and duty calculations; file customs and security documents for imports and exports;&amp;nbsp;and complete numerous other logistics processes by participating in a large, collaborative multi-modal logistics community. Our pricing model provides our customers with flexibility in purchasing our solutions either on a subscription, transactional or perpetual license basis. Our primary focus is on serving transportation providers (air, ocean and truck modes), logistics service providers (including &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;third&lt;/div&gt;-party logistics providers, freight forwarders and customs brokers) and distribution-intensive companies for which logistics is either a key or a defining part of their own product or service offering, or for which our solutions can provide an opportunity to reduce costs, improve service levels, or support growth by optimizing the use of assets and information.&lt;/div&gt;&lt;/div&gt;</us-gaap:BusinessDescriptionAndBasisOfPresentationTextBlock>
  <us-gaap:CapitalizedContractCostAmortization contextRef="d_2019-02-01_2020-01-31" decimals="-3" id="c59150320" unitRef="iso4217-usd">2500000</us-gaap:CapitalizedContractCostAmortization>
  <us-gaap:CapitalizedContractCostAmortization contextRef="d_2018-02-01_2019-01-31" decimals="-3" id="c59150321" unitRef="iso4217-usd">1800000</us-gaap:CapitalizedContractCostAmortization>
  <us-gaap:CapitalizedContractCostImpairmentLoss contextRef="d_2018-02-01_2019-01-31" decimals="-3" id="c59150322" unitRef="iso4217-usd">0</us-gaap:CapitalizedContractCostImpairmentLoss>
  <us-gaap:CapitalizedContractCostImpairmentLoss contextRef="d_2019-02-01_2020-01-31" decimals="-3" id="c59150323" unitRef="iso4217-usd">0</us-gaap:CapitalizedContractCostImpairmentLoss>
  <us-gaap:CapitalizedContractCostNet contextRef="i_2020-01-31" decimals="-3" id="c59150318" unitRef="iso4217-usd">9800000</us-gaap:CapitalizedContractCostNet>
  <us-gaap:CapitalizedContractCostNet contextRef="i_2019-01-31" decimals="-3" id="c59150319" unitRef="iso4217-usd">7300000</us-gaap:CapitalizedContractCostNet>
  <us-gaap:CashAcquiredFromAcquisition contextRef="d_2019-02-01_2020-01-31_BusinessAcquisitionAxis-VisualComplianceMember" decimals="-3" id="c59148681" unitRef="iso4217-usd">170000</us-gaap:CashAcquiredFromAcquisition>
  <us-gaap:CashAcquiredFromAcquisition contextRef="d_2019-02-01_2020-01-31_BusinessAcquisitionAxis-CoreTransportTechnologiesNzLimitedMember" decimals="-3" id="c59148682" unitRef="iso4217-usd">213000</us-gaap:CashAcquiredFromAcquisition>
  <us-gaap:CashAcquiredFromAcquisition contextRef="d_2019-02-01_2020-01-31_BusinessAcquisitionAxis-StepcomMember" decimals="-3" id="c59148683" unitRef="iso4217-usd">2700000</us-gaap:CashAcquiredFromAcquisition>
  <us-gaap:CashAcquiredFromAcquisition contextRef="d_2019-02-01_2020-01-31_BusinessAcquisitionAxis-BesttransportMember" decimals="-3" id="c59148684" unitRef="iso4217-usd">507000</us-gaap:CashAcquiredFromAcquisition>
  <us-gaap:CashAcquiredFromAcquisition contextRef="d_2018-02-01_2019-01-31_BusinessAcquisitionAxis-AljexSoftwareIncMember" decimals="-3" id="c59148962" unitRef="iso4217-usd">193000</us-gaap:CashAcquiredFromAcquisition>
  <us-gaap:CashAcquiredFromAcquisition contextRef="d_2018-02-01_2019-01-31_BusinessAcquisitionAxis-VelocityMailMember" id="c59148963" unitRef="iso4217-usd" xs:nil="true"/>
  <us-gaap:CashAcquiredFromAcquisition contextRef="d_2018-02-01_2019-01-31_BusinessAcquisitionAxis-PinPointMember" decimals="-3" id="c59148964" unitRef="iso4217-usd">769000</us-gaap:CashAcquiredFromAcquisition>
  <us-gaap:CashAcquiredFromAcquisition contextRef="d_2017-02-01_2018-01-31_BusinessAcquisitionAxis-ShipRushMember" decimals="-3" id="c59149203" unitRef="iso4217-usd">253000</us-gaap:CashAcquiredFromAcquisition>
  <us-gaap:CashAcquiredFromAcquisition contextRef="d_2017-02-01_2018-01-31_BusinessAcquisitionAxis-PCSTracIncMember" id="c59149204" unitRef="iso4217-usd" xs:nil="true"/>
  <us-gaap:CashAcquiredFromAcquisition contextRef="d_2017-02-01_2018-01-31_BusinessAcquisitionAxis-MacroPointLLCMember" decimals="-3" id="c59149205" unitRef="iso4217-usd">2098000</us-gaap:CashAcquiredFromAcquisition>
  <us-gaap:CashAndCashEquivalentsAtCarryingValue contextRef="i_2019-01-31" decimals="-3" id="c59148333" unitRef="iso4217-usd">27298000</us-gaap:CashAndCashEquivalentsAtCarryingValue>
  <us-gaap:CashAndCashEquivalentsAtCarryingValue contextRef="i_2018-01-31" decimals="-3" id="c59148334" unitRef="iso4217-usd">35145000</us-gaap:CashAndCashEquivalentsAtCarryingValue>
  <us-gaap:CashAndCashEquivalentsAtCarryingValue contextRef="i_2017-01-31" decimals="-3" id="c59148335" unitRef="iso4217-usd">38135000</us-gaap:CashAndCashEquivalentsAtCarryingValue>
  <us-gaap:CashAndCashEquivalentsAtCarryingValue contextRef="i_2020-01-31" decimals="-3" id="c59148336" unitRef="iso4217-usd">44403000</us-gaap:CashAndCashEquivalentsAtCarryingValue>
  <us-gaap:CashAndCashEquivalentsPeriodIncreaseDecrease contextRef="d_2019-02-01_2020-01-31" decimals="-3" id="c59148330" unitRef="iso4217-usd">17105000</us-gaap:CashAndCashEquivalentsPeriodIncreaseDecrease>
  <us-gaap:CashAndCashEquivalentsPeriodIncreaseDecrease contextRef="d_2018-02-01_2019-01-31" decimals="-3" id="c59148331" unitRef="iso4217-usd">-7847000</us-gaap:CashAndCashEquivalentsPeriodIncreaseDecrease>
  <us-gaap:CashAndCashEquivalentsPeriodIncreaseDecrease contextRef="d_2017-02-01_2018-01-31" decimals="-3" id="c59148332" unitRef="iso4217-usd">-2990000</us-gaap:CashAndCashEquivalentsPeriodIncreaseDecrease>
  <us-gaap:CashAndCashEquivalentsPolicyTextBlock contextRef="d_2019-02-01_2020-01-31" id="c59148357">&lt;div style="display: inline; font-family: times new roman; font-size: 10pt"&gt;&lt;div style="display: inline; font-family: times new roman; font-size: 10pt"&gt;&lt;div style="display: inline; font-family: times new roman; font-size: 10pt"&gt;&lt;div style="display: inline; font-family: times new roman; font-size: 10pt"&gt;&lt;div style="display: inline; font-family: times new roman; font-size: 10pt"&gt;&lt;div style="display: inline; font-family: times new roman; font-size: 10pt"&gt;&lt;div style="display: inline; font-family: times new roman; font-size: 10pt"&gt;&lt;div style="display: inline; font-family: times new roman; font-size: 10pt"&gt;&lt;div style="display: inline; font-family: times new roman; font-size: 10pt"&gt;&lt;div style="display: inline; font-family: times new roman; font-size: 10pt"&gt;&lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"&gt;&lt;div style="display: inline; font-weight: bold;"&gt;&lt;div style="display: inline; font-style: italic;"&gt;Cash&lt;/div&gt;&lt;/div&gt;&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;Cash included highly liquid short-term deposits with original maturities of &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;three&lt;/div&gt; months or less.&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;</us-gaap:CashAndCashEquivalentsPolicyTextBlock>
  <us-gaap:CashFlowSupplementalDisclosuresTextBlock contextRef="d_2019-02-01_2020-01-31" id="s1506306">&lt;div style="display: inline; font-family: times new roman; font-size: 10pt"&gt;&lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"&gt;&lt;div style="display: inline; font-weight: bold;"&gt;Note &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;21&lt;/div&gt; &amp;#x2013; Supplemental Cash Flow Information&lt;/div&gt;&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&amp;nbsp;&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;The following tables presents the cash flow changes in operating asset and liabilities:&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&amp;nbsp;&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&amp;nbsp;&lt;/div&gt; &lt;div&gt; &lt;table style="border-collapse: collapse; font: 10pt Times New Roman, Times, Serif; min-width: 700px;" cellspacing="0" cellpadding="0"&gt;  &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td style="font-style: italic"&gt;Year Ended&lt;/td&gt; &lt;td style="font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;div style="display: inline; font-weight: bold;"&gt;January 31,&lt;/div&gt;&lt;/div&gt;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; white-space: nowrap; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; text-align: right"&gt;&lt;div style="display: inline; font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;January 31,&lt;/div&gt;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; text-align: right"&gt;&lt;div style="display: inline; font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;January 31,&lt;/div&gt;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td style="padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: right"&gt;2020&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;2019&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;2018&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td style="width: 55%; text-align: left"&gt;Trade accounts receivable&lt;/td&gt; &lt;td style="width: 2%; font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 1%; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 11%; font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;3,733&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; width: 1%; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 2%"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 1%; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 11%; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;(135&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; width: 1%; text-align: left"&gt;)&lt;/td&gt; &lt;td style="width: 2%"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 1%; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 11%; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;(1,963&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; width: 1%; text-align: left"&gt;)&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td style="text-align: left"&gt;Other accounts receivable&lt;/td&gt; &lt;td style="font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;(2,547&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; font-weight: bold; text-align: left"&gt;)&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;(451&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;)&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;16&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td style="text-align: left"&gt;Prepaid expenses and other&lt;/td&gt; &lt;td style="font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;(5,942&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; font-weight: bold; text-align: left"&gt;)&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;(4,466&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;)&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;(1,772&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;)&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td&gt;Inventory&lt;/td&gt; &lt;td style="font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;(345&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; font-weight: bold; text-align: left"&gt;)&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;74&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;52&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td style="text-align: left"&gt;Accounts payable&lt;/td&gt; &lt;td style="font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;1,768&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;(1,065&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;)&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;1,428&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td style="text-align: left"&gt;Accrued liabilities&lt;/td&gt; &lt;td style="font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;3,265&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;2,570&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;(592&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;)&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td style="text-align: left"&gt;Income taxes payable&lt;/td&gt; &lt;td style="font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;(1,550&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; font-weight: bold; text-align: left"&gt;)&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;(2,423&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;)&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;6,326&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td style="text-align: left"&gt;Operating leases&lt;/td&gt; &lt;td style="font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;546&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;&amp;#x2013;&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;&amp;#x2013;&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td style="text-align: left; padding-bottom: 1pt"&gt;Deferred revenue&lt;/td&gt; &lt;td style="font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;(4,184&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; font-weight: bold; text-align: left"&gt;)&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;2,047&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;902&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td style="padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;(5,256&lt;/div&gt;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; white-space: nowrap; font-weight: bold; text-align: left"&gt;)&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;(3,849&lt;/div&gt;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; white-space: nowrap; text-align: left"&gt;)&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;4,397&lt;/div&gt;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt;  &lt;/table&gt; &lt;/div&gt;&lt;/div&gt;</us-gaap:CashFlowSupplementalDisclosuresTextBlock>
  <us-gaap:CommitmentsAndContingencies contextRef="i_2020-01-31" id="c59148108" unitRef="iso4217-usd" xs:nil="true"/>
  <us-gaap:CommitmentsAndContingencies contextRef="i_2019-01-31" id="c59148109" unitRef="iso4217-usd" xs:nil="true"/>
  <us-gaap:CommitmentsAndContingenciesDisclosureTextBlock contextRef="d_2019-02-01_2020-01-31" id="s1506279">&lt;div style="display: inline; font-family: times new roman; font-size: 10pt"&gt;&lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"&gt;&lt;div style="display: inline; font-weight: bold;"&gt;Note &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;14&lt;/div&gt; - Commitments, Contingencies and Guarantees&lt;/div&gt;&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&lt;div style="display: inline; font-weight: bold;"&gt;&lt;div style="display: inline; font-style: italic;"&gt;&amp;nbsp;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&lt;div style="display: inline; font-weight: bold;"&gt;&lt;div style="display: inline; font-style: italic;"&gt;Commitments&lt;/div&gt;&lt;/div&gt;&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;As described in Note &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;2&lt;/div&gt; to these consolidated financial statements, we maintain deferred share unit (&amp;#x201c;DSU&amp;#x201d;) and cash-settled restricted share unit (&amp;#x201c;CRSU&amp;#x201d;) plans for our directors and employees. Any payments made pursuant to these plans are settled in cash. For DSUs and CRSUs, the units vest over time and the liability recognized at any given consolidated balance sheet date reflects only those units vested at that date that have &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;not&lt;/div&gt; yet been settled in cash. As such, we had an unrecognized aggregate liability for the unvested CRSUs and DSUs of &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;$1.1&lt;/div&gt; million and &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;nil,&lt;/div&gt; respectively, at &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt; January 31, 2020. &lt;/div&gt;The ultimate liability for any payment of DSUs and CRSUs is dependent on the trading price of our common shares. To partially offset our exposure to fluctuations in our stock price, we have entered into equity derivative contracts, including floating-rate equity forwards. As at &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt; January 31, 2020, &lt;/div&gt;we had equity derivatives for &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;251,422&lt;/div&gt; Descartes common shares and a DSU liability for &lt;div style="display: inline; color: black"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;251,422&lt;/div&gt; Descartes common shares, resulting in minimal net exposure resulting from changes to our share price&lt;/div&gt;.&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&amp;nbsp;&lt;/div&gt; &lt;div style=" font: italic bold 10pt Times New Roman, Times, Serif; margin: 0pt 0"&gt;Contingencies&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;We are subject to a variety of other claims and suits that arise from time to time in the ordinary course of our business. The consequences of these matters are &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;not&lt;/div&gt; presently determinable but, in the opinion of management after consulting with legal counsel, the ultimate aggregate potential liability is &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;not&lt;/div&gt; currently expected to have a material effect on our results of operations or financial position.&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&amp;nbsp;&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&lt;div style="display: inline; text-decoration: underline;"&gt;Product Warranties&lt;/div&gt;&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;In the normal course of operations, we provide our customers with product warranties relating to the performance of our hardware, software and services. To date, we have &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;not&lt;/div&gt; encountered material costs as a result of such obligations and have &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;not&lt;/div&gt; accrued any liabilities related to such obligations in our consolidated financial statements.&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&amp;nbsp;&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&lt;div style="display: inline; text-decoration: underline;"&gt;Business combination agreements&lt;/div&gt;&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;In respect of our acquisitions of PinPoint and CORE, up to &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;$10.1&lt;/div&gt; million in cash &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt; may &lt;/div&gt;become payable if certain revenue performance targets are met in the &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;two&lt;/div&gt; years following the acquisition. A balance of &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;$1.9&lt;/div&gt; million is accrued related to the fair value of this contingent consideration as at &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt; January 31, 2020.&lt;/div&gt;&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&amp;nbsp;&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&lt;/div&gt; &lt;!-- Field: Page; Sequence: 27 --&gt;   &lt;!-- Field: /Page --&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&lt;/div&gt; &lt;div style=" font: italic bold 10pt Times New Roman, Times, Serif; margin: 0pt 0"&gt;Guarantees&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;In the normal course of business, we enter into a variety of agreements that &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt; may &lt;/div&gt;contain features that meet the definition of a guarantee under ASC Topic &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;460,&lt;/div&gt; &amp;#x201c;Guarantees&amp;#x201d;. The following lists our significant guarantees:&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&amp;nbsp;&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&lt;div style="display: inline; text-decoration: underline;"&gt;Intellectual property indemnification obligations&lt;/div&gt;&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;We provide indemnifications of varying scope to our customers against claims of intellectual property infringement made by &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;third&lt;/div&gt; parties arising from the use of our products. In the event of such a claim, we are generally obligated to defend our customers against the claim and we are liable to pay damages and costs assessed against our customers that are payable as part of a final judgment or settlement. These intellectual property infringement indemnification clauses are &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;not&lt;/div&gt; generally subject to any dollar limits and remain in force for the term of our license agreement with our customer, which license terms are typically perpetual. Historically, we have &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;not&lt;/div&gt; encountered material costs as a result of such indemnification obligations.&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&amp;nbsp;&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&lt;div style="display: inline; text-decoration: underline;"&gt;Other indemnification agreements&lt;/div&gt;&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;In the normal course of operations, we enter into various agreements that provide general indemnities. These indemnities typically arise in connection with purchases and sales of assets, securities offerings or buy-backs, service contracts, administration of employee benefit plans, retention of officers and directors, membership agreements, customer financing transactions, and leasing transactions. In addition, our corporate by-laws provide for the indemnification of our directors and officers. Each of these indemnities requires us, in certain circumstances, to compensate the counterparties for various costs resulting from breaches of representations or obligations under such arrangements, or as a result of &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;third&lt;/div&gt; party claims that &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt; may &lt;/div&gt;be suffered by the counterparty as a consequence of the transaction. We believe that the likelihood that we could incur significant liability under these obligations is remote. Historically, we have &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;not&lt;/div&gt; made any significant payments under such indemnities.&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&amp;nbsp;&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;In evaluating estimated losses for the guarantees or indemnities described above, we consider such factors as the degree of probability of an unfavorable outcome and the ability to make a reasonable estimate of the amount of loss. We are unable to make a reasonable estimate of the maximum potential amount payable under such guarantees or indemnities as many of these arrangements do &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;not&lt;/div&gt; specify a maximum potential dollar exposure or time limitation. The amount also depends on the outcome of future events and conditions, which cannot be predicted. Given the foregoing, to date, we have &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;not&lt;/div&gt; accrued any liability in our consolidated financial statements for the guarantees or indemnities described above.&lt;/div&gt;&lt;/div&gt;</us-gaap:CommitmentsAndContingenciesDisclosureTextBlock>
  <us-gaap:CommonStockSharesIssued contextRef="i_2020-01-31" decimals="INF" id="c59148113" unitRef="xbrli-shares">84156316</us-gaap:CommonStockSharesIssued>
  <us-gaap:CommonStockSharesIssued contextRef="i_2019-01-31" decimals="INF" id="c59148114" unitRef="xbrli-shares">76864866</us-gaap:CommonStockSharesIssued>
  <us-gaap:CommonStockSharesOutstanding contextRef="i_2020-01-31" decimals="INF" id="c59148115" unitRef="xbrli-shares">84156316</us-gaap:CommonStockSharesOutstanding>
  <us-gaap:CommonStockSharesOutstanding contextRef="i_2019-01-31" decimals="INF" id="c59148116" unitRef="xbrli-shares">76864866</us-gaap:CommonStockSharesOutstanding>
  <us-gaap:CommonStockSharesOutstanding contextRef="i_2018-01-31" decimals="-3" id="c59149800" unitRef="xbrli-shares">76773000</us-gaap:CommonStockSharesOutstanding>
  <us-gaap:CommonStockSharesOutstanding contextRef="i_2017-01-31" decimals="-3" id="c59149801" unitRef="xbrli-shares">75875000</us-gaap:CommonStockSharesOutstanding>
  <us-gaap:CommonStockValue contextRef="i_2020-01-31" decimals="-3" id="c59148111" unitRef="iso4217-usd">524154000</us-gaap:CommonStockValue>
  <us-gaap:CommonStockValue contextRef="i_2019-01-31" decimals="-3" id="c59148112" unitRef="iso4217-usd">276753000</us-gaap:CommonStockValue>
  <us-gaap:ComprehensiveIncomeNetOfTax contextRef="d_2019-02-01_2020-01-31" decimals="-3" id="c59148208" unitRef="iso4217-usd">36254000</us-gaap:ComprehensiveIncomeNetOfTax>
  <us-gaap:ComprehensiveIncomeNetOfTax contextRef="d_2018-02-01_2019-01-31" decimals="-3" id="c59148209" unitRef="iso4217-usd">21328000</us-gaap:ComprehensiveIncomeNetOfTax>
  <us-gaap:ComprehensiveIncomeNetOfTax contextRef="d_2017-02-01_2018-01-31" decimals="-3" id="c59148210" unitRef="iso4217-usd">44406000</us-gaap:ComprehensiveIncomeNetOfTax>
  <us-gaap:ConsolidationPolicyTextBlock contextRef="d_2019-02-01_2020-01-31" id="c59148351">&lt;div style="display: inline; font-family: times new roman; font-size: 10pt"&gt;&lt;div style="display: inline; font-family: times new roman; font-size: 10pt"&gt;&lt;div style="display: inline; font-family: times new roman; font-size: 10pt"&gt;&lt;div style="display: inline; font-family: times new roman; font-size: 10pt"&gt;&lt;div style="display: inline; font-family: times new roman; font-size: 10pt"&gt;&lt;div style="display: inline; font-family: times new roman; font-size: 10pt"&gt;&lt;div style="display: inline; font-family: times new roman; font-size: 10pt"&gt;&lt;div style="display: inline; font-family: times new roman; font-size: 10pt"&gt;&lt;div style="display: inline; font-family: times new roman; font-size: 10pt"&gt;&lt;div style="display: inline; font-family: times new roman; font-size: 10pt"&gt;&lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"&gt;&lt;div style="display: inline; font-weight: bold;"&gt;&lt;div style="display: inline; font-style: italic;"&gt;Basis of consolidation&lt;/div&gt;&lt;/div&gt;&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;The consolidated financial statements include the financial statements of Descartes and our wholly-owned subsidiaries. We do &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;not&lt;/div&gt; have any variable interests in variable interest entities. All intercompany accounts and transactions have been eliminated during consolidation.&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;</us-gaap:ConsolidationPolicyTextBlock>
  <us-gaap:ContractWithCustomerAssetAndLiabilityTableTextBlock contextRef="d_2019-02-01_2020-01-31" id="c-32">&lt;div style="display: inline; font-family: times new roman; font-size: 10pt"&gt;&lt;table style="border-collapse: collapse; font: 10pt Times New Roman, Times, Serif; min-; min-width: 700px;" cellspacing="0" cellpadding="0"&gt; &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td style="padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;div style="display: inline; font-weight: bold;"&gt;Deferred Revenue&lt;/div&gt;&lt;/div&gt;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; white-space: nowrap; border-bottom: Black 1pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td style="width: 84%; text-indent: -0.5in; padding-left: 0.5in"&gt;Balance at January 31, 2018&lt;/td&gt; &lt;td style="width: 2%"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 1%; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 12%; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;32,113&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; width: 1%; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td style="text-align: left; padding-left: 15pt"&gt;Recognition of previously deferred revenue&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;(27,252&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;)&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td style="padding-left: 15pt"&gt;Deferral of revenue&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;29,423&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td style="text-align: left; padding-left: 15pt"&gt;Increases from business combinations, net&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;1,789&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td style="text-align: left; padding-bottom: 1pt; padding-left: 15pt"&gt;Effect of movements in foreign exchange&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;(982&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left"&gt;)&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td style="text-indent: -0.5in; padding-left: 0.5in"&gt;Balance at January 31, 2019&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;35,091&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td style="text-align: left; padding-left: 15pt"&gt;Recognition of previously deferred revenue&lt;/td&gt; &lt;td style="font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;(30,580&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; font-weight: bold; text-align: left"&gt;)&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td style="padding-left: 15pt"&gt;Deferral of revenue&lt;/td&gt; &lt;td style="font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;37,408&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td style="text-align: left; padding-left: 15pt"&gt;Increases from business combinations, net&lt;/td&gt; &lt;td style="font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;551&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td style="text-align: left; padding-bottom: 1pt; padding-left: 15pt"&gt;Effect of movements in foreign exchange&lt;/td&gt; &lt;td style="font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;(407&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; font-weight: bold; text-align: left"&gt;)&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td style="padding-bottom: 1pt; text-indent: -15pt; padding-left: 15pt"&gt;Balance at January 31, 2020&lt;/td&gt; &lt;td style="font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;42,063&lt;/div&gt;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; white-space: nowrap; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td style="padding-left: 15pt"&gt;Current&lt;/td&gt; &lt;td style="font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;41,143&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td style="padding-bottom: 1pt; padding-left: 15pt"&gt;Long-term&lt;/td&gt; &lt;td style="font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;920&lt;/div&gt;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; white-space: nowrap; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;/table&gt;&lt;/div&gt;&lt;div style="display: inline; font-family: times new roman; font-size: 10pt"&gt;&lt;table cellpadding="0" cellspacing="0" style="border-collapse: collapse; font: 10pt Times New Roman, Times, Serif; min-; min-width: 700px;"&gt; &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td style="padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;div style="display: inline; font-weight: bold;"&gt;Contract Assets&lt;/div&gt;&lt;/div&gt;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; white-space: nowrap; border-bottom: Black 1pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td style="text-indent: -0.5in; padding-left: 0.5in"&gt;Balance at January 31, 2018&lt;/td&gt; &lt;td style="font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;&amp;#x2013;&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td style="width: 84%; text-align: left; padding-bottom: 1pt; padding-left: 15pt"&gt;Adjustment for adoption of ASC 606&lt;/td&gt; &lt;td style="width: 2%"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 1%; border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 12%; border-bottom: Black 1pt solid; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;495&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; width: 1%; border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td style="text-indent: -0.5in; padding-left: 0.5in"&gt;Balance at February 1, 2018&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;495&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td style="text-align: left; padding-left: 15pt"&gt;Transfers to trade receivables from contract assets&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;(266&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;)&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td style="text-align: left; padding-left: 15pt"&gt;Increases as a result of delivered term licenses recognized as revenue during the period, net of amounts transferred to trade receivables&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;606&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td style="text-align: left; padding-bottom: 1pt; padding-left: 15pt"&gt;Effect of movements in foreign exchange&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;(23&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left"&gt;)&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td style="text-indent: -0.5in; padding-left: 0.5in"&gt;Balance at January 31, 2019&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;812&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td style="text-align: left; padding-left: 15pt"&gt;Transfers to trade receivables from contract assets&lt;/td&gt; &lt;td style="font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;(490&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; font-weight: bold; text-align: left"&gt;)&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td style="text-align: left; padding-left: 15pt"&gt;Increases as a result of delivered term licenses recognized as revenue during the period, net of amounts transferred to trade receivables&lt;/td&gt; &lt;td style="font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;791&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td style="text-align: left; padding-bottom: 1pt; padding-left: 15pt"&gt;Effect of movements in foreign exchange&lt;/td&gt; &lt;td style="font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;(6&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; font-weight: bold; text-align: left"&gt;)&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td style="padding-bottom: 1pt; text-indent: -15pt; padding-left: 15pt"&gt;Balance at January 31, 2020&lt;/td&gt; &lt;td style="font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;1,107&lt;/div&gt;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; white-space: nowrap; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;/table&gt;&lt;/div&gt;</us-gaap:ContractWithCustomerAssetAndLiabilityTableTextBlock>
  <us-gaap:ContractWithCustomerAssetNet contextRef="i_2018-02-01_AdjustmentsForNewAccountingPronouncementsAxis-AccountingStandardsUpdate201409Member" decimals="-3" id="c59148486" unitRef="iso4217-usd">500000</us-gaap:ContractWithCustomerAssetNet>
  <us-gaap:ContractWithCustomerAssetNet contextRef="i_2018-01-31" decimals="-3" id="c59150339" unitRef="iso4217-usd">495000</us-gaap:ContractWithCustomerAssetNet>
  <us-gaap:ContractWithCustomerAssetNet contextRef="i_2019-01-31" decimals="-3" id="c59150343" unitRef="iso4217-usd">812000</us-gaap:ContractWithCustomerAssetNet>
  <us-gaap:ContractWithCustomerAssetNet contextRef="i_2020-01-31" decimals="-3" id="c59150347" unitRef="iso4217-usd">1107000</us-gaap:ContractWithCustomerAssetNet>
  <us-gaap:ContractWithCustomerAssetReclassifiedToReceivable contextRef="d_2018-02-01_2019-01-31" decimals="-3" id="c59150340" unitRef="iso4217-usd">266000</us-gaap:ContractWithCustomerAssetReclassifiedToReceivable>
  <us-gaap:ContractWithCustomerAssetReclassifiedToReceivable contextRef="d_2019-02-01_2020-01-31" decimals="-3" id="c59150344" unitRef="iso4217-usd">490000</us-gaap:ContractWithCustomerAssetReclassifiedToReceivable>
  <us-gaap:ContractWithCustomerLiability contextRef="i_2018-01-31" decimals="-3" id="c59150324" unitRef="iso4217-usd">32113000</us-gaap:ContractWithCustomerLiability>
  <us-gaap:ContractWithCustomerLiability contextRef="i_2019-01-31" decimals="-3" id="c59150329" unitRef="iso4217-usd">35091000</us-gaap:ContractWithCustomerLiability>
  <us-gaap:ContractWithCustomerLiability contextRef="i_2020-01-31" decimals="-3" id="c59150334" unitRef="iso4217-usd">42063000</us-gaap:ContractWithCustomerLiability>
  <us-gaap:ContractWithCustomerLiabilityCurrent contextRef="i_2020-01-31" decimals="-3" id="c59150335" unitRef="iso4217-usd">41143000</us-gaap:ContractWithCustomerLiabilityCurrent>
  <us-gaap:ContractWithCustomerLiabilityCurrent contextRef="i_2019-01-31" decimals="-3" id="c59148092" unitRef="iso4217-usd">34236000</us-gaap:ContractWithCustomerLiabilityCurrent>
  <us-gaap:ContractWithCustomerLiabilityIncreaseDecreaseForContractAcquiredInBusinessCombination contextRef="d_2018-02-01_2019-01-31" decimals="-3" id="c59150327" unitRef="iso4217-usd">1789000</us-gaap:ContractWithCustomerLiabilityIncreaseDecreaseForContractAcquiredInBusinessCombination>
  <us-gaap:ContractWithCustomerLiabilityIncreaseDecreaseForContractAcquiredInBusinessCombination contextRef="d_2019-02-01_2020-01-31" decimals="-3" id="c59150332" unitRef="iso4217-usd">551000</us-gaap:ContractWithCustomerLiabilityIncreaseDecreaseForContractAcquiredInBusinessCombination>
  <us-gaap:ContractWithCustomerLiabilityNoncurrent contextRef="i_2020-01-31" decimals="-3" id="c59150336" unitRef="iso4217-usd">920000</us-gaap:ContractWithCustomerLiabilityNoncurrent>
  <us-gaap:ContractWithCustomerLiabilityRevenueRecognized contextRef="d_2018-02-01_2019-01-31" decimals="-3" id="c59150325" unitRef="iso4217-usd">-27252000</us-gaap:ContractWithCustomerLiabilityRevenueRecognized>
  <us-gaap:ContractWithCustomerLiabilityRevenueRecognized contextRef="d_2019-02-01_2020-01-31" decimals="-3" id="c59150330" unitRef="iso4217-usd">-30580000</us-gaap:ContractWithCustomerLiabilityRevenueRecognized>
  <us-gaap:ContractualObligation contextRef="i_2019-01-31_LeaseArrangementTypeAxis-OperatingLeasesMember" decimals="-3" id="c59149757" unitRef="iso4217-usd">13901000</us-gaap:ContractualObligation>
  <us-gaap:ContractualObligation contextRef="i_2019-01-31_LeaseArrangementTypeAxis-CapitalLeasesMember" decimals="-3" id="c59149758" unitRef="iso4217-usd">53000</us-gaap:ContractualObligation>
  <us-gaap:ContractualObligation contextRef="i_2019-01-31" decimals="-3" id="c59149759" unitRef="iso4217-usd">13954000</us-gaap:ContractualObligation>
  <us-gaap:ContractualObligationDueInFifthYear contextRef="i_2019-01-31_LeaseArrangementTypeAxis-OperatingLeasesMember" decimals="-3" id="c59149745" unitRef="iso4217-usd">1038000</us-gaap:ContractualObligationDueInFifthYear>
  <us-gaap:ContractualObligationDueInFifthYear contextRef="i_2019-01-31" decimals="-3" id="c59149747" unitRef="iso4217-usd">1038000</us-gaap:ContractualObligationDueInFifthYear>
  <us-gaap:ContractualObligationDueInFourthYear contextRef="i_2019-01-31_LeaseArrangementTypeAxis-OperatingLeasesMember" decimals="-3" id="c59149742" unitRef="iso4217-usd">1470000</us-gaap:ContractualObligationDueInFourthYear>
  <us-gaap:ContractualObligationDueInFourthYear contextRef="i_2019-01-31" decimals="-3" id="c59149744" unitRef="iso4217-usd">1470000</us-gaap:ContractualObligationDueInFourthYear>
  <us-gaap:ContractualObligationDueInNextTwelveMonths contextRef="i_2019-01-31_LeaseArrangementTypeAxis-OperatingLeasesMember" decimals="-3" id="c59149733" unitRef="iso4217-usd">4627000</us-gaap:ContractualObligationDueInNextTwelveMonths>
  <us-gaap:ContractualObligationDueInNextTwelveMonths contextRef="i_2019-01-31_LeaseArrangementTypeAxis-CapitalLeasesMember" decimals="-3" id="c59149734" unitRef="iso4217-usd">51000</us-gaap:ContractualObligationDueInNextTwelveMonths>
  <us-gaap:ContractualObligationDueInNextTwelveMonths contextRef="i_2019-01-31" decimals="-3" id="c59149735" unitRef="iso4217-usd">4678000</us-gaap:ContractualObligationDueInNextTwelveMonths>
  <us-gaap:ContractualObligationDueInSecondYear contextRef="i_2019-01-31_LeaseArrangementTypeAxis-OperatingLeasesMember" decimals="-3" id="c59149736" unitRef="iso4217-usd">3046000</us-gaap:ContractualObligationDueInSecondYear>
  <us-gaap:ContractualObligationDueInSecondYear contextRef="i_2019-01-31_LeaseArrangementTypeAxis-CapitalLeasesMember" decimals="-3" id="c59149737" unitRef="iso4217-usd">2000</us-gaap:ContractualObligationDueInSecondYear>
  <us-gaap:ContractualObligationDueInSecondYear contextRef="i_2019-01-31" decimals="-3" id="c59149738" unitRef="iso4217-usd">3048000</us-gaap:ContractualObligationDueInSecondYear>
  <us-gaap:ContractualObligationDueInThirdYear contextRef="i_2019-01-31_LeaseArrangementTypeAxis-OperatingLeasesMember" decimals="-3" id="c59149739" unitRef="iso4217-usd">1979000</us-gaap:ContractualObligationDueInThirdYear>
  <us-gaap:ContractualObligationDueInThirdYear contextRef="i_2019-01-31" decimals="-3" id="c59149741" unitRef="iso4217-usd">1979000</us-gaap:ContractualObligationDueInThirdYear>
  <us-gaap:CostOfGoodsAndServicesSold contextRef="d_2019-02-01_2020-01-31" decimals="-3" id="c59148130" unitRef="iso4217-usd">85721000</us-gaap:CostOfGoodsAndServicesSold>
  <us-gaap:CostOfGoodsAndServicesSold contextRef="d_2018-02-01_2019-01-31" decimals="-3" id="c59148131" unitRef="iso4217-usd">74994000</us-gaap:CostOfGoodsAndServicesSold>
  <us-gaap:CostOfGoodsAndServicesSold contextRef="d_2017-02-01_2018-01-31" decimals="-3" id="c59148132" unitRef="iso4217-usd">63704000</us-gaap:CostOfGoodsAndServicesSold>
  <us-gaap:CumulativeEffectOfNewAccountingPrincipleInPeriodOfAdoption contextRef="i_2018-02-01_AdjustmentsForNewAccountingPronouncementsAxis-AccountingStandardsUpdate201606Member_StatementEquityComponentsAxis-RetainedEarningsMember" decimals="-3" id="c59148503" unitRef="iso4217-usd">4000000</us-gaap:CumulativeEffectOfNewAccountingPrincipleInPeriodOfAdoption>
  <us-gaap:CumulativeEffectOfNewAccountingPrincipleInPeriodOfAdoption contextRef="i_2020-01-31_StatementEquityComponentsAxis-AdditionalPaidInCapitalMember" id="c59148237" unitRef="iso4217-usd" xs:nil="true"/>
  <us-gaap:CumulativeEffectOfNewAccountingPrincipleInPeriodOfAdoption contextRef="i_2019-01-31_StatementEquityComponentsAxis-AdditionalPaidInCapitalMember" id="c59148238" unitRef="iso4217-usd" xs:nil="true"/>
  <us-gaap:CumulativeEffectOfNewAccountingPrincipleInPeriodOfAdoption contextRef="i_2018-01-31_StatementEquityComponentsAxis-AdditionalPaidInCapitalMember" decimals="-3" id="c59148239" unitRef="iso4217-usd">37000</us-gaap:CumulativeEffectOfNewAccountingPrincipleInPeriodOfAdoption>
  <us-gaap:CumulativeEffectOfNewAccountingPrincipleInPeriodOfAdoption contextRef="i_2020-01-31_StatementEquityComponentsAxis-RetainedEarningsMember" id="c59148260" unitRef="iso4217-usd" xs:nil="true"/>
  <us-gaap:CumulativeEffectOfNewAccountingPrincipleInPeriodOfAdoption contextRef="i_2019-01-31_StatementEquityComponentsAxis-RetainedEarningsMember" decimals="-3" id="c59148261" unitRef="iso4217-usd">7579000</us-gaap:CumulativeEffectOfNewAccountingPrincipleInPeriodOfAdoption>
  <us-gaap:CumulativeEffectOfNewAccountingPrincipleInPeriodOfAdoption contextRef="i_2018-01-31_StatementEquityComponentsAxis-RetainedEarningsMember" decimals="-3" id="c59148262" unitRef="iso4217-usd">-37000</us-gaap:CumulativeEffectOfNewAccountingPrincipleInPeriodOfAdoption>
  <us-gaap:CurrentIncomeTaxExpenseBenefit contextRef="d_2019-02-01_2020-01-31" decimals="-3" id="c59148168" unitRef="iso4217-usd">5295000</us-gaap:CurrentIncomeTaxExpenseBenefit>
  <us-gaap:CurrentIncomeTaxExpenseBenefit contextRef="d_2018-02-01_2019-01-31" decimals="-3" id="c59148169" unitRef="iso4217-usd">6042000</us-gaap:CurrentIncomeTaxExpenseBenefit>
  <us-gaap:CurrentIncomeTaxExpenseBenefit contextRef="d_2017-02-01_2018-01-31" decimals="-3" id="c59148170" unitRef="iso4217-usd">6572000</us-gaap:CurrentIncomeTaxExpenseBenefit>
  <us-gaap:CurrentIncomeTaxExpenseBenefit contextRef="d_2019-02-01_2020-02-01_IncomeTaxAuthorityAxis-CA" decimals="-3" id="c59150169" unitRef="iso4217-usd">1020000</us-gaap:CurrentIncomeTaxExpenseBenefit>
  <us-gaap:CurrentIncomeTaxExpenseBenefit contextRef="d_2018-02-01_2019-01-31_IncomeTaxAuthorityAxis-CA" decimals="-3" id="c59150170" unitRef="iso4217-usd">3037000</us-gaap:CurrentIncomeTaxExpenseBenefit>
  <us-gaap:CurrentIncomeTaxExpenseBenefit contextRef="d_2017-02-01_2018-01-31_IncomeTaxAuthorityAxis-CA" decimals="-3" id="c59150171" unitRef="iso4217-usd">1243000</us-gaap:CurrentIncomeTaxExpenseBenefit>
  <us-gaap:CurrentIncomeTaxExpenseBenefit contextRef="d_2019-02-01_2020-02-01_IncomeTaxAuthorityAxis-US" decimals="-3" id="c59150172" unitRef="iso4217-usd">3496000</us-gaap:CurrentIncomeTaxExpenseBenefit>
  <us-gaap:CurrentIncomeTaxExpenseBenefit contextRef="d_2018-02-01_2019-01-31_IncomeTaxAuthorityAxis-US" decimals="-3" id="c59150173" unitRef="iso4217-usd">1298000</us-gaap:CurrentIncomeTaxExpenseBenefit>
  <us-gaap:CurrentIncomeTaxExpenseBenefit contextRef="d_2017-02-01_2018-01-31_IncomeTaxAuthorityAxis-US" decimals="-3" id="c59150174" unitRef="iso4217-usd">494000</us-gaap:CurrentIncomeTaxExpenseBenefit>
  <us-gaap:CurrentIncomeTaxExpenseBenefit contextRef="d_2019-02-01_2020-02-01_IncomeTaxAuthorityAxis-OtherCountriesMember" decimals="-3" id="c59150175" unitRef="iso4217-usd">779000</us-gaap:CurrentIncomeTaxExpenseBenefit>
  <us-gaap:CurrentIncomeTaxExpenseBenefit contextRef="d_2018-02-01_2019-01-31_IncomeTaxAuthorityAxis-OtherCountriesMember" decimals="-3" id="c59150176" unitRef="iso4217-usd">1707000</us-gaap:CurrentIncomeTaxExpenseBenefit>
  <us-gaap:CurrentIncomeTaxExpenseBenefit contextRef="d_2017-02-01_2018-01-31_IncomeTaxAuthorityAxis-OtherCountriesMember" decimals="-3" id="c59150177" unitRef="iso4217-usd">4835000</us-gaap:CurrentIncomeTaxExpenseBenefit>
  <us-gaap:CurrentIncomeTaxExpenseBenefit contextRef="d_2019-02-01_2020-02-01" decimals="-3" id="c59150178" unitRef="iso4217-usd">5295000</us-gaap:CurrentIncomeTaxExpenseBenefit>
  <us-gaap:DebtDisclosureTextBlock contextRef="d_2019-02-01_2020-01-31" id="s1506271">&lt;div style="display: inline; font-family: times new roman; font-size: 10pt"&gt;&lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"&gt;&lt;div style="display: inline; font-weight: bold;"&gt;Note &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;12&lt;/div&gt; - Debt&lt;/div&gt;&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&amp;nbsp;&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;On &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt; January 25, 2019, &lt;/div&gt;we amended and increased our existing &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;$150.0&lt;/div&gt; million senior secured revolving credit facility. The amended facility is now a &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;$350.0&lt;/div&gt; million revolving operating credit facility to be available for general corporate purposes, including the financing of ongoing working capital needs and acquisitions. With the approval of the lenders, the credit facility can be expanded to a total of &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;$500.0&lt;/div&gt; million. The credit facility has a &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;five&lt;/div&gt;-year maturity with &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;no&lt;/div&gt; fixed repayment dates prior to the end of the &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;five&lt;/div&gt;-year term ending &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt; January 2024. &lt;/div&gt;Borrowings under the credit facility are secured by a &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;first&lt;/div&gt; charge over substantially all of Descartes&amp;#x2019; assets. Depending on the type of advance, interest rates under the revolving operating portion of the credit facility are based on the Canada or US prime rate, Bankers&amp;#x2019; Acceptance (BA) or London Interbank Offered Rate (LIBOR) plus an additional &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;0&lt;/div&gt; to &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;250&lt;/div&gt; basis points based on the ratio of net debt to adjusted earnings before interest, taxes, depreciation and amortization, as defined in the credit agreement. A standby fee of between &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;20&lt;/div&gt; to &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;40&lt;/div&gt; basis points will be charged on all undrawn amounts. The credit facility contains certain customary representations, warranties and guarantees, and covenants.&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&amp;nbsp;&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;Long-term debt is comprised of the following:&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&amp;nbsp;&lt;/div&gt; &lt;div&gt; &lt;table cellpadding="0" cellspacing="0" style="border-collapse: collapse; font: 10pt Times New Roman, Times, Serif; min-width: 700px;"&gt;  &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td style="text-align: right"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;div style="display: inline; font-weight: bold;"&gt;January 31,&lt;/div&gt;&lt;/div&gt;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; white-space: nowrap; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; text-align: right"&gt;&lt;div style="display: inline; font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;January 31,&lt;/div&gt;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td style="text-align: right; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: right"&gt;2020&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;2019&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td style="width: 68%; text-align: left; padding-bottom: 1pt"&gt;Credit facility&lt;/td&gt; &lt;td style="width: 2%; font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 1%; border-bottom: Black 1pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 12%; border-bottom: Black 1pt solid; font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;&amp;#x2013;&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; width: 1%; border-bottom: Black 1pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 2%; border-bottom: Black 1pt solid"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 1%; border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 12%; border-bottom: Black 1pt solid; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;25,464&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; width: 1%; border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td style="text-align: left; padding-bottom: 1pt"&gt;Available for use&lt;/td&gt; &lt;td style="font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;350,000&lt;/div&gt;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; white-space: nowrap; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;324,536&lt;/div&gt;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt;  &lt;/table&gt; &lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&amp;nbsp;&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;We were in compliance with the covenants of the credit facility as of &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt; January 31, 2020.&lt;/div&gt;&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&amp;nbsp;&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;As at &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt; January 31, 2020, &lt;/div&gt;we had outstanding letters of credit of approximately &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;$0.2&lt;/div&gt; million (&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;$0.2&lt;/div&gt; million as at &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt; January 31, 2019), &lt;/div&gt;which were &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;not&lt;/div&gt; related to our credit facility.&lt;/div&gt;&lt;/div&gt;</us-gaap:DebtDisclosureTextBlock>
  <us-gaap:DebtInstrumentBasisSpreadOnVariableRate1 contextRef="d_2019-01-25_2019-01-25_CreditFacilityAxis-SeniorSecuredCreditFacilityMember_RangeAxis-MinimumMember_VariableRateAxis-CanadaOrUsPrimeRateBaOrLiborMember" decimals="3" id="c59149697" unitRef="xbrli-pure">0</us-gaap:DebtInstrumentBasisSpreadOnVariableRate1>
  <us-gaap:DebtInstrumentBasisSpreadOnVariableRate1 contextRef="d_2019-01-25_2019-01-25_CreditFacilityAxis-SeniorSecuredCreditFacilityMember_RangeAxis-MaximumMember_VariableRateAxis-CanadaOrUsPrimeRateBaOrLiborMember" decimals="3" id="c59149698" unitRef="xbrli-pure">0.025</us-gaap:DebtInstrumentBasisSpreadOnVariableRate1>
  <us-gaap:DebtInstrumentTerm contextRef="d_2019-01-25_2019-01-25_CreditFacilityAxis-LineOfCreditBorrowingsToSupportForeignExchangeAndInterestRateHedgingMember_DebtInstrumentAxis-SeniorSecuredCreditFacilityMember" id="c59149693">P5Y</us-gaap:DebtInstrumentTerm>
  <us-gaap:DeferredCompensationSharebasedArrangementsLiabilityCurrentAndNoncurrent contextRef="i_2020-01-31_PlanNameAxis-DeferredShareUnitPlanMember" decimals="-3" id="c59149889" unitRef="iso4217-usd">11300000</us-gaap:DeferredCompensationSharebasedArrangementsLiabilityCurrentAndNoncurrent>
  <us-gaap:DeferredCompensationSharebasedArrangementsLiabilityCurrentAndNoncurrent contextRef="i_2019-01-31_PlanNameAxis-DeferredShareUnitPlanMember" decimals="-3" id="c59149890" unitRef="iso4217-usd">8600000</us-gaap:DeferredCompensationSharebasedArrangementsLiabilityCurrentAndNoncurrent>
  <us-gaap:DeferredCompensationSharebasedArrangementsLiabilityCurrentAndNoncurrent contextRef="i_2020-01-31_PlanNameAxis-CashsettledRestrictedShareUnitMember" decimals="-3" id="c59149901" unitRef="iso4217-usd">800000</us-gaap:DeferredCompensationSharebasedArrangementsLiabilityCurrentAndNoncurrent>
  <us-gaap:DeferredCompensationSharebasedArrangementsLiabilityCurrentAndNoncurrent contextRef="i_2019-01-31_PlanNameAxis-CashsettledRestrictedShareUnitMember" decimals="-3" id="c59149902" unitRef="iso4217-usd">600000</us-gaap:DeferredCompensationSharebasedArrangementsLiabilityCurrentAndNoncurrent>
  <us-gaap:DeferredIncomeTaxAssetsNet contextRef="i_2020-01-31" decimals="-3" id="c59148073" unitRef="iso4217-usd">21602000</us-gaap:DeferredIncomeTaxAssetsNet>
  <us-gaap:DeferredIncomeTaxAssetsNet contextRef="i_2019-01-31" decimals="-3" id="c59148074" unitRef="iso4217-usd">3598000</us-gaap:DeferredIncomeTaxAssetsNet>
  <us-gaap:DeferredIncomeTaxExpenseBenefit contextRef="d_2019-02-01_2020-01-31" decimals="-3" id="c59148286" unitRef="iso4217-usd">5743000</us-gaap:DeferredIncomeTaxExpenseBenefit>
  <us-gaap:DeferredIncomeTaxExpenseBenefit contextRef="d_2018-02-01_2019-01-31" decimals="-3" id="c59148287" unitRef="iso4217-usd">2191000</us-gaap:DeferredIncomeTaxExpenseBenefit>
  <us-gaap:DeferredIncomeTaxExpenseBenefit contextRef="d_2017-02-01_2018-01-31" decimals="-3" id="c59148288" unitRef="iso4217-usd">1297000</us-gaap:DeferredIncomeTaxExpenseBenefit>
  <us-gaap:DeferredIncomeTaxExpenseBenefit contextRef="d_2019-02-01_2020-02-01_IncomeTaxAuthorityAxis-CA" decimals="-3" id="c59150182" unitRef="iso4217-usd">5008000</us-gaap:DeferredIncomeTaxExpenseBenefit>
  <us-gaap:DeferredIncomeTaxExpenseBenefit contextRef="d_2018-02-01_2019-01-31_IncomeTaxAuthorityAxis-CA" decimals="-3" id="c59150183" unitRef="iso4217-usd">2531000</us-gaap:DeferredIncomeTaxExpenseBenefit>
  <us-gaap:DeferredIncomeTaxExpenseBenefit contextRef="d_2017-02-01_2018-01-31_IncomeTaxAuthorityAxis-CA" decimals="-3" id="c59150184" unitRef="iso4217-usd">2051000</us-gaap:DeferredIncomeTaxExpenseBenefit>
  <us-gaap:DeferredIncomeTaxExpenseBenefit contextRef="d_2019-02-01_2020-02-01_IncomeTaxAuthorityAxis-US" decimals="-3" id="c59150185" unitRef="iso4217-usd">1390000</us-gaap:DeferredIncomeTaxExpenseBenefit>
  <us-gaap:DeferredIncomeTaxExpenseBenefit contextRef="d_2018-02-01_2019-01-31_IncomeTaxAuthorityAxis-US" decimals="-3" id="c59150186" unitRef="iso4217-usd">67000</us-gaap:DeferredIncomeTaxExpenseBenefit>
  <us-gaap:DeferredIncomeTaxExpenseBenefit contextRef="d_2017-02-01_2018-01-31_IncomeTaxAuthorityAxis-US" decimals="-3" id="c59150187" unitRef="iso4217-usd">1876000</us-gaap:DeferredIncomeTaxExpenseBenefit>
  <us-gaap:DeferredIncomeTaxExpenseBenefit contextRef="d_2019-02-01_2020-02-01_IncomeTaxAuthorityAxis-OtherCountriesMember" decimals="-3" id="c59150188" unitRef="iso4217-usd">-655000</us-gaap:DeferredIncomeTaxExpenseBenefit>
  <us-gaap:DeferredIncomeTaxExpenseBenefit contextRef="d_2018-02-01_2019-01-31_IncomeTaxAuthorityAxis-OtherCountriesMember" decimals="-3" id="c59150189" unitRef="iso4217-usd">-407000</us-gaap:DeferredIncomeTaxExpenseBenefit>
  <us-gaap:DeferredIncomeTaxExpenseBenefit contextRef="d_2017-02-01_2018-01-31_IncomeTaxAuthorityAxis-OtherCountriesMember" decimals="-3" id="c59150190" unitRef="iso4217-usd">-2630000</us-gaap:DeferredIncomeTaxExpenseBenefit>
  <us-gaap:DeferredIncomeTaxExpenseBenefit contextRef="d_2019-02-01_2020-02-01" decimals="-3" id="c59150191" unitRef="iso4217-usd">5743000</us-gaap:DeferredIncomeTaxExpenseBenefit>
  <us-gaap:DeferredIncomeTaxLiabilities contextRef="i_2020-01-31" decimals="-3" id="c59150215" unitRef="iso4217-usd">43097000</us-gaap:DeferredIncomeTaxLiabilities>
  <us-gaap:DeferredIncomeTaxLiabilities contextRef="i_2019-01-31" decimals="-3" id="c59150216" unitRef="iso4217-usd">25457000</us-gaap:DeferredIncomeTaxLiabilities>
  <us-gaap:DeferredIncomeTaxLiabilitiesNet contextRef="i_2018-02-01_AdjustmentsForNewAccountingPronouncementsAxis-AccountingStandardsUpdate201409Member" decimals="-3" id="c59148488" unitRef="iso4217-usd">1100000</us-gaap:DeferredIncomeTaxLiabilitiesNet>
  <us-gaap:DeferredIncomeTaxLiabilitiesNet contextRef="i_2020-01-31" decimals="-3" id="c59148103" unitRef="iso4217-usd">15067000</us-gaap:DeferredIncomeTaxLiabilitiesNet>
  <us-gaap:DeferredIncomeTaxLiabilitiesNet contextRef="i_2019-01-31" decimals="-3" id="c59148104" unitRef="iso4217-usd">15507000</us-gaap:DeferredIncomeTaxLiabilitiesNet>
  <us-gaap:DeferredRevenueNoncurrent contextRef="i_2020-01-31" decimals="-3" id="c59148099" unitRef="iso4217-usd">920000</us-gaap:DeferredRevenueNoncurrent>
  <us-gaap:DeferredRevenueNoncurrent contextRef="i_2019-01-31" decimals="-3" id="c59148100" unitRef="iso4217-usd">855000</us-gaap:DeferredRevenueNoncurrent>
  <us-gaap:DeferredTaxAssetsGross contextRef="i_2020-01-31" decimals="-3" id="c59150206" unitRef="iso4217-usd">60102000</us-gaap:DeferredTaxAssetsGross>
  <us-gaap:DeferredTaxAssetsGross contextRef="i_2019-01-31" decimals="-3" id="c59150207" unitRef="iso4217-usd">23475000</us-gaap:DeferredTaxAssetsGross>
  <us-gaap:DeferredTaxAssetsOperatingLossCarryforwards contextRef="i_2020-01-31" decimals="-3" id="c59150200" unitRef="iso4217-usd">10579000</us-gaap:DeferredTaxAssetsOperatingLossCarryforwards>
  <us-gaap:DeferredTaxAssetsOperatingLossCarryforwards contextRef="i_2019-01-31" decimals="-3" id="c59150201" unitRef="iso4217-usd">11081000</us-gaap:DeferredTaxAssetsOperatingLossCarryforwards>
  <us-gaap:DeferredTaxAssetsPropertyPlantAndEquipment contextRef="i_2020-01-31" decimals="-3" id="c59150202" unitRef="iso4217-usd">33929000</us-gaap:DeferredTaxAssetsPropertyPlantAndEquipment>
  <us-gaap:DeferredTaxAssetsPropertyPlantAndEquipment contextRef="i_2019-01-31" id="c59150203" unitRef="iso4217-usd" xs:nil="true"/>
  <us-gaap:DeferredTaxAssetsTaxCreditCarryforwardsResearch contextRef="i_2020-01-31" decimals="-3" id="c59150204" unitRef="iso4217-usd">756000</us-gaap:DeferredTaxAssetsTaxCreditCarryforwardsResearch>
  <us-gaap:DeferredTaxAssetsTaxCreditCarryforwardsResearch contextRef="i_2019-01-31" decimals="-3" id="c59150205" unitRef="iso4217-usd">911000</us-gaap:DeferredTaxAssetsTaxCreditCarryforwardsResearch>
  <us-gaap:DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsShareBasedCompensationCost contextRef="i_2020-01-31" decimals="-3" id="c59149849" unitRef="iso4217-usd">700000</us-gaap:DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsShareBasedCompensationCost>
  <us-gaap:DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsShareBasedCompensationCost contextRef="i_2019-01-31" decimals="-3" id="c59149850" unitRef="iso4217-usd">600000</us-gaap:DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsShareBasedCompensationCost>
  <us-gaap:DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAccruedLiabilities contextRef="i_2020-01-31" decimals="-3" id="c59150198" unitRef="iso4217-usd">14838000</us-gaap:DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAccruedLiabilities>
  <us-gaap:DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAccruedLiabilities contextRef="i_2019-01-31" decimals="-3" id="c59150199" unitRef="iso4217-usd">11483000</us-gaap:DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAccruedLiabilities>
  <us-gaap:DeferredTaxAssetsValuationAllowance contextRef="i_2020-01-31" decimals="-3" id="c59150219" unitRef="iso4217-usd">10470000</us-gaap:DeferredTaxAssetsValuationAllowance>
  <us-gaap:DeferredTaxAssetsValuationAllowance contextRef="i_2019-01-31" decimals="-3" id="c59150220" unitRef="iso4217-usd">9927000</us-gaap:DeferredTaxAssetsValuationAllowance>
  <us-gaap:DeferredTaxLiabilitiesGoodwillAndIntangibleAssetsIntangibleAssets contextRef="i_2020-01-31" decimals="-3" id="c59150209" unitRef="iso4217-usd">41381000</us-gaap:DeferredTaxLiabilitiesGoodwillAndIntangibleAssetsIntangibleAssets>
  <us-gaap:DeferredTaxLiabilitiesGoodwillAndIntangibleAssetsIntangibleAssets contextRef="i_2019-01-31" decimals="-3" id="c59150210" unitRef="iso4217-usd">23974000</us-gaap:DeferredTaxLiabilitiesGoodwillAndIntangibleAssetsIntangibleAssets>
  <us-gaap:DeferredTaxLiabilitiesOther contextRef="i_2020-01-31" decimals="-3" id="c59150213" unitRef="iso4217-usd">1716000</us-gaap:DeferredTaxLiabilitiesOther>
  <us-gaap:DeferredTaxLiabilitiesOther contextRef="i_2019-01-31" decimals="-3" id="c59150214" unitRef="iso4217-usd">574000</us-gaap:DeferredTaxLiabilitiesOther>
  <us-gaap:DeferredTaxLiabilitiesPropertyPlantAndEquipment contextRef="i_2020-01-31" id="c59150211" unitRef="iso4217-usd" xs:nil="true"/>
  <us-gaap:DeferredTaxLiabilitiesPropertyPlantAndEquipment contextRef="i_2019-01-31" decimals="-3" id="c59150212" unitRef="iso4217-usd">909000</us-gaap:DeferredTaxLiabilitiesPropertyPlantAndEquipment>
  <us-gaap:Depreciation contextRef="d_2019-02-01_2020-01-31" decimals="-3" id="c59148274" unitRef="iso4217-usd">6037000</us-gaap:Depreciation>
  <us-gaap:Depreciation contextRef="d_2018-02-01_2019-01-31" decimals="-3" id="c59148275" unitRef="iso4217-usd">4544000</us-gaap:Depreciation>
  <us-gaap:Depreciation contextRef="d_2017-02-01_2018-01-31" decimals="-3" id="c59148276" unitRef="iso4217-usd">4101000</us-gaap:Depreciation>
  <us-gaap:DerivativeAssets contextRef="i_2020-01-31_HedgingDesignationAxis-DesignatedAsHedgingInstrumentMember" id="c59149558" unitRef="iso4217-usd" xs:nil="true"/>
  <us-gaap:DerivativeAssets contextRef="i_2020-01-31_HedgingDesignationAxis-NondesignatedMember" decimals="-3" id="c59149559" unitRef="iso4217-usd">5656000</us-gaap:DerivativeAssets>
  <us-gaap:DerivativeAssets contextRef="i_2020-01-31" decimals="-3" id="c59149560" unitRef="iso4217-usd">5656000</us-gaap:DerivativeAssets>
  <us-gaap:DerivativeAssets contextRef="i_2019-01-31_HedgingDesignationAxis-DesignatedAsHedgingInstrumentMember" id="c59149562" unitRef="iso4217-usd" xs:nil="true"/>
  <us-gaap:DerivativeAssets contextRef="i_2019-01-31_HedgingDesignationAxis-NondesignatedMember" decimals="-3" id="c59149563" unitRef="iso4217-usd">2794000</us-gaap:DerivativeAssets>
  <us-gaap:DerivativeAssets contextRef="i_2019-01-31" decimals="-3" id="c59149564" unitRef="iso4217-usd">2794000</us-gaap:DerivativeAssets>
  <us-gaap:DerivativeGainOnDerivative contextRef="d_2019-02-01_2020-01-31_IncomeStatementLocationAxis-GeneralAndAdministrativeExpenseMember" decimals="-5" id="c59149554" unitRef="iso4217-usd">4000000</us-gaap:DerivativeGainOnDerivative>
  <us-gaap:DerivativeGainOnDerivative contextRef="d_2018-02-01_2019-01-31_IncomeStatementLocationAxis-GeneralAndAdministrativeExpenseMember" decimals="-5" id="c59149555" unitRef="iso4217-usd">1200000</us-gaap:DerivativeGainOnDerivative>
  <us-gaap:DerivativeGainOnDerivative contextRef="d_2017-02-01_2018-01-31_IncomeStatementLocationAxis-GeneralAndAdministrativeExpenseMember" decimals="-5" id="c59149556" unitRef="iso4217-usd">1100000</us-gaap:DerivativeGainOnDerivative>
  <us-gaap:DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock contextRef="d_2019-02-01_2020-01-31" id="s1506284">&lt;div style="display: inline; font-family: times new roman; font-size: 10pt"&gt;&lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"&gt;&lt;div style="display: inline; font-weight: bold;"&gt;Note &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;17&lt;/div&gt; - Stock-Based Compensation Plans&lt;/div&gt;&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&amp;nbsp;&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;Total estimated stock-based compensation expense recognized in our consolidated statement of operations was as follows:&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&amp;nbsp;&lt;/div&gt; &lt;div&gt; &lt;table cellpadding="0" cellspacing="0" style="border-collapse: collapse; font: 10pt Times New Roman, Times, Serif; min-width: 700px;"&gt;  &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td style="font-style: italic"&gt;Year Ended&lt;/td&gt; &lt;td style="font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;div style="display: inline; font-weight: bold;"&gt;January 31,&lt;/div&gt;&lt;/div&gt;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; white-space: nowrap; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; text-align: right"&gt;&lt;div style="display: inline; font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;January 31,&lt;/div&gt;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; text-align: right"&gt;&lt;div style="display: inline; font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;January 31,&lt;/div&gt;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td style="padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: right"&gt;2020&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;2019&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;2018&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td style="width: 58%"&gt;Cost of revenues&lt;/td&gt; &lt;td style="width: 2%; font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 1%; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 10%; font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;220&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; width: 1%; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 2%"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 1%; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 10%; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;160&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; width: 1%; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 2%"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 1%; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 10%; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;90&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; width: 1%; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td style="text-align: left"&gt;Sales and marketing&lt;/td&gt; &lt;td style="font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;706&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;436&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;246&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td style="text-align: left"&gt;Research and development&lt;/td&gt; &lt;td style="font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;281&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;184&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;85&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td style="text-align: left; padding-bottom: 1pt"&gt;General and administrative&lt;/td&gt; &lt;td style="font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;3,702&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;2,930&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;2,386&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td style="text-align: left; padding-bottom: 1pt"&gt;Effect on net income&lt;/td&gt; &lt;td style="font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;4,909&lt;/div&gt;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; white-space: nowrap; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;3,710&lt;/div&gt;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;2,807&lt;/div&gt;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt;  &lt;/table&gt; &lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&amp;nbsp;&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;Differences between how GAAP and applicable income tax laws treat the amount and timing of recognition of stock-based compensation expense &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt; may &lt;/div&gt;result in a deferred tax asset. We have recorded a valuation allowance against any such deferred tax asset except for &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;$0.7&lt;/div&gt; million (&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;$0.6&lt;/div&gt; million at &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt; January 31, 2019) &lt;/div&gt;recognized in the United States. The tax benefit realized in connection with stock options exercised during &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;2020,&lt;/div&gt; &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;2019&lt;/div&gt; and &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;2018&lt;/div&gt; was &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;$0.1&lt;/div&gt; million, &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;$0.2&lt;/div&gt; million and nominal, respectively.&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&amp;nbsp;&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&lt;div style="display: inline; font-weight: bold;"&gt;&lt;div style="display: inline; font-style: italic;"&gt;Stock Options&lt;/div&gt;&lt;/div&gt;&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&amp;nbsp;&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;As of &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt; January 31, 2020, &lt;/div&gt;we had &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;1,021,322&lt;/div&gt; stock options granted and outstanding under our shareholder-approved stock option plan and &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;3,661,684&lt;/div&gt; remained available for grant. In addition, we had &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;106,500&lt;/div&gt; stock options outstanding pursuant to option grants made outside of our shareholder-approved stock option plan as permitted under the rules of the Toronto Stock Exchange in certain circumstances.&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&amp;nbsp;&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;As of &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt; January 31, 2020, &lt;/div&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;$3.5&lt;/div&gt; million of total unrecognized compensation costs, net of forfeitures, related to non-vested stock option awards is expected to be recognized over a weighted average period of &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;2.8&lt;/div&gt; years. The total fair value of stock options vested during &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;2020&lt;/div&gt; was &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;$1.9&lt;/div&gt; million.&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&amp;nbsp;&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;The total number of options granted during the years ended &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt; January 31, 2020, &lt;/div&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;2019&lt;/div&gt; and &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;2018&lt;/div&gt; was &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;367,173,&lt;/div&gt; &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;272,144&lt;/div&gt; and &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;274,500,&lt;/div&gt; respectively. The weighted average grant-date fair value of options granted during the years ended &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt; January 31, 2020, &lt;/div&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;2019&lt;/div&gt; and &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;2018&lt;/div&gt; was &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;$8.99,&lt;/div&gt; &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;$7.10&lt;/div&gt; and &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;$5.26&lt;/div&gt; per option, respectively.&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&amp;nbsp;&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;The weighted-average assumptions were as follows:&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&amp;nbsp;&lt;/div&gt; &lt;div&gt; &lt;table cellpadding="0" cellspacing="0" style="border-collapse: collapse; font: 10pt Times New Roman, Times, Serif; min-width: 700px;"&gt;  &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td style="font-style: italic; padding-bottom: 1pt"&gt;Year Ended&lt;/td&gt; &lt;td style="font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;div style="display: inline; font-weight: bold;"&gt;January 31, 2020&lt;/div&gt;&lt;/div&gt;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; white-space: nowrap; border-bottom: Black 1pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; text-align: right"&gt;&lt;div style="display: inline; font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;January 31, 2019&lt;/div&gt;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; white-space: nowrap; border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; text-align: right"&gt;&lt;div style="display: inline; font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;January 31, 2018&lt;/div&gt;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; white-space: nowrap; border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&amp;nbsp;Expected dividend yield (%)&lt;/td&gt; &lt;td style="font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;&amp;#x2013;&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;&amp;#x2013;&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;&amp;#x2013;&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td style="width: 58%; text-align: left"&gt;&amp;nbsp;&amp;nbsp;Expected volatility (%)&lt;/td&gt; &lt;td style="width: 2%; font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 1%; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 10%; font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;23.5&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; width: 1%; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 2%"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 1%; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 10%; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;23.6&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; width: 1%; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 2%"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 1%; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 10%; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;23.5&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; width: 1%; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&amp;nbsp;Risk-free rate (%)&lt;/td&gt; &lt;td style="font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;1.4&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;2.0&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;1.0&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&amp;nbsp;Expected option life (years)&lt;/td&gt; &lt;td style="font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;5&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;5&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;5&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt;  &lt;/table&gt; &lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&amp;nbsp;&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&lt;/div&gt; &lt;!-- Field: Page; Sequence: 30 --&gt;   &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;A summary of option activity under all of our plans is presented as follows:&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&amp;nbsp;&lt;/div&gt; &lt;div&gt; &lt;table cellpadding="0" cellspacing="0" style="border-collapse: collapse; font: 10pt Times New Roman, Times, Serif; min-width: 700px;"&gt;  &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td style="text-align: center; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; text-align: right"&gt;&lt;div style="display: inline; font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;Number of Stock Options Outstanding&lt;/div&gt;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; white-space: nowrap; border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; text-align: right"&gt;&lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: right"&gt;Weighted-&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: right"&gt;Average Exercise&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: right"&gt;Price&lt;/div&gt;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; white-space: nowrap; border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; text-align: right"&gt;&lt;div style="display: inline; font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;Weighted- Average Remaining Contractual Life (years)&lt;/div&gt;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; white-space: nowrap; border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; text-align: right"&gt;&lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: right"&gt;Aggregate Intrinsic&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: right"&gt;Value&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: right"&gt;(in millions)&lt;/div&gt;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; white-space: nowrap; border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td style="width: 48%"&gt;Balance at January 31, 2018&lt;/td&gt; &lt;td style="width: 2%"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 1%; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 9%; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;657,209&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; width: 1%; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 2%"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 1%; text-align: left"&gt;$&lt;/td&gt; &lt;td style="width: 9%; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;18.21&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; width: 1%; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 2%"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 1%; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 9%; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;4.9&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; width: 1%; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 2%"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 1%; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 9%; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;5.7&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; width: 1%; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td style="padding-left: 15.1pt"&gt;Granted&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;272,144&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;$&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;27.96&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td style="padding-left: 15.1pt"&gt;Exercised&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;(46,065&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;)&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;$&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;11.75&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td style="padding-bottom: 1pt; padding-left: 15.1pt"&gt;Forfeited&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;(3,950&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left"&gt;)&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;$&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;26.43&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td&gt;Balance at January 31, 2019&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;879,338&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;$&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;21.41&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;4.7&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;8.7&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td style="text-indent: 2.75pt; padding-left: 12.25pt"&gt;Granted&lt;/td&gt; &lt;td style="font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;367,173&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold; text-align: left"&gt;$&lt;/td&gt; &lt;td style="font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;38.06&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td style="text-indent: 2.75pt; padding-left: 12pt"&gt;Exercised&lt;/td&gt; &lt;td style="font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;(94,970&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; font-weight: bold; text-align: left"&gt;)&lt;/td&gt; &lt;td style="font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold; text-align: left"&gt;$&lt;/td&gt; &lt;td style="font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;15.62&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td style="padding-bottom: 1pt; text-indent: 2.75pt; padding-left: 12pt"&gt;Forfeited&lt;/td&gt; &lt;td style="font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;(23,719&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; font-weight: bold; text-align: left"&gt;)&lt;/td&gt; &lt;td style="font-weight: bold; border-bottom: Black 1pt solid"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: left"&gt;$&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;31.93&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td style="padding-bottom: 1pt"&gt;Balance at January 31, 2020&lt;/td&gt; &lt;td style="font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;1,127,822&lt;/div&gt;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; white-space: nowrap; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: left"&gt;$&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;26.82&lt;/div&gt;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; white-space: nowrap; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;4.6&lt;/div&gt;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; white-space: nowrap; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;20.2&lt;/div&gt;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; white-space: nowrap; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td style="text-align: left; padding-bottom: 1pt"&gt;Vested or expected to vest at January 31, 2020&lt;/td&gt; &lt;td style="font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;1,127,822&lt;/div&gt;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; white-space: nowrap; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: left"&gt;$&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;26.82&lt;/div&gt;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; white-space: nowrap; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;4.6&lt;/div&gt;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; white-space: nowrap; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;20.2&lt;/div&gt;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; white-space: nowrap; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td style="padding-bottom: 1pt"&gt;Exercisable at January 31, 2020&lt;/td&gt; &lt;td style="font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;718,169&lt;/div&gt;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; white-space: nowrap; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: left"&gt;$&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;22.88&lt;/div&gt;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; white-space: nowrap; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;4.0&lt;/div&gt;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; white-space: nowrap; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;15.7&lt;/div&gt;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; white-space: nowrap; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt;  &lt;/table&gt; &lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&amp;nbsp;&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;The total intrinsic value of options exercised during the years ended &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt; January 31, 2020, &lt;/div&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;2019&lt;/div&gt; and &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;2018&lt;/div&gt; was approximately &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;$2.0&lt;/div&gt; million, &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;$0.8&lt;/div&gt; million and &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;$2.5&lt;/div&gt; million, respectively.&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&amp;nbsp;&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;Options outstanding and options exercisable as at &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt; January 31, 2020 &lt;/div&gt;by range of exercise price are as follows:&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&amp;nbsp;&lt;/div&gt; &lt;div&gt; &lt;table cellpadding="0" cellspacing="0" style="border-collapse: collapse; font: 10pt Times New Roman, Times, Serif; min-width: 700px;"&gt;  &lt;tr style="vertical-align: bottom"&gt; &lt;td style="text-align: center"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt; &lt;td colspan="11" style="font-weight: bold; text-align: center; border-bottom: Black 1pt solid"&gt;Options Outstanding&lt;/td&gt; &lt;td style="font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt; &lt;td colspan="7" style="font-weight: bold; text-align: center; border-bottom: Black 1pt solid"&gt;Options Exercisable&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td style="font-style: italic; padding-bottom: 1pt"&gt;Range of Exercise Prices&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;&lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: right"&gt;Weighted&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: right"&gt;Average Exercise Price&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;&lt;div style="display: inline; font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;Number of Stock Options &lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;&lt;div style="display: inline; font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;Weighted Average Remaining Contractual Life (years)&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;&lt;div style="display: inline; font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;Weighted Average Exercise Price&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;&lt;div style="display: inline; font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;Number of Stock Options&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td style="width: 45%; padding-left: 12pt"&gt;$11.43 &amp;#x2013; $11.59&lt;/td&gt; &lt;td style="width: 1%"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 1%; text-align: left"&gt;$&lt;/td&gt; &lt;td style="width: 8%; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;11.57&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; width: 1%; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 1%"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 1%; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 8%; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;126,500&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; width: 1%; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 1%"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 1%; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 8%; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;1.4&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; width: 1%; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 1%"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 1%; text-align: left"&gt;$&lt;/td&gt; &lt;td style="width: 8%; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;11.57&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; width: 1%; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 1%"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 1%; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 8%; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;126,500&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; width: 1%; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td style="padding-left: 12pt"&gt;$18.71 &amp;#x2013; $22.57&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;$&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;21.17&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;397,014&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;3.8&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;$&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;21.08&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;357,014&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td style="padding-left: 12pt"&gt;$25.91 &amp;#x2013; $27.50&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;$&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;27.49&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;247,935&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;5.2&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;$&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;27.49&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;140,461&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td style="padding-bottom: 1pt; padding-left: 12pt"&gt;$38.04 &amp;#x2013; $39.70&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;$&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;38.07&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;356,373&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;6.2&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;$&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;38.06&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;94,194&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td style="padding-bottom: 1pt; padding-left: 12pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: left"&gt;$&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;26.82&lt;/div&gt;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; white-space: nowrap; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;1,127,822&lt;/div&gt;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; white-space: nowrap; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;4.6&lt;/div&gt;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; white-space: nowrap; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: left"&gt;$&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;22.88&lt;/div&gt;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; white-space: nowrap; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;718,169&lt;/div&gt;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; white-space: nowrap; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt;  &lt;/table&gt; &lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&amp;nbsp;&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&lt;/div&gt; &lt;!-- Field: Page; Sequence: 31 --&gt;   &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&lt;div style="display: inline; color: black"&gt;A summary of the status of our unvested stock options &lt;/div&gt;under our shareholder-approved stock option plan &lt;div style="display: inline; color: black"&gt;as of &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt; January 31, 2020 &lt;/div&gt;is presented as follows:&lt;/div&gt;&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&amp;nbsp;&lt;/div&gt; &lt;div&gt; &lt;table cellpadding="0" cellspacing="0" style="border-collapse: collapse; font: 10pt Times New Roman, Times, Serif; min-width: 700px;"&gt;  &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td style="text-align: center; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;div style="display: inline; font-weight: bold;"&gt;Number of Stock Options Outstanding&lt;/div&gt;&lt;/div&gt;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; white-space: nowrap; border-bottom: Black 1pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; text-align: right"&gt;&lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: right"&gt;&lt;div style="display: inline; font-weight: bold;"&gt;Weighted-Average Grant-Date Fair Value per Share&lt;/div&gt;&lt;/div&gt;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; white-space: nowrap; border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td style="width: 68%"&gt;Balance at January 31, 2018&lt;/td&gt; &lt;td style="width: 2%"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 1%; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 12%; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;276,067&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; width: 1%; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 2%"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 1%; text-align: left"&gt;$&lt;/td&gt; &lt;td style="width: 12%; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;4.98&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; width: 1%; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td style="padding-left: 12pt"&gt;Granted&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;272,144&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;$&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;7.10&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td style="padding-left: 12pt"&gt;Vested&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;(219,043&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;)&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;$&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;5.56&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td style="padding-bottom: 1pt; padding-left: 12pt"&gt;Forfeited&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;(3,950&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left"&gt;)&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;$&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;6.41&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td&gt;Balance at January 31, 2019&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;325,218&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;$&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;6.18&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td style="padding-left: 12pt"&gt;Granted&lt;/td&gt; &lt;td style="font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;367,173&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold; text-align: left"&gt;$&lt;/td&gt; &lt;td style="font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;8.99&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td style="padding-left: 12pt"&gt;Vested&lt;/td&gt; &lt;td style="font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;(259,269&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; font-weight: bold; text-align: left"&gt;)&lt;/td&gt; &lt;td style="font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold; text-align: left"&gt;$&lt;/td&gt; &lt;td style="font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;6.96&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td style="padding-bottom: 1pt; padding-left: 12pt"&gt;Forfeited&lt;/td&gt; &lt;td style="font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;(23,469&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; font-weight: bold; text-align: left"&gt;)&lt;/td&gt; &lt;td style="font-weight: bold; border-bottom: Black 1pt solid"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: left"&gt;$&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;7.69&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td style="padding-bottom: 1pt"&gt;Balance at January 31, 2020&lt;/td&gt; &lt;td style="font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;409,653&lt;/div&gt;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; white-space: nowrap; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: left"&gt;$&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;8.03&lt;/div&gt;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; white-space: nowrap; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt;  &lt;/table&gt; &lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&amp;nbsp;&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;The above noted table excludes the &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;106,500&lt;/div&gt; options outstanding pursuant to option grants made outside of our shareholder-approved stock option plan as permitted under the rules of the Toronto Stock Exchange in certain circumstances.&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&amp;nbsp;&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&lt;div style="display: inline; font-weight: bold;"&gt;&lt;div style="display: inline; font-style: italic;"&gt;Performance Share Units&lt;/div&gt;&lt;/div&gt;&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&amp;nbsp;&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;A summary of PSU activity is as follows:&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&amp;nbsp;&lt;/div&gt; &lt;div&gt; &lt;table cellpadding="0" cellspacing="0" style="border-collapse: collapse; font: 10pt Times New Roman, Times, Serif; min-width: 700px;"&gt;  &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td style="text-align: center; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;div style="display: inline; font-weight: bold;"&gt;Number of PSUs Outstanding&lt;/div&gt;&lt;/div&gt;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; white-space: nowrap; border-bottom: Black 1pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; text-align: right"&gt;&lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: right"&gt;&lt;div style="display: inline; font-weight: bold;"&gt;Weighted-&lt;/div&gt;&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: right"&gt;&lt;div style="display: inline; font-weight: bold;"&gt;Average Granted Date Fair Value&lt;/div&gt;&lt;/div&gt;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; white-space: nowrap; border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; font-weight: bold; border-bottom: Black 1pt solid"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;div style="display: inline; font-weight: bold;"&gt;Weighted- Average Remaining Contractual Life (years)&lt;/div&gt;&lt;/div&gt;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; white-space: nowrap; border-bottom: Black 1pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; text-align: right"&gt;&lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: right"&gt;&lt;div style="display: inline; font-weight: bold;"&gt;Aggregate Intrinsic&lt;/div&gt;&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: right"&gt;&lt;div style="display: inline; font-weight: bold;"&gt;Value&lt;/div&gt;&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: right"&gt;&lt;div style="display: inline; font-weight: bold;"&gt;(in millions)&lt;/div&gt;&lt;/div&gt;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; white-space: nowrap; border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td style="width: 52%"&gt;Balance at January 31, 2018&lt;/td&gt; &lt;td style="width: 1%"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 1%; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 9%; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;440,520&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; width: 1%; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 1%"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 1%; text-align: left"&gt;$&lt;/td&gt; &lt;td style="width: 9%; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;15.91&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; width: 1%; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 1%"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 1%; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 9%; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;6.1&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; width: 1%; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 1%"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 1%; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 9%; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;11.9&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; width: 1%; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td style="padding-left: 12.25pt"&gt;Granted&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;54,351&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;$&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;35.23&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td style="text-align: left; padding-bottom: 1pt; padding-left: 12.25pt"&gt;Performance units issued&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;35,512&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;$&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;19.59&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td&gt;Balance at January 31, 2019&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;530,383&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;$&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;18.02&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;5.5&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;16.6&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td style="padding-left: 12.25pt"&gt;Granted&lt;/td&gt; &lt;td style="font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;53,729&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold; text-align: left"&gt;$&lt;/td&gt; &lt;td style="font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;53.65&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td style="text-align: left; padding-bottom: 1pt; padding-left: 12.25pt"&gt;Performance units issued&lt;/td&gt; &lt;td style="font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;45,762&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold; border-bottom: Black 1pt solid"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: left"&gt;$&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;23.24&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td style="padding-bottom: 1pt"&gt;Balance at January 31, 2020&lt;/td&gt; &lt;td style="font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;629,874&lt;/div&gt;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; white-space: nowrap; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: left"&gt;$&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;21.19&lt;/div&gt;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; white-space: nowrap; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;5.0&lt;/div&gt;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; white-space: nowrap; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;28.2&lt;/div&gt;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; white-space: nowrap; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td style="text-align: left; padding-bottom: 1pt"&gt;Vested or expected to vest at January 31, 2020&lt;/td&gt; &lt;td style="font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;629,874&lt;/div&gt;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; white-space: nowrap; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: left"&gt;$&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;21.19&lt;/div&gt;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; white-space: nowrap; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;5.0&lt;/div&gt;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; white-space: nowrap; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;28.2&lt;/div&gt;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; white-space: nowrap; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td style="padding-bottom: 1pt"&gt;Exercisable at January 31, 2020&lt;/td&gt; &lt;td style="font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;521,794&lt;/div&gt;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; white-space: nowrap; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: left"&gt;$&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;16.45&lt;/div&gt;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; white-space: nowrap; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;4.3&lt;/div&gt;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; white-space: nowrap; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;23.4&lt;/div&gt;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; white-space: nowrap; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt;  &lt;/table&gt; &lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&amp;nbsp;&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;The aggregate intrinsic values represent the total pre-tax intrinsic value (the aggregate closing share price of our common shares on &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt; January 31, 2020) &lt;/div&gt;that would have been received by PSU holders if all PSUs had been vested on &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt; January 31, 2020.&lt;/div&gt;&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&amp;nbsp;&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;As of &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt; January 31, 2020, &lt;/div&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;$2.7&lt;/div&gt; million of total unrecognized compensation costs related to non-vested awards is expected to be recognized over a weighted average period of &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;1.5&lt;/div&gt; years. The total fair value of PSUs vested during &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;2020&lt;/div&gt; was &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;$2.6&lt;/div&gt; million.&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&amp;nbsp;&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&lt;/div&gt; &lt;!-- Field: Page; Sequence: 32 --&gt;   &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&lt;div style="display: inline; font-weight: bold;"&gt;&lt;div style="display: inline; font-style: italic;"&gt;Restricted Share Units&lt;/div&gt;&lt;/div&gt;&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&amp;nbsp;&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;A summary of RSU activity is as follows:&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&amp;nbsp;&lt;/div&gt; &lt;div&gt; &lt;table cellpadding="0" cellspacing="0" style="border-collapse: collapse; font: 10pt Times New Roman, Times, Serif; min-width: 700px;"&gt;  &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td style="text-align: center; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;div style="display: inline; font-weight: bold;"&gt;Number of RSUs Outstanding&lt;/div&gt;&lt;/div&gt;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; white-space: nowrap; border-bottom: Black 1pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; text-align: right"&gt;&lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: right"&gt;&lt;div style="display: inline; font-weight: bold;"&gt;Weighted-&lt;/div&gt;&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: right"&gt;&lt;div style="display: inline; font-weight: bold;"&gt;Average Granted Date Fair Value&lt;/div&gt;&lt;/div&gt;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; white-space: nowrap; border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; font-weight: bold; border-bottom: Black 1pt solid"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;div style="display: inline; font-weight: bold;"&gt;Weighted- Average Remaining Contractual Life (years)&lt;/div&gt;&lt;/div&gt;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; white-space: nowrap; border-bottom: Black 1pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; text-align: right"&gt;&lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: right"&gt;&lt;div style="display: inline; font-weight: bold;"&gt;Aggregate Intrinsic&lt;/div&gt;&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: right"&gt;&lt;div style="display: inline; font-weight: bold;"&gt;Value&lt;/div&gt;&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: right"&gt;&lt;div style="display: inline; font-weight: bold;"&gt;(in millions)&lt;/div&gt;&lt;/div&gt;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; white-space: nowrap; border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td style="width: 52%"&gt;Balance at January 31, 2018&lt;/td&gt; &lt;td style="width: 1%"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 1%; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 9%; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;299,020&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; width: 1%; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 1%"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 1%; text-align: left"&gt;$&lt;/td&gt; &lt;td style="width: 9%; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;12.80&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; width: 1%; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 1%"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 1%; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 9%; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;6.1&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; width: 1%; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 1%"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 1%; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 9%; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;8.1&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; width: 1%; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td style="padding-bottom: 1pt; padding-left: 12.25pt"&gt;Granted&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;38,046&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;$&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;27.96&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td&gt;Balance at January 31, 2019&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;337,066&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;$&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;14.42&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;5.6&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;10.6&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td style="padding-bottom: 1pt; padding-left: 12.25pt"&gt;Granted&lt;/td&gt; &lt;td style="font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;37,611&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold; border-bottom: Black 1pt solid"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: left"&gt;$&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;38.04&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td style="padding-bottom: 1pt"&gt;Balance at January 31, 2020&lt;/td&gt; &lt;td style="font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;374,677&lt;/div&gt;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; white-space: nowrap; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: left"&gt;$&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;16.57&lt;/div&gt;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; white-space: nowrap; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;5.0&lt;/div&gt;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; white-space: nowrap; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;16.8&lt;/div&gt;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; white-space: nowrap; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td style="text-align: left; padding-bottom: 1pt"&gt;Vested or expected to vest at January 31, 2020&lt;/td&gt; &lt;td style="font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;374,677&lt;/div&gt;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; white-space: nowrap; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: left"&gt;$&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;16.57&lt;/div&gt;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; white-space: nowrap; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;5.0&lt;/div&gt;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; white-space: nowrap; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;16.8&lt;/div&gt;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; white-space: nowrap; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td style="padding-bottom: 1pt"&gt;Exercisable at January 31, 2020&lt;/td&gt; &lt;td style="font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;336,921&lt;/div&gt;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; white-space: nowrap; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: left"&gt;$&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;14.56&lt;/div&gt;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; white-space: nowrap; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;4.6&lt;/div&gt;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; white-space: nowrap; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;15.1&lt;/div&gt;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; white-space: nowrap; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt;  &lt;/table&gt; &lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&amp;nbsp;&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;The aggregate intrinsic values represent the total pre-tax intrinsic value (the aggregate closing share price of our common shares on &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt; January 31, 2020) &lt;/div&gt;that would have been received by RSU holders if all RSUs had been vested on &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt; January 31, 2020.&lt;/div&gt;&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&amp;nbsp;&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;As of &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt; January 31, 2020, &lt;/div&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;$1.3&lt;/div&gt; million of total unrecognized compensation costs related to non-vested awards is expected to be recognized over a weighted average period of &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;1.7&lt;/div&gt; years. The total fair value of RSUs vested during &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;2020&lt;/div&gt; was &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;$1.1&lt;/div&gt; million.&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&amp;nbsp;&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&lt;div style="display: inline; font-weight: bold;"&gt;&lt;div style="display: inline; font-style: italic;"&gt;Deferred Share Unit Plan&lt;/div&gt;&lt;/div&gt;&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&amp;nbsp;&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;As at &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt; January 31, 2020, &lt;/div&gt;the total number of DSUs held by participating directors was &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;251,422&lt;/div&gt; (&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;277,390&lt;/div&gt; at &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt; January 31, 2019), &lt;/div&gt;representing an aggregate accrued liability of &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;$11.3&lt;/div&gt; million (&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;$8.6&lt;/div&gt; million at &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt; January 31, 2019). &lt;/div&gt;During &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;2020,&lt;/div&gt; &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;25,373&lt;/div&gt; DSUs were granted and &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;51,341&lt;/div&gt; DSUs were redeemed and settled in cash. As at &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt; January 31, 2020, &lt;/div&gt;the unrecognized aggregate liability for the unvested DSUs was &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;nil&lt;/div&gt; (&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;nil&lt;/div&gt; at &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt; January 31, 2019). &lt;/div&gt;The fair value of the DSU liability is based on the closing price of our common shares at the balance sheet date. The total compensation cost related to DSUs recognized in our consolidated statements of operations was approximately &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;$5.0&lt;/div&gt; million, &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;$2.2&lt;/div&gt; million and &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;$2.3&lt;/div&gt; million for the years ended &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt; January 31, 2020, &lt;/div&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;2019&lt;/div&gt; and &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;2018,&lt;/div&gt; respectively.&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&amp;nbsp;&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&lt;/div&gt; &lt;!-- Field: Page; Sequence: 33 --&gt;   &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&lt;div style="display: inline; font-weight: bold;"&gt;&lt;div style="display: inline; font-style: italic;"&gt;Cash-Settled Restricted Share Unit Plan&lt;/div&gt;&lt;/div&gt;&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&amp;nbsp;&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;A summary of activity under our CRSU plan is as follows:&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&amp;nbsp;&lt;/div&gt; &lt;div&gt; &lt;table cellpadding="0" cellspacing="0" style="border-collapse: collapse; font: 10pt Times New Roman, Times, Serif; min-width: 700px;"&gt;  &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td style="text-align: center; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;div style="display: inline; font-weight: bold;"&gt;Number of CRSUs Outstanding&lt;/div&gt;&lt;/div&gt;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; white-space: nowrap; border-bottom: Black 1pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; font-weight: bold; border-bottom: Black 1pt solid"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;div style="display: inline; font-weight: bold;"&gt;Weighted- Average Remaining Contractual Life (years)&lt;/div&gt;&lt;/div&gt;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; white-space: nowrap; border-bottom: Black 1pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td style="width: 68%"&gt;Balance at January 31, 2018&lt;/td&gt; &lt;td style="width: 2%"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 1%; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 12%; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;58,171&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; width: 1%; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 2%"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 1%; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 12%; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;1.5&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; width: 1%; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td style="padding-left: 12.25pt"&gt;Granted&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;32,261&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td style="text-align: left; padding-bottom: 1pt; padding-left: 12.25pt"&gt;Vested and settled in cash&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;(45,369&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left"&gt;)&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td&gt;Balance at January 31, 2019&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;45,063&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;1.6&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td style="padding-left: 12pt"&gt;Granted&lt;/td&gt; &lt;td style="font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;30,086&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td style="text-align: left; padding-bottom: 1pt; padding-left: 12pt"&gt;Vested and settled in cash&lt;/td&gt; &lt;td style="font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;(32,422&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; font-weight: bold; text-align: left"&gt;)&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td style="padding-bottom: 1pt"&gt;Balance at January 31, 2020&lt;/td&gt; &lt;td style="font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;42,727&lt;/div&gt;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; white-space: nowrap; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;1.6&lt;/div&gt;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; white-space: nowrap; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td style="padding-bottom: 1pt"&gt;Non-vested at January 31, 2020&lt;/td&gt; &lt;td style="font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;42,727&lt;/div&gt;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; white-space: nowrap; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;1.6&lt;/div&gt;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; white-space: nowrap; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt;  &lt;/table&gt; &lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&amp;nbsp;&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;We recognize the compensation cost of the CRSUs ratably over the service/vesting period relating to the grant and have recorded an aggregate accrued liability of &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;$0.8&lt;/div&gt; million at &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt; January 31, 2020 (&lt;/div&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;$0.6&lt;/div&gt; million at &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt; January 31, 2019). &lt;/div&gt;As at &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt; January 31, 2020, &lt;/div&gt;the unrecognized aggregate liability for the unvested CRSUs was &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;$1.1&lt;/div&gt; million (&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;$0.8&lt;/div&gt; million at &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt; January 31, 2019). &lt;/div&gt;The fair value of the CRSU liability is based on the closing price of our common shares at the balance sheet date. The total compensation cost related to CRSUs recognized in our consolidated statements of operations was approximately &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;$0.9&lt;/div&gt; million, &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;$0.8&lt;/div&gt; million and &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;$1.0&lt;/div&gt; million for the years ended &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt; January 31, 2020, &lt;/div&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;2019&lt;/div&gt; and &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;2018,&lt;/div&gt; respectively.&lt;/div&gt;&lt;/div&gt;</us-gaap:DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock>
  <us-gaap:EarningsPerShareBasic contextRef="d_2019-02-01_2020-01-31" decimals="INF" id="c59149842" unitRef="iso4217-usd-per-xbrli-shares">0.45</us-gaap:EarningsPerShareBasic>
  <us-gaap:EarningsPerShareBasic contextRef="d_2018-02-01_2019-01-31" decimals="INF" id="c59149843" unitRef="iso4217-usd-per-xbrli-shares">0.41</us-gaap:EarningsPerShareBasic>
  <us-gaap:EarningsPerShareBasic contextRef="d_2017-02-01_2018-01-31" decimals="INF" id="c59149844" unitRef="iso4217-usd-per-xbrli-shares">0.35</us-gaap:EarningsPerShareBasic>
  <us-gaap:EarningsPerShareDiluted contextRef="d_2019-02-01_2020-01-31" decimals="INF" id="c59149845" unitRef="iso4217-usd-per-xbrli-shares">0.45</us-gaap:EarningsPerShareDiluted>
  <us-gaap:EarningsPerShareDiluted contextRef="d_2018-02-01_2019-01-31" decimals="INF" id="c59149846" unitRef="iso4217-usd-per-xbrli-shares">0.40</us-gaap:EarningsPerShareDiluted>
  <us-gaap:EarningsPerShareDiluted contextRef="d_2017-02-01_2018-01-31" decimals="INF" id="c59149847" unitRef="iso4217-usd-per-xbrli-shares">0.35</us-gaap:EarningsPerShareDiluted>
  <us-gaap:EarningsPerSharePolicyTextBlock contextRef="d_2019-02-01_2020-01-31" id="c59148383">&lt;div style="display: inline; font-family: times new roman; font-size: 10pt"&gt;&lt;div style="display: inline; font-family: times new roman; font-size: 10pt"&gt;&lt;div style="display: inline; font-family: times new roman; font-size: 10pt"&gt;&lt;div style="display: inline; font-family: times new roman; font-size: 10pt"&gt;&lt;div style="display: inline; font-family: times new roman; font-size: 10pt"&gt;&lt;div style="display: inline; font-family: times new roman; font-size: 10pt"&gt;&lt;div style="display: inline; font-family: times new roman; font-size: 10pt"&gt;&lt;div style="display: inline; font-family: times new roman; font-size: 10pt"&gt;&lt;div style="display: inline; font-family: times new roman; font-size: 10pt"&gt;&lt;div style="display: inline; font-family: times new roman; font-size: 10pt"&gt;&lt;div style=" font: italic bold 10pt Times New Roman, Times, Serif; margin: 0pt 0"&gt;Earnings per share&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;Basic earnings per share is calculated by dividing net income by the weighted average number of common shares outstanding during the period. Diluted earnings per common share is calculated by dividing net income by the sum of the weighted average number of common shares outstanding and all additional common shares that would have been outstanding if potentially dilutive common shares had been issued during the period. The treasury stock method is used to compute the dilutive effect of stock-based compensation.&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;</us-gaap:EarningsPerSharePolicyTextBlock>
  <us-gaap:EarningsPerShareTextBlock contextRef="d_2019-02-01_2020-01-31" id="s1506282">&lt;div style="display: inline; font-family: times new roman; font-size: 10pt"&gt;&lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&lt;div style="display: inline; font-weight: bold;"&gt;Note &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;16&lt;/div&gt; - Earnings Per Share&lt;/div&gt;&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&amp;nbsp;&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;The following table sets forth the computation of basic and diluted earnings per share (&amp;#x201c;EPS&amp;#x201d;) (number of shares in thousands):&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&amp;nbsp;&lt;/div&gt; &lt;div&gt; &lt;table cellpadding="0" cellspacing="0" style="border-collapse: collapse; font: 10pt Times New Roman, Times, Serif; min-width: 700px;"&gt;  &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td style="font-style: italic; padding-bottom: 1pt"&gt;Year Ended&lt;/td&gt; &lt;td style="font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;div style="display: inline; font-weight: bold;"&gt;January 31, 2020&lt;/div&gt;&lt;/div&gt;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; white-space: nowrap; border-bottom: Black 1pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; text-align: right"&gt;&lt;div style="display: inline; font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;January 31, 2019&lt;/div&gt;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; white-space: nowrap; border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; text-align: right"&gt;&lt;div style="display: inline; font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;January 31, 2018&lt;/div&gt;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; white-space: nowrap; border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td style="width: 58%; text-align: left; padding-bottom: 1pt"&gt;Net income for purposes of calculating basic and diluted earnings per share&lt;/td&gt; &lt;td style="width: 2%; font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 1%; border-bottom: Black 1pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 10%; border-bottom: Black 1pt solid; font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;36,997&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; width: 1%; border-bottom: Black 1pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 2%; border-bottom: Black 1pt solid"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 1%; border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 10%; border-bottom: Black 1pt solid; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;31,277&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; width: 1%; border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 2%; border-bottom: Black 1pt solid"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 1%; border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 10%; border-bottom: Black 1pt solid; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;26,879&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; width: 1%; border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td&gt;Weighted average shares outstanding&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;81,659&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;76,832&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;76,324&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td style="text-align: left"&gt;Dilutive effect of employee stock options&lt;/td&gt; &lt;td style="font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;318&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;205&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;167&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td style="text-align: left; padding-bottom: 1pt"&gt;Dilutive effect of restricted and performance share units&lt;/td&gt; &lt;td style="font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;890&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;754&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;621&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td style="text-align: left; padding-bottom: 1pt"&gt;Weighted average common and common equivalent shares outstanding&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;82,867&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;77,791&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;77,112&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td&gt;Earnings per share&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td style="padding-left: 12pt"&gt;Basic&lt;/td&gt; &lt;td style="font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;0.45&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;0.41&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;0.35&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td style="padding-bottom: 1pt; padding-left: 12pt"&gt;Diluted&lt;/td&gt; &lt;td style="font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;0.45&lt;/div&gt;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; white-space: nowrap; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;0.40&lt;/div&gt;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;0.35&lt;/div&gt;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt;  &lt;/table&gt; &lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"&gt;&amp;nbsp;&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;For the years ended &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt; January 31, 2020, &lt;/div&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;2019&lt;/div&gt; and &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;2018,&lt;/div&gt; the application of the treasury stock method excluded &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;350,464,&lt;/div&gt; &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;271,869&lt;/div&gt; and &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;270,525&lt;/div&gt; stock options, respectively, from the calculation of diluted EPS as the assumed proceeds from the unrecognized stock-based compensation expense of such stock options that are attributed to future service periods made such stock options anti-dilutive.&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"&gt;&amp;nbsp;&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;For the years ended &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt; January 31, 2020, &lt;/div&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;2019&lt;/div&gt; and &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;2018,&lt;/div&gt; &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;5,909,&lt;/div&gt; &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;nil&lt;/div&gt; and &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;2,475&lt;/div&gt; stock options, respectively, were excluded from the calculation of diluted EPS as those options had an exercise price greater than or equal to the average market value of our common shares during the applicable periods and their inclusion would have been anti-dilutive.&lt;/div&gt;&lt;/div&gt;</us-gaap:EarningsPerShareTextBlock>
  <us-gaap:EffectOfExchangeRateOnCashAndCashEquivalents contextRef="d_2019-02-01_2020-01-31" decimals="-3" id="c59148327" unitRef="iso4217-usd">-363000</us-gaap:EffectOfExchangeRateOnCashAndCashEquivalents>
  <us-gaap:EffectOfExchangeRateOnCashAndCashEquivalents contextRef="d_2018-02-01_2019-01-31" decimals="-3" id="c59148328" unitRef="iso4217-usd">-1368000</us-gaap:EffectOfExchangeRateOnCashAndCashEquivalents>
  <us-gaap:EffectOfExchangeRateOnCashAndCashEquivalents contextRef="d_2017-02-01_2018-01-31" decimals="-3" id="c59148329" unitRef="iso4217-usd">3817000</us-gaap:EffectOfExchangeRateOnCashAndCashEquivalents>
  <us-gaap:EffectiveIncomeTaxRateContinuingOperations contextRef="d_2019-02-01_2020-01-31" decimals="2" id="c59150121" unitRef="xbrli-pure">0.11</us-gaap:EffectiveIncomeTaxRateContinuingOperations>
  <us-gaap:EffectiveIncomeTaxRateContinuingOperations contextRef="d_2018-02-01_2019-01-31" decimals="2" id="c59150122" unitRef="xbrli-pure">0.15</us-gaap:EffectiveIncomeTaxRateContinuingOperations>
  <us-gaap:EffectiveIncomeTaxRateContinuingOperations contextRef="d_2017-02-01_2018-01-31" decimals="2" id="c59150123" unitRef="xbrli-pure">0.19</us-gaap:EffectiveIncomeTaxRateContinuingOperations>
  <us-gaap:EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate contextRef="d_2019-02-01_2020-01-31" decimals="3" id="c59150226" unitRef="xbrli-pure">0.265</us-gaap:EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate>
  <us-gaap:EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate contextRef="d_2018-02-01_2019-01-31" decimals="3" id="c59150227" unitRef="xbrli-pure">0.265</us-gaap:EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate>
  <us-gaap:EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate contextRef="d_2017-02-01_2018-01-31" decimals="3" id="c59150228" unitRef="xbrli-pure">0.265</us-gaap:EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate>
  <us-gaap:EmployeeRelatedLiabilitiesCurrent contextRef="i_2020-01-31" decimals="-3" id="c59149681" unitRef="iso4217-usd">20613000</us-gaap:EmployeeRelatedLiabilitiesCurrent>
  <us-gaap:EmployeeRelatedLiabilitiesCurrent contextRef="i_2019-01-31" decimals="-3" id="c59149682" unitRef="iso4217-usd">16771000</us-gaap:EmployeeRelatedLiabilitiesCurrent>
  <us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized contextRef="i_2020-01-31_AwardTypeAxis-EmployeeStockOptionMember" decimals="-3" id="c59149859" unitRef="iso4217-usd">3500000</us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized>
  <us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized contextRef="i_2020-01-31_AwardTypeAxis-PerformanceSharesMember" decimals="-3" id="c59149879" unitRef="iso4217-usd">2700000</us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized>
  <us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized contextRef="i_2020-01-31_AwardTypeAxis-RestrictedStockUnitsRSUMember" decimals="-3" id="c59149883" unitRef="iso4217-usd">1300000</us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized>
  <us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized contextRef="i_2020-01-31_PlanNameAxis-DeferredShareUnitPlanMember" decimals="-3" id="c59149894" unitRef="iso4217-usd">0</us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized>
  <us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized contextRef="i_2019-01-31_PlanNameAxis-DeferredShareUnitPlanMember" decimals="-3" id="c59149895" unitRef="iso4217-usd">0</us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized>
  <us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized contextRef="i_2020-01-31_PlanNameAxis-CashsettledRestrictedShareUnitMember" decimals="-3" id="c59149903" unitRef="iso4217-usd">1100000</us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized>
  <us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized contextRef="i_2019-01-31_PlanNameAxis-CashsettledRestrictedShareUnitMember" decimals="-3" id="c59149904" unitRef="iso4217-usd">800000</us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized>
  <us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1 contextRef="d_2019-02-01_2020-01-31_AwardTypeAxis-EmployeeStockOptionMember" id="c59149860">P2Y292D</us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1>
  <us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1 contextRef="d_2019-02-01_2020-01-31_AwardTypeAxis-PerformanceSharesMember" id="c59149880">P1Y182D</us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1>
  <us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1 contextRef="d_2019-02-01_2020-01-31_AwardTypeAxis-RestrictedStockUnitsRSUMember" id="c59149884">P1Y255D</us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1>
  <us-gaap:EmployeeServiceShareBasedCompensationTaxBenefitFromExerciseOfStockOptions contextRef="d_2019-02-01_2020-01-31" decimals="-3" id="c59149854" unitRef="iso4217-usd">100000</us-gaap:EmployeeServiceShareBasedCompensationTaxBenefitFromExerciseOfStockOptions>
  <us-gaap:EmployeeServiceShareBasedCompensationTaxBenefitFromExerciseOfStockOptions contextRef="d_2018-02-01_2019-01-31" decimals="-3" id="c59149855" unitRef="iso4217-usd">200000</us-gaap:EmployeeServiceShareBasedCompensationTaxBenefitFromExerciseOfStockOptions>
  <us-gaap:FairValueDisclosuresTextBlock contextRef="d_2019-02-01_2020-01-31" id="s1506255">&lt;div style="display: inline; font-family: times new roman; font-size: 10pt"&gt;&lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&lt;div style="display: inline; font-weight: bold;"&gt;Note &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;4&lt;/div&gt; &amp;#x2013; Fair Value Measurements&lt;/div&gt;&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&amp;nbsp;&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;ASC Topic &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;820&lt;/div&gt; &amp;#x201c;Fair Value Measurements and Disclosures&amp;#x201d; (Topic &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;820&lt;/div&gt;) defines fair value as the price that would be received upon sale of an asset or paid upon transfer of a liability in an orderly transaction between market participants at the measurement date and in the principal or most advantageous market for that asset or liability. The fair value, in this context, should be calculated based on assumptions that market participants would use in pricing the asset or liability, &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;not&lt;/div&gt; on assumptions specific to the entity. In addition, the fair value of liabilities should include consideration of non-performance risk, including our own credit risk.&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&amp;nbsp;&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;Topic &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;820&lt;/div&gt; establishes a fair value hierarchy which prioritizes the inputs used in the valuation methodologies in measuring fair value into &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;three&lt;/div&gt; levels:&lt;/div&gt; &lt;table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; min-width: 700px;"&gt;  &lt;tr style="vertical-align: top"&gt; &lt;td style="width: 0.25in"&gt;&lt;/td&gt; &lt;td style="width: 0.25in"&gt;&amp;#x2022;&lt;/td&gt; &lt;td style="text-align: justify"&gt;Level &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;1&amp;#x2014;inputs&lt;/div&gt; are based upon unadjusted quoted prices for identical instruments traded in active markets.&lt;/td&gt; &lt;/tr&gt;  &lt;/table&gt; &lt;table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; min-width: 700px;"&gt;  &lt;tr style="vertical-align: top"&gt; &lt;td style="width: 0.25in"&gt;&lt;/td&gt; &lt;td style="width: 0.25in"&gt;&amp;#x2022;&lt;/td&gt; &lt;td style="text-align: justify"&gt;Level &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;2&amp;#x2014;inputs&lt;/div&gt; are based upon quoted prices for similar instruments in active markets, quoted prices for identical or similar instruments in markets that are &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;not&lt;/div&gt; active, and model-based valuation techniques for which all significant assumptions are observable in the market or can be corroborated by observable market data for substantially the full term of the assets or liabilities.&lt;/td&gt; &lt;/tr&gt;  &lt;/table&gt; &lt;table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; min-width: 700px;"&gt;  &lt;tr style="vertical-align: top"&gt; &lt;td style="width: 0.25in"&gt;&lt;/td&gt; &lt;td style="width: 0.25in"&gt;&amp;#x2022;&lt;/td&gt; &lt;td style="text-align: justify"&gt;Level &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;3&amp;#x2014;inputs&lt;/div&gt; are generally unobservable and typically reflect management&amp;#x2019;s estimates of assumptions that market participants would use in pricing the asset or liability. The fair values are therefore determined using model-based techniques that include option pricing models, discounted cash flow models, and similar techniques.&lt;/td&gt; &lt;/tr&gt;  &lt;/table&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&amp;nbsp;&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&lt;/div&gt; &lt;!-- Field: Page; Sequence: 21 --&gt;   &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;The carrying amounts of the Company&amp;#x2019;s cash, accounts receivable (net), accounts payable, accrued liabilities and income taxes payable approximate their fair value (a Level &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;2&lt;/div&gt; measurement) due to their short maturities.&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&amp;nbsp;&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;The Company enters into equity derivative contracts including floating-rate equity forwards to partially offset the potential fluctuations of certain future share-based compensation expenses. The Company does &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;not&lt;/div&gt; hold derivatives for speculative purposes. As at &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt; January 31, 2020, &lt;/div&gt;we had equity derivatives for &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;251,422&lt;/div&gt; Descartes common shares with a weighted average price of &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;$22.37.&lt;/div&gt;&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&amp;nbsp;&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;The following table shows the Company&amp;#x2019;s derivative instruments measured at fair value on a recurring basis as of &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt; January 31, 2020:&lt;/div&gt;&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&amp;nbsp;&lt;/div&gt; &lt;div&gt; &lt;table cellpadding="0" cellspacing="0" style="border-collapse: collapse; font: 10pt Times New Roman, Times, Serif; min-width: 700px;"&gt;  &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td style="padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;div style="display: inline; font-weight: bold;"&gt;Fair Value of Derivatives Designated as Hedge Instruments&lt;/div&gt;&lt;/div&gt;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; white-space: nowrap; border-bottom: Black 1pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; font-weight: bold; border-bottom: Black 1pt solid"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;div style="display: inline; font-weight: bold;"&gt;Fair Value of Derivatives Not Designated As Hedge Instruments&lt;/div&gt;&lt;/div&gt;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; white-space: nowrap; border-bottom: Black 1pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; font-weight: bold; border-bottom: Black 1pt solid"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;div style="display: inline; font-weight: bold;"&gt;Fair Value&lt;/div&gt;&lt;/div&gt;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; white-space: nowrap; border-bottom: Black 1pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td style="text-align: left"&gt;Derivative assets:&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td style="width: 55%; text-align: left; padding-bottom: 1pt"&gt;Equity contracts&lt;/td&gt; &lt;td style="width: 2%; font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; width: 1%; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; width: 11%; font-weight: bold; text-align: right"&gt;&amp;#x2013;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; white-space: nowrap; width: 1%; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; width: 2%; font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; width: 1%; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; width: 11%; font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;5,656&lt;/div&gt;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; white-space: nowrap; width: 1%; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; width: 2%; font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; width: 1%; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; width: 11%; font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;5,656&lt;/div&gt;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; white-space: nowrap; width: 1%; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt;  &lt;/table&gt; &lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&amp;nbsp;&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;The following table shows the Company&amp;#x2019;s derivative instruments measured at fair value on a recurring basis as of &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt; January 31, 2019:&lt;/div&gt;&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&amp;nbsp;&lt;/div&gt; &lt;div&gt; &lt;table cellpadding="0" cellspacing="0" style="border-collapse: collapse; font: 10pt Times New Roman, Times, Serif; min-width: 700px;"&gt;  &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td style="padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;div style="display: inline; font-weight: bold;"&gt;Fair Value of Derivatives Designated as Hedge Instruments&lt;/div&gt;&lt;/div&gt;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; white-space: nowrap; border-bottom: Black 1pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; font-weight: bold; border-bottom: Black 1pt solid"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;div style="display: inline; font-weight: bold;"&gt;Fair Value of Derivatives Not Designated As Hedge Instruments&lt;/div&gt;&lt;/div&gt;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; white-space: nowrap; border-bottom: Black 1pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; font-weight: bold; border-bottom: Black 1pt solid"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;div style="display: inline; font-weight: bold;"&gt;Fair Value&lt;/div&gt;&lt;/div&gt;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; white-space: nowrap; border-bottom: Black 1pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td style="text-align: left"&gt;Derivative assets:&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td style="width: 55%; text-align: left; padding-bottom: 1pt"&gt;Equity contracts&lt;/td&gt; &lt;td style="width: 2%; font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; width: 1%; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; width: 11%; font-weight: bold; text-align: right"&gt;&amp;#x2013;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; white-space: nowrap; width: 1%; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; width: 2%"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; width: 1%; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; width: 11%; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;2,794&lt;/div&gt;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; white-space: nowrap; width: 1%; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; width: 2%"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; width: 1%; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; width: 11%; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;2,794&lt;/div&gt;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; white-space: nowrap; width: 1%; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt;  &lt;/table&gt; &lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&amp;nbsp;&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&amp;nbsp;&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;The fair value of equity contract derivatives is determined utilizing a valuation model based on the quoted market value of &lt;div style="display: inline; color: black"&gt;our common shares at the balance sheet date &lt;/div&gt;(Level &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;2&lt;/div&gt; fair value inputs). The fair value of equity contract derivatives is recorded as other current assets and gains and losses are recorded in general and administrative expenses in the consolidated financial statements. For the years ended &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt; January 31, 2020, &lt;/div&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;2019&lt;/div&gt; and &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;2018,&lt;/div&gt; we recognized an expense (recovery) in general and administrative expenses of (&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;$4.0&lt;/div&gt;) million, (&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;$1.2&lt;/div&gt;) million and (&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;$1.1&lt;/div&gt;) million, respectively.&lt;/div&gt;&lt;/div&gt;</us-gaap:FairValueDisclosuresTextBlock>
  <us-gaap:FairValueOfFinancialInstrumentsPolicy contextRef="d_2019-02-01_2020-01-31" id="c59148359">&lt;div style="display: inline; font-family: times new roman; font-size: 10pt"&gt;&lt;div style="display: inline; font-family: times new roman; font-size: 10pt"&gt;&lt;div style="display: inline; font-family: times new roman; font-size: 10pt"&gt;&lt;div style="display: inline; font-family: times new roman; font-size: 10pt"&gt;&lt;div style="display: inline; font-family: times new roman; font-size: 10pt"&gt;&lt;div style="display: inline; font-family: times new roman; font-size: 10pt"&gt;&lt;div style="display: inline; font-family: times new roman; font-size: 10pt"&gt;&lt;div style="display: inline; font-family: times new roman; font-size: 10pt"&gt;&lt;div style="display: inline; font-family: times new roman; font-size: 10pt"&gt;&lt;div style="display: inline; font-family: times new roman; font-size: 10pt"&gt;&lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"&gt;&lt;div style="display: inline; font-weight: bold;"&gt;&lt;div style="display: inline; font-style: italic;"&gt;Financial instruments&lt;/div&gt;&lt;/div&gt;&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&lt;div style="display: inline; text-decoration: underline;"&gt;Fair value of financial instruments&lt;/div&gt;&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;The carrying amounts of the Company&amp;#x2019;s cash, accounts receivable (net), accounts payable, accrued liabilities and income taxes payable approximate their fair value due to their short maturities.&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&amp;nbsp;&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&lt;div style="display: inline; text-decoration: underline;"&gt;Derivative instruments&lt;/div&gt;&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;We use derivative instruments to manage equity risk relating to our share-based compensation. We account for these instruments in accordance with ASC Topic &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;815&lt;/div&gt; &amp;#x201c;Derivatives and Hedging&amp;#x201d; (Topic &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;815&lt;/div&gt;), which requires that every derivative instrument be recorded on the balance sheet as either an asset or a liability measured at its fair value as of the reporting date. We do &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;not&lt;/div&gt; designate our derivative instruments as hedges and as such the changes in our derivative financial instruments' fair values are recognized in earnings. The fair value of equity contract derivatives is determined utilizing a valuation model based on the quoted market value of our common shares at the balance sheet date.&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&amp;nbsp;&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&lt;div style="display: inline; text-decoration: underline;"&gt;Foreign exchange risk&lt;/div&gt;&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;We are exposed to foreign exchange risk because the Company transacts business in currencies other than the US dollar. Accordingly, our results are affected, and &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt; may &lt;/div&gt;be affected in the future, by exchange rate fluctuations of the US dollar relative to the Canadian dollar, euro, British pound sterling and various other foreign currencies.&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&amp;nbsp;&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&lt;div style="display: inline; text-decoration: underline;"&gt;Interest rate risk&lt;/div&gt;&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;Depending on the type of advance under the available facilities, interest on such borrowings will be charged based on either i) Canada or US prime rate; or ii) Banker&amp;#x2019;s Acceptance (BA); or iii) LIBOR. We are exposed to interest rate fluctuations to the extent that we borrow on our credit facility.&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&amp;nbsp;&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&lt;/div&gt; &lt;!-- Field: Page; Sequence: 7 --&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"&gt;&lt;div style="display: inline; text-decoration: underline;"&gt;Credit risk&lt;/div&gt;&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;We are exposed to credit risk through our invested cash and accounts receivable. We hold our cash with reputable financial institutions. The lack of concentration of accounts receivable from a single customer and the dispersion of customers among industries and geographical locations mitigate our credit risk.&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&amp;nbsp;&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;We do &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;not&lt;/div&gt; use any type of speculative financial instruments, including but &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;not&lt;/div&gt; limited to foreign exchange contracts, futures, swaps and option agreements, to manage our foreign exchange or interest rate risks. In addition, we do &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;not&lt;/div&gt; hold or issue financial instruments for trading purposes.&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&amp;nbsp;&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"&gt;&lt;div style="display: inline; text-decoration: underline;"&gt;Equity risk&lt;/div&gt;&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;We are exposed to equity risk through certain share-based compensation expenses that are fair valued at the balance sheet date. The Company enters into equity derivative contracts including floating-rate equity forwards to partially offset the potential fluctuations of certain future share-based compensation expenses. The Company does &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;not&lt;/div&gt; hold derivatives for speculative purposes.&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;</us-gaap:FairValueOfFinancialInstrumentsPolicy>
  <us-gaap:FiniteLivedIntangibleAssetUsefulLife contextRef="d_2019-02-01_2020-01-31_FiniteLivedIntangibleAssetsByMajorClassAxis-CustomerRelationshipsMember_RangeAxis-MinimumMember" id="c59148410">P3Y</us-gaap:FiniteLivedIntangibleAssetUsefulLife>
  <us-gaap:FiniteLivedIntangibleAssetUsefulLife contextRef="d_2019-02-01_2020-01-31_FiniteLivedIntangibleAssetsByMajorClassAxis-CustomerRelationshipsMember_RangeAxis-MaximumMember" id="c59148411">P20Y</us-gaap:FiniteLivedIntangibleAssetUsefulLife>
  <us-gaap:FiniteLivedIntangibleAssetUsefulLife contextRef="d_2019-02-01_2020-01-31_FiniteLivedIntangibleAssetsByMajorClassAxis-ExistingTechnologyMember_RangeAxis-MinimumMember" id="c59148412">P2Y</us-gaap:FiniteLivedIntangibleAssetUsefulLife>
  <us-gaap:FiniteLivedIntangibleAssetUsefulLife contextRef="d_2019-02-01_2020-01-31_FiniteLivedIntangibleAssetsByMajorClassAxis-ExistingTechnologyMember_RangeAxis-MaximumMember" id="c59148413">P12Y</us-gaap:FiniteLivedIntangibleAssetUsefulLife>
  <us-gaap:FiniteLivedIntangibleAssetUsefulLife contextRef="d_2019-02-01_2020-01-31_FiniteLivedIntangibleAssetsByMajorClassAxis-TradeNamesMember_RangeAxis-MinimumMember" id="c59148414">P1Y</us-gaap:FiniteLivedIntangibleAssetUsefulLife>
  <us-gaap:FiniteLivedIntangibleAssetUsefulLife contextRef="d_2019-02-01_2020-01-31_FiniteLivedIntangibleAssetsByMajorClassAxis-TradeNamesMember_RangeAxis-MaximumMember" id="c59148415">P15Y</us-gaap:FiniteLivedIntangibleAssetUsefulLife>
  <us-gaap:FiniteLivedIntangibleAssetUsefulLife contextRef="d_2019-02-01_2020-01-31_FiniteLivedIntangibleAssetsByMajorClassAxis-NoncompeteAgreementsMember_RangeAxis-MinimumMember" id="c59148416">P2Y</us-gaap:FiniteLivedIntangibleAssetUsefulLife>
  <us-gaap:FiniteLivedIntangibleAssetUsefulLife contextRef="d_2019-02-01_2020-01-31_FiniteLivedIntangibleAssetsByMajorClassAxis-NoncompeteAgreementsMember_RangeAxis-MaximumMember" id="c59148417">P12Y</us-gaap:FiniteLivedIntangibleAssetUsefulLife>
  <us-gaap:FiniteLivedIntangibleAssetUsefulLife contextRef="d_2018-02-01_2019-01-31_BusinessAcquisitionAxis-VisualComplianceMember_FiniteLivedIntangibleAssetsByMajorClassAxis-CustomerRelationshipsMember" id="c59149404">P14Y</us-gaap:FiniteLivedIntangibleAssetUsefulLife>
  <us-gaap:FiniteLivedIntangibleAssetUsefulLife contextRef="d_2018-02-01_2019-01-31_BusinessAcquisitionAxis-CoreTransportTechnologiesNzLimitedMember_FiniteLivedIntangibleAssetsByMajorClassAxis-CustomerRelationshipsMember" id="c59149405">P13Y</us-gaap:FiniteLivedIntangibleAssetUsefulLife>
  <us-gaap:FiniteLivedIntangibleAssetUsefulLife contextRef="d_2018-02-01_2019-01-31_BusinessAcquisitionAxis-StepcomMember_FiniteLivedIntangibleAssetsByMajorClassAxis-CustomerRelationshipsMember" id="c59149406">P9Y</us-gaap:FiniteLivedIntangibleAssetUsefulLife>
  <us-gaap:FiniteLivedIntangibleAssetUsefulLife contextRef="d_2018-02-01_2019-01-31_BusinessAcquisitionAxis-BesttransportMember_FiniteLivedIntangibleAssetsByMajorClassAxis-CustomerRelationshipsMember" id="c59149407">P12Y</us-gaap:FiniteLivedIntangibleAssetUsefulLife>
  <us-gaap:FiniteLivedIntangibleAssetUsefulLife contextRef="d_2018-02-01_2019-01-31_BusinessAcquisitionAxis-VisualComplianceMember_FiniteLivedIntangibleAssetsByMajorClassAxis-ExistingTechnologyMember" id="c59149414">P7Y</us-gaap:FiniteLivedIntangibleAssetUsefulLife>
  <us-gaap:FiniteLivedIntangibleAssetUsefulLife contextRef="d_2018-02-01_2019-01-31_BusinessAcquisitionAxis-CoreTransportTechnologiesNzLimitedMember_FiniteLivedIntangibleAssetsByMajorClassAxis-ExistingTechnologyMember" id="c59149415">P6Y</us-gaap:FiniteLivedIntangibleAssetUsefulLife>
  <us-gaap:FiniteLivedIntangibleAssetUsefulLife contextRef="d_2018-02-01_2019-01-31_BusinessAcquisitionAxis-BesttransportMember_FiniteLivedIntangibleAssetsByMajorClassAxis-ExistingTechnologyMember" id="c59149417">P6Y</us-gaap:FiniteLivedIntangibleAssetUsefulLife>
  <us-gaap:FiniteLivedIntangibleAssetUsefulLife contextRef="d_2018-02-01_2019-01-31_BusinessAcquisitionAxis-VisualComplianceMember_FiniteLivedIntangibleAssetsByMajorClassAxis-TradeNamesMember" id="c59149424">P5Y</us-gaap:FiniteLivedIntangibleAssetUsefulLife>
  <us-gaap:FiniteLivedIntangibleAssetUsefulLife contextRef="d_2018-02-01_2019-01-31_BusinessAcquisitionAxis-CoreTransportTechnologiesNzLimitedMember_FiniteLivedIntangibleAssetsByMajorClassAxis-TradeNamesMember" id="c59149425">P8Y</us-gaap:FiniteLivedIntangibleAssetUsefulLife>
  <us-gaap:FiniteLivedIntangibleAssetUsefulLife contextRef="d_2018-02-01_2019-01-31_BusinessAcquisitionAxis-StepcomMember_FiniteLivedIntangibleAssetsByMajorClassAxis-TradeNamesMember" id="c59149426">P3Y</us-gaap:FiniteLivedIntangibleAssetUsefulLife>
  <us-gaap:FiniteLivedIntangibleAssetUsefulLife contextRef="d_2018-02-01_2019-01-31_BusinessAcquisitionAxis-BesttransportMember_FiniteLivedIntangibleAssetsByMajorClassAxis-TradeNamesMember" id="c59149427">P3Y</us-gaap:FiniteLivedIntangibleAssetUsefulLife>
  <us-gaap:FiniteLivedIntangibleAssetUsefulLife contextRef="d_2018-02-01_2019-01-31_BusinessAcquisitionAxis-VisualComplianceMember_FiniteLivedIntangibleAssetsByMajorClassAxis-NoncompeteAgreementsMember" id="c59149434">P5Y</us-gaap:FiniteLivedIntangibleAssetUsefulLife>
  <us-gaap:FiniteLivedIntangibleAssetUsefulLife contextRef="d_2018-02-01_2019-01-31_BusinessAcquisitionAxis-CoreTransportTechnologiesNzLimitedMember_FiniteLivedIntangibleAssetsByMajorClassAxis-NoncompeteAgreementsMember" id="c59149435">P5Y</us-gaap:FiniteLivedIntangibleAssetUsefulLife>
  <us-gaap:FiniteLivedIntangibleAssetUsefulLife contextRef="d_2018-02-01_2019-01-31_BusinessAcquisitionAxis-StepcomMember_FiniteLivedIntangibleAssetsByMajorClassAxis-NoncompeteAgreementsMember" id="c59149436">P3Y</us-gaap:FiniteLivedIntangibleAssetUsefulLife>
  <us-gaap:FiniteLivedIntangibleAssetUsefulLife contextRef="d_2018-02-01_2019-01-31_BusinessAcquisitionAxis-BesttransportMember_FiniteLivedIntangibleAssetsByMajorClassAxis-NoncompeteAgreementsMember" id="c59149437">P2Y</us-gaap:FiniteLivedIntangibleAssetUsefulLife>
  <us-gaap:FiniteLivedIntangibleAssetUsefulLife contextRef="d_2018-02-01_2019-01-31_BusinessAcquisitionAxis-AljexSoftwareIncMember_FiniteLivedIntangibleAssetsByMajorClassAxis-CustomerRelationshipsMember" id="c59149448">P13Y</us-gaap:FiniteLivedIntangibleAssetUsefulLife>
  <us-gaap:FiniteLivedIntangibleAssetUsefulLife contextRef="d_2018-02-01_2019-01-31_BusinessAcquisitionAxis-VelocityMailMember_FiniteLivedIntangibleAssetsByMajorClassAxis-CustomerRelationshipsMember" id="c59149449">P12Y</us-gaap:FiniteLivedIntangibleAssetUsefulLife>
  <us-gaap:FiniteLivedIntangibleAssetUsefulLife contextRef="d_2018-02-01_2019-01-31_BusinessAcquisitionAxis-PinPointMember_FiniteLivedIntangibleAssetsByMajorClassAxis-CustomerRelationshipsMember" id="c59149450">P9Y</us-gaap:FiniteLivedIntangibleAssetUsefulLife>
  <us-gaap:FiniteLivedIntangibleAssetUsefulLife contextRef="d_2018-02-01_2019-01-31_BusinessAcquisitionAxis-AljexSoftwareIncMember_FiniteLivedIntangibleAssetsByMajorClassAxis-ExistingTechnologyMember" id="c59149458">P5Y</us-gaap:FiniteLivedIntangibleAssetUsefulLife>
  <us-gaap:FiniteLivedIntangibleAssetUsefulLife contextRef="d_2018-02-01_2019-01-31_BusinessAcquisitionAxis-VelocityMailMember_FiniteLivedIntangibleAssetsByMajorClassAxis-ExistingTechnologyMember" id="c59149459">P5Y</us-gaap:FiniteLivedIntangibleAssetUsefulLife>
  <us-gaap:FiniteLivedIntangibleAssetUsefulLife contextRef="d_2018-02-01_2019-01-31_BusinessAcquisitionAxis-AljexSoftwareIncMember_FiniteLivedIntangibleAssetsByMajorClassAxis-TradeNamesMember" id="c59149468">P8Y</us-gaap:FiniteLivedIntangibleAssetUsefulLife>
  <us-gaap:FiniteLivedIntangibleAssetUsefulLife contextRef="d_2018-02-01_2019-01-31_BusinessAcquisitionAxis-VelocityMailMember_FiniteLivedIntangibleAssetsByMajorClassAxis-TradeNamesMember" id="c59149469">P4Y</us-gaap:FiniteLivedIntangibleAssetUsefulLife>
  <us-gaap:FiniteLivedIntangibleAssetUsefulLife contextRef="d_2018-02-01_2019-01-31_BusinessAcquisitionAxis-PinPointMember_FiniteLivedIntangibleAssetsByMajorClassAxis-TradeNamesMember" id="c59149470">P8Y</us-gaap:FiniteLivedIntangibleAssetUsefulLife>
  <us-gaap:FiniteLivedIntangibleAssetUsefulLife contextRef="d_2018-02-01_2019-01-31_BusinessAcquisitionAxis-AljexSoftwareIncMember_FiniteLivedIntangibleAssetsByMajorClassAxis-NoncompeteAgreementsMember" id="c59149478">P5Y</us-gaap:FiniteLivedIntangibleAssetUsefulLife>
  <us-gaap:FiniteLivedIntangibleAssetUsefulLife contextRef="d_2018-02-01_2019-01-31_BusinessAcquisitionAxis-VelocityMailMember_FiniteLivedIntangibleAssetsByMajorClassAxis-NoncompeteAgreementsMember" id="c59149479">P5Y</us-gaap:FiniteLivedIntangibleAssetUsefulLife>
  <us-gaap:FiniteLivedIntangibleAssetUsefulLife contextRef="d_2018-02-01_2019-01-31_BusinessAcquisitionAxis-PinPointMember_FiniteLivedIntangibleAssetsByMajorClassAxis-NoncompeteAgreementsMember" id="c59149480">P5Y</us-gaap:FiniteLivedIntangibleAssetUsefulLife>
  <us-gaap:FiniteLivedIntangibleAssetUsefulLife contextRef="d_2017-02-01_2018-01-31_BusinessAcquisitionAxis-ShipRushMember_FiniteLivedIntangibleAssetsByMajorClassAxis-CustomerRelationshipsMember" id="c59149491">P9Y</us-gaap:FiniteLivedIntangibleAssetUsefulLife>
  <us-gaap:FiniteLivedIntangibleAssetUsefulLife contextRef="d_2017-02-01_2018-01-31_BusinessAcquisitionAxis-PCSTracIncMember_FiniteLivedIntangibleAssetsByMajorClassAxis-CustomerRelationshipsMember" id="c59149492">P13Y</us-gaap:FiniteLivedIntangibleAssetUsefulLife>
  <us-gaap:FiniteLivedIntangibleAssetUsefulLife contextRef="d_2017-02-01_2018-01-31_BusinessAcquisitionAxis-MacroPointLLCMember_FiniteLivedIntangibleAssetsByMajorClassAxis-CustomerRelationshipsMember" id="c59149493">P12Y</us-gaap:FiniteLivedIntangibleAssetUsefulLife>
  <us-gaap:FiniteLivedIntangibleAssetUsefulLife contextRef="d_2017-02-01_2018-01-31_BusinessAcquisitionAxis-ShipRushMember_FiniteLivedIntangibleAssetsByMajorClassAxis-ExistingTechnologyMember" id="c59149501">P5Y</us-gaap:FiniteLivedIntangibleAssetUsefulLife>
  <us-gaap:FiniteLivedIntangibleAssetUsefulLife contextRef="d_2017-02-01_2018-01-31_BusinessAcquisitionAxis-PCSTracIncMember_FiniteLivedIntangibleAssetsByMajorClassAxis-ExistingTechnologyMember" id="c59149502">P5Y</us-gaap:FiniteLivedIntangibleAssetUsefulLife>
  <us-gaap:FiniteLivedIntangibleAssetUsefulLife contextRef="d_2017-02-01_2018-01-31_BusinessAcquisitionAxis-MacroPointLLCMember_FiniteLivedIntangibleAssetsByMajorClassAxis-ExistingTechnologyMember" id="c59149503">P5Y</us-gaap:FiniteLivedIntangibleAssetUsefulLife>
  <us-gaap:FiniteLivedIntangibleAssetUsefulLife contextRef="d_2017-02-01_2018-01-31_BusinessAcquisitionAxis-ShipRushMember_FiniteLivedIntangibleAssetsByMajorClassAxis-TradeNamesMember" id="c59149511">P8Y</us-gaap:FiniteLivedIntangibleAssetUsefulLife>
  <us-gaap:FiniteLivedIntangibleAssetUsefulLife contextRef="d_2017-02-01_2018-01-31_BusinessAcquisitionAxis-PCSTracIncMember_FiniteLivedIntangibleAssetsByMajorClassAxis-TradeNamesMember" id="c59149512">P4Y</us-gaap:FiniteLivedIntangibleAssetUsefulLife>
  <us-gaap:FiniteLivedIntangibleAssetUsefulLife contextRef="d_2017-02-01_2018-01-31_BusinessAcquisitionAxis-MacroPointLLCMember_FiniteLivedIntangibleAssetsByMajorClassAxis-TradeNamesMember" id="c59149513">P8Y</us-gaap:FiniteLivedIntangibleAssetUsefulLife>
  <us-gaap:FiniteLivedIntangibleAssetUsefulLife contextRef="d_2017-02-01_2018-01-31_BusinessAcquisitionAxis-ShipRushMember_FiniteLivedIntangibleAssetsByMajorClassAxis-NoncompeteAgreementsMember" id="c59149521">P5Y</us-gaap:FiniteLivedIntangibleAssetUsefulLife>
  <us-gaap:FiniteLivedIntangibleAssetUsefulLife contextRef="d_2017-02-01_2018-01-31_BusinessAcquisitionAxis-PCSTracIncMember_FiniteLivedIntangibleAssetsByMajorClassAxis-NoncompeteAgreementsMember" id="c59149522">P5Y</us-gaap:FiniteLivedIntangibleAssetUsefulLife>
  <us-gaap:FiniteLivedIntangibleAssetUsefulLife contextRef="d_2017-02-01_2018-01-31_BusinessAcquisitionAxis-MacroPointLLCMember_FiniteLivedIntangibleAssetsByMajorClassAxis-NoncompeteAgreementsMember" id="c59149523">P5Y</us-gaap:FiniteLivedIntangibleAssetUsefulLife>
  <us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization contextRef="i_2020-01-31_FiniteLivedIntangibleAssetsByMajorClassAxis-CustomerRelationshipsMember" decimals="-3" id="c59149646" unitRef="iso4217-usd">98241000</us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization>
  <us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization contextRef="i_2019-01-31_FiniteLivedIntangibleAssetsByMajorClassAxis-CustomerRelationshipsMember" decimals="-3" id="c59149647" unitRef="iso4217-usd">82028000</us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization>
  <us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization contextRef="i_2020-01-31_FiniteLivedIntangibleAssetsByMajorClassAxis-DevelopedTechnologyRightsMember" decimals="-3" id="c59149648" unitRef="iso4217-usd">142757000</us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization>
  <us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization contextRef="i_2019-01-31_FiniteLivedIntangibleAssetsByMajorClassAxis-DevelopedTechnologyRightsMember" decimals="-3" id="c59149649" unitRef="iso4217-usd">110051000</us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization>
  <us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization contextRef="i_2020-01-31_FiniteLivedIntangibleAssetsByMajorClassAxis-TradeNamesMember" decimals="-3" id="c59149650" unitRef="iso4217-usd">5124000</us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization>
  <us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization contextRef="i_2019-01-31_FiniteLivedIntangibleAssetsByMajorClassAxis-TradeNamesMember" decimals="-3" id="c59149651" unitRef="iso4217-usd">4456000</us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization>
  <us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization contextRef="i_2020-01-31_FiniteLivedIntangibleAssetsByMajorClassAxis-NoncompeteAgreementsMember" decimals="-3" id="c59149652" unitRef="iso4217-usd">4617000</us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization>
  <us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization contextRef="i_2019-01-31_FiniteLivedIntangibleAssetsByMajorClassAxis-NoncompeteAgreementsMember" decimals="-3" id="c59149653" unitRef="iso4217-usd">3065000</us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization>
  <us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization contextRef="i_2020-01-31" decimals="-3" id="c59149654" unitRef="iso4217-usd">250739000</us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization>
  <us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization contextRef="i_2019-01-31" decimals="-3" id="c59149655" unitRef="iso4217-usd">199600000</us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization>
  <us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseAfterYearFive contextRef="i_2020-01-31" decimals="-5" id="c59149632" unitRef="iso4217-usd">60500000</us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseAfterYearFive>
  <us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths contextRef="i_2020-01-31" decimals="-5" id="c59149622" unitRef="iso4217-usd">52700000</us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths>
  <us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseYearFive contextRef="i_2020-01-31" decimals="-5" id="c59149630" unitRef="iso4217-usd">25900000</us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseYearFive>
  <us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseYearFour contextRef="i_2020-01-31" decimals="-5" id="c59149628" unitRef="iso4217-usd">28900000</us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseYearFour>
  <us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseYearThree contextRef="i_2020-01-31" decimals="-5" id="c59149626" unitRef="iso4217-usd">40700000</us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseYearThree>
  <us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo contextRef="i_2020-01-31" decimals="-5" id="c59149624" unitRef="iso4217-usd">48300000</us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo>
  <us-gaap:FiniteLivedIntangibleAssetsGross contextRef="i_2020-01-31_FiniteLivedIntangibleAssetsByMajorClassAxis-CustomerRelationshipsMember" decimals="-3" id="c59149635" unitRef="iso4217-usd">226514000</us-gaap:FiniteLivedIntangibleAssetsGross>
  <us-gaap:FiniteLivedIntangibleAssetsGross contextRef="i_2019-01-31_FiniteLivedIntangibleAssetsByMajorClassAxis-CustomerRelationshipsMember" decimals="-3" id="c59149636" unitRef="iso4217-usd">177224000</us-gaap:FiniteLivedIntangibleAssetsGross>
  <us-gaap:FiniteLivedIntangibleAssetsGross contextRef="i_2020-01-31_FiniteLivedIntangibleAssetsByMajorClassAxis-DevelopedTechnologyRightsMember" decimals="-3" id="c59149637" unitRef="iso4217-usd">262614000</us-gaap:FiniteLivedIntangibleAssetsGross>
  <us-gaap:FiniteLivedIntangibleAssetsGross contextRef="i_2019-01-31_FiniteLivedIntangibleAssetsByMajorClassAxis-DevelopedTechnologyRightsMember" decimals="-3" id="c59149638" unitRef="iso4217-usd">184641000</us-gaap:FiniteLivedIntangibleAssetsGross>
  <us-gaap:FiniteLivedIntangibleAssetsGross contextRef="i_2020-01-31_FiniteLivedIntangibleAssetsByMajorClassAxis-TradeNamesMember" decimals="-3" id="c59149639" unitRef="iso4217-usd">8582000</us-gaap:FiniteLivedIntangibleAssetsGross>
  <us-gaap:FiniteLivedIntangibleAssetsGross contextRef="i_2019-01-31_FiniteLivedIntangibleAssetsByMajorClassAxis-TradeNamesMember" decimals="-3" id="c59149640" unitRef="iso4217-usd">7754000</us-gaap:FiniteLivedIntangibleAssetsGross>
  <us-gaap:FiniteLivedIntangibleAssetsGross contextRef="i_2020-01-31_FiniteLivedIntangibleAssetsByMajorClassAxis-NoncompeteAgreementsMember" decimals="-3" id="c59149641" unitRef="iso4217-usd">9985000</us-gaap:FiniteLivedIntangibleAssetsGross>
  <us-gaap:FiniteLivedIntangibleAssetsGross contextRef="i_2019-01-31_FiniteLivedIntangibleAssetsByMajorClassAxis-NoncompeteAgreementsMember" decimals="-3" id="c59149642" unitRef="iso4217-usd">6173000</us-gaap:FiniteLivedIntangibleAssetsGross>
  <us-gaap:FiniteLivedIntangibleAssetsGross contextRef="i_2020-01-31" decimals="-3" id="c59149643" unitRef="iso4217-usd">507695000</us-gaap:FiniteLivedIntangibleAssetsGross>
  <us-gaap:FiniteLivedIntangibleAssetsGross contextRef="i_2019-01-31" decimals="-3" id="c59149644" unitRef="iso4217-usd">375792000</us-gaap:FiniteLivedIntangibleAssetsGross>
  <us-gaap:FiniteLivedIntangibleAssetsNet contextRef="i_2020-01-31" decimals="-3" id="c59149621" unitRef="iso4217-usd">256956000</us-gaap:FiniteLivedIntangibleAssetsNet>
  <us-gaap:FiniteLivedIntangibleAssetsNet contextRef="i_2019-01-31" decimals="-3" id="c59149657" unitRef="iso4217-usd">176192000</us-gaap:FiniteLivedIntangibleAssetsNet>
  <us-gaap:ForeignCurrencyTransactionGainLossBeforeTax contextRef="d_2019-02-01_2020-01-31" decimals="-3" id="c59148364" unitRef="iso4217-usd">600000</us-gaap:ForeignCurrencyTransactionGainLossBeforeTax>
  <us-gaap:ForeignCurrencyTransactionGainLossBeforeTax contextRef="d_2018-02-01_2019-01-31" decimals="-3" id="c59148366" unitRef="iso4217-usd">-400000</us-gaap:ForeignCurrencyTransactionGainLossBeforeTax>
  <us-gaap:ForeignCurrencyTransactionGainLossBeforeTax contextRef="d_2017-02-01_2018-01-31" decimals="-3" id="c59148368" unitRef="iso4217-usd">-400000</us-gaap:ForeignCurrencyTransactionGainLossBeforeTax>
  <us-gaap:ForeignCurrencyTransactionsAndTranslationsPolicyTextBlock contextRef="d_2019-02-01_2020-01-31" id="c59148353">&lt;div style="display: inline; font-family: times new roman; font-size: 10pt"&gt;&lt;div style="display: inline; font-family: times new roman; font-size: 10pt"&gt;&lt;div style="display: inline; font-family: times new roman; font-size: 10pt"&gt;&lt;div style="display: inline; font-family: times new roman; font-size: 10pt"&gt;&lt;div style="display: inline; font-family: times new roman; font-size: 10pt"&gt;&lt;div style="display: inline; font-family: times new roman; font-size: 10pt"&gt;&lt;div style="display: inline; font-family: times new roman; font-size: 10pt"&gt;&lt;div style="display: inline; font-family: times new roman; font-size: 10pt"&gt;&lt;div style="display: inline; font-family: times new roman; font-size: 10pt"&gt;&lt;div style="display: inline; font-family: times new roman; font-size: 10pt"&gt;&lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"&gt;&lt;div style="display: inline; font-weight: bold;"&gt;&lt;div style="display: inline; font-style: italic;"&gt;Foreign currency translation&lt;/div&gt;&lt;/div&gt;&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;The US dollar is the presentation currency of the Company. Assets and liabilities of our subsidiaries are translated into US dollars at the exchange rate in effect at the balance sheet date. Revenues and expenses are translated into US dollars using daily exchange rates. Translation adjustments resulting from this process are accumulated in other comprehensive income (loss) as a separate component of shareholders&amp;#x2019; equity. On substantial liquidation of a foreign operation, the component of accumulated other comprehensive income relating to that particular foreign operation is recognized in the consolidated statements of operations.&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&amp;nbsp;&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;The functional currency of each of our entities is the local currency in which they operate. Transactions incurred in currencies other than the local currency of an entity are converted to the local currency at the transaction date. Monetary assets and liabilities denominated in foreign currencies are re-measured into the local currency at the exchange rate in effect at the balance sheet date. All foreign currency re-measurement gains and losses are included in net income. For the year ended &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt; January 31, 2020, &lt;/div&gt;foreign currency re-measurement loss of &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;$0.6&lt;/div&gt; million was included in net income (&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt; January 31, 2019 &amp;#x2013; &lt;/div&gt;loss of &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;$0.4&lt;/div&gt; million; &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt; January 31, 2018 &amp;#x2013; &lt;/div&gt;loss of &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;$0.4&lt;/div&gt; million).&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;</us-gaap:ForeignCurrencyTransactionsAndTranslationsPolicyTextBlock>
  <us-gaap:GeneralAndAdministrativeExpense contextRef="d_2019-02-01_2020-01-31" decimals="-3" id="c59148143" unitRef="iso4217-usd">34628000</us-gaap:GeneralAndAdministrativeExpense>
  <us-gaap:GeneralAndAdministrativeExpense contextRef="d_2018-02-01_2019-01-31" decimals="-3" id="c59148144" unitRef="iso4217-usd">30012000</us-gaap:GeneralAndAdministrativeExpense>
  <us-gaap:GeneralAndAdministrativeExpense contextRef="d_2017-02-01_2018-01-31" decimals="-3" id="c59148145" unitRef="iso4217-usd">25448000</us-gaap:GeneralAndAdministrativeExpense>
  <us-gaap:Goodwill contextRef="i_2020-01-31_BusinessAcquisitionAxis-VisualComplianceMember" decimals="-3" id="c59148917" unitRef="iso4217-usd">118785000</us-gaap:Goodwill>
  <us-gaap:Goodwill contextRef="i_2020-01-31_BusinessAcquisitionAxis-CoreTransportTechnologiesNzLimitedMember" decimals="-3" id="c59148918" unitRef="iso4217-usd">12670000</us-gaap:Goodwill>
  <us-gaap:Goodwill contextRef="i_2020-01-31_BusinessAcquisitionAxis-StepcomMember" decimals="-3" id="c59148919" unitRef="iso4217-usd">10019000</us-gaap:Goodwill>
  <us-gaap:Goodwill contextRef="i_2020-01-31_BusinessAcquisitionAxis-BesttransportMember" decimals="-3" id="c59148920" unitRef="iso4217-usd">5513000</us-gaap:Goodwill>
  <us-gaap:Goodwill contextRef="i_2020-01-31_BusinessAcquisitionAxis-The2020AcquisitionsMember" decimals="-3" id="c59148921" unitRef="iso4217-usd">146987000</us-gaap:Goodwill>
  <us-gaap:Goodwill contextRef="i_2019-01-31_BusinessAcquisitionAxis-AljexSoftwareIncMember" decimals="-3" id="c59149159" unitRef="iso4217-usd">18903000</us-gaap:Goodwill>
  <us-gaap:Goodwill contextRef="i_2019-01-31_BusinessAcquisitionAxis-VelocityMailMember" decimals="-3" id="c59149160" unitRef="iso4217-usd">8448000</us-gaap:Goodwill>
  <us-gaap:Goodwill contextRef="i_2019-01-31_BusinessAcquisitionAxis-PinPointMember" decimals="-3" id="c59149161" unitRef="iso4217-usd">6306000</us-gaap:Goodwill>
  <us-gaap:Goodwill contextRef="i_2019-01-31_BusinessAcquisitionAxis-The2019AcquisitionsMember" decimals="-3" id="c59149162" unitRef="iso4217-usd">33657000</us-gaap:Goodwill>
  <us-gaap:Goodwill contextRef="i_2018-01-31_BusinessAcquisitionAxis-ShipRushMember" decimals="-3" id="c59149387" unitRef="iso4217-usd">8603000</us-gaap:Goodwill>
  <us-gaap:Goodwill contextRef="i_2018-01-31_BusinessAcquisitionAxis-PCSTracIncMember" decimals="-3" id="c59149388" unitRef="iso4217-usd">5815000</us-gaap:Goodwill>
  <us-gaap:Goodwill contextRef="i_2018-01-31_BusinessAcquisitionAxis-MacroPointLLCMember" decimals="-3" id="c59149389" unitRef="iso4217-usd">65213000</us-gaap:Goodwill>
  <us-gaap:Goodwill contextRef="i_2018-01-31_BusinessAcquisitionAxis-The2018AcquisitionsMember" decimals="-3" id="c59149390" unitRef="iso4217-usd">79631000</us-gaap:Goodwill>
  <us-gaap:Goodwill contextRef="i_2019-01-31" decimals="-3" id="c59149659" unitRef="iso4217-usd">378178000</us-gaap:Goodwill>
  <us-gaap:Goodwill contextRef="i_2018-01-31" decimals="-3" id="c59149660" unitRef="iso4217-usd">350148000</us-gaap:Goodwill>
  <us-gaap:Goodwill contextRef="i_2020-01-31" decimals="-3" id="c59149677" unitRef="iso4217-usd">523690000</us-gaap:Goodwill>
  <us-gaap:GoodwillAcquiredDuringPeriod contextRef="d_2019-02-01_2020-01-31_BusinessAcquisitionAxis-AljexSoftwareIncMember" id="c59149661" unitRef="iso4217-usd" xs:nil="true"/>
  <us-gaap:GoodwillAcquiredDuringPeriod contextRef="d_2018-02-01_2019-01-31_BusinessAcquisitionAxis-AljexSoftwareIncMember" decimals="-3" id="c59149662" unitRef="iso4217-usd">18903000</us-gaap:GoodwillAcquiredDuringPeriod>
  <us-gaap:GoodwillAcquiredDuringPeriod contextRef="d_2019-02-01_2020-01-31_BusinessAcquisitionAxis-VelocityMailMember" id="c59149663" unitRef="iso4217-usd" xs:nil="true"/>
  <us-gaap:GoodwillAcquiredDuringPeriod contextRef="d_2018-02-01_2019-01-31_BusinessAcquisitionAxis-VelocityMailMember" decimals="-3" id="c59149664" unitRef="iso4217-usd">8448000</us-gaap:GoodwillAcquiredDuringPeriod>
  <us-gaap:GoodwillAcquiredDuringPeriod contextRef="d_2019-02-01_2020-01-31_BusinessAcquisitionAxis-PinPointMember" id="c59149665" unitRef="iso4217-usd" xs:nil="true"/>
  <us-gaap:GoodwillAcquiredDuringPeriod contextRef="d_2018-02-01_2019-01-31_BusinessAcquisitionAxis-PinPointMember" decimals="-3" id="c59149666" unitRef="iso4217-usd">6306000</us-gaap:GoodwillAcquiredDuringPeriod>
  <us-gaap:GoodwillAcquiredDuringPeriod contextRef="d_2019-02-01_2020-01-31_BusinessAcquisitionAxis-VisualComplianceMember" decimals="-3" id="c59149667" unitRef="iso4217-usd">118785000</us-gaap:GoodwillAcquiredDuringPeriod>
  <us-gaap:GoodwillAcquiredDuringPeriod contextRef="d_2018-02-01_2019-01-31_BusinessAcquisitionAxis-VisualComplianceMember" id="c59149668" unitRef="iso4217-usd" xs:nil="true"/>
  <us-gaap:GoodwillAcquiredDuringPeriod contextRef="d_2019-02-01_2020-01-31_BusinessAcquisitionAxis-CoreTransportTechnologiesNzLimitedMember" decimals="-3" id="c59149669" unitRef="iso4217-usd">12670000</us-gaap:GoodwillAcquiredDuringPeriod>
  <us-gaap:GoodwillAcquiredDuringPeriod contextRef="d_2018-02-01_2019-01-31_BusinessAcquisitionAxis-CoreTransportTechnologiesNzLimitedMember" id="c59149670" unitRef="iso4217-usd" xs:nil="true"/>
  <us-gaap:GoodwillAcquiredDuringPeriod contextRef="d_2019-02-01_2020-01-31_BusinessAcquisitionAxis-StepcomMember" decimals="-3" id="c59149671" unitRef="iso4217-usd">10019000</us-gaap:GoodwillAcquiredDuringPeriod>
  <us-gaap:GoodwillAcquiredDuringPeriod contextRef="d_2018-02-01_2019-01-31_BusinessAcquisitionAxis-StepcomMember" id="c59149672" unitRef="iso4217-usd" xs:nil="true"/>
  <us-gaap:GoodwillAcquiredDuringPeriod contextRef="d_2019-02-01_2020-01-31_BusinessAcquisitionAxis-BesttransportMember" decimals="-3" id="c59149673" unitRef="iso4217-usd">5513000</us-gaap:GoodwillAcquiredDuringPeriod>
  <us-gaap:GoodwillAcquiredDuringPeriod contextRef="d_2018-02-01_2019-01-31_BusinessAcquisitionAxis-BesttransportMember" id="c59149674" unitRef="iso4217-usd" xs:nil="true"/>
  <us-gaap:GoodwillAndIntangibleAssetsPolicyTextBlock contextRef="d_2019-02-01_2020-01-31" id="c59148367">&lt;div style="display: inline; font-family: times new roman; font-size: 10pt"&gt;&lt;div style="display: inline; font-family: times new roman; font-size: 10pt"&gt;&lt;div style="display: inline; font-family: times new roman; font-size: 10pt"&gt;&lt;div style="display: inline; font-family: times new roman; font-size: 10pt"&gt;&lt;div style="display: inline; font-family: times new roman; font-size: 10pt"&gt;&lt;div style="display: inline; font-family: times new roman; font-size: 10pt"&gt;&lt;div style="display: inline; font-family: times new roman; font-size: 10pt"&gt;&lt;div style="display: inline; font-family: times new roman; font-size: 10pt"&gt;&lt;div style="display: inline; font-family: times new roman; font-size: 10pt"&gt;&lt;div style="display: inline; font-family: times new roman; font-size: 10pt"&gt;&lt;div style=" font: italic bold 10pt Times New Roman, Times, Serif; margin: 0pt 0"&gt;Goodwill and intangible assets&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;Goodwill represents the excess of the purchase price in a business combination over the fair value of net tangible and intangible assets acquired. Goodwill is &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;not&lt;/div&gt; subject to amortization.&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&amp;nbsp;&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&lt;/div&gt; &lt;!-- Field: Page; Sequence: 8 --&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;We test for impairment of goodwill at least annually on &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt; October 31&lt;/div&gt;&lt;div style="display: inline; bottom:.33em; font-size: 82%; position: relative; vertical-align: baseline;"&gt;st&lt;/div&gt; of each year and at any other time if any event occurs or circumstances change that would more likely than &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;not&lt;/div&gt; reduce our fair value below our reporting unit&amp;#x2019;s carrying amount. Our operations are analyzed by management and our chief operating decision maker as being part of a single industry segment providing logistics technology solutions. Accordingly, our goodwill impairment assessment is based on the allocation of goodwill to a single reporting unit. We completed the qualitative assessment during our &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;third&lt;/div&gt; quarter of &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;2020&lt;/div&gt; and concluded that it was more likely than &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;not&lt;/div&gt; that the fair value of the goodwill was greater than the carrying value. As a result, &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;no&lt;/div&gt; impairment of goodwill was recorded in fiscal &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;2020&lt;/div&gt; (&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;no&lt;/div&gt; impairments were recorded for fiscal &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;2019&lt;/div&gt; or fiscal &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;2018&lt;/div&gt;).&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&amp;nbsp;&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;We perform further quarterly analysis of whether any event has occurred that would more likely than &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;not&lt;/div&gt; reduce our fair value below our reporting unit&amp;#x2019;s carrying amount and, if so, we perform a goodwill impairment test between the annual date. Any impairment adjustment is recognized as an expense in the period that the adjustment is identified.&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&amp;nbsp;&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;Intangible assets related to our acquisitions are recorded at their fair value at the acquisition date. Intangible assets include customer agreements and relationships, non-compete covenants, existing technologies and trade names. Intangible assets are amortized on a straight-line basis over their estimated useful lives. We write down intangible asset or asset groups with a finite life to fair value when the related undiscounted cash flows are &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;not&lt;/div&gt; expected to allow for recovery of the carrying value. Fair value of intangible asset or asset groups is determined by discounting the expected related future cash flows.&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&amp;nbsp;&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;Amortization of our intangible assets is generally recorded at the following rates:&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&amp;nbsp;&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&lt;/div&gt; &lt;table border="0" cellpadding="0" cellspacing="0" style="; border-collapse: collapse; font-family: Times New Roman, Times, Serif; min-width: 700px;"&gt; &lt;tr style="vertical-align: middle"&gt; &lt;td style="padding-left: 20pt; font-size: 10pt; text-align: left; width: 50%"&gt;Customer agreements and relationships&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: left; width: 50%"&gt;Straight-line over &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;three&lt;/div&gt; to &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;twenty&lt;/div&gt; years&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: middle"&gt; &lt;td style="padding-left: 20pt; font-size: 10pt; text-align: left"&gt;Existing technologies&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: left"&gt;Straight-line over &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;two&lt;/div&gt; to &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;twelve&lt;/div&gt; years&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: middle"&gt; &lt;td style="padding-left: 20pt; font-size: 10pt; text-align: left"&gt;Trade names&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: left"&gt;Straight-line over &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;one&lt;/div&gt; to &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;fifteen&lt;/div&gt; years&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: middle"&gt; &lt;td style="padding-left: 20pt; font-size: 10pt; text-align: left"&gt;Non-compete covenants&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: left"&gt;Straight-line over &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;two&lt;/div&gt; to &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;twelve&lt;/div&gt; years&lt;/td&gt; &lt;/tr&gt; &lt;/table&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;</us-gaap:GoodwillAndIntangibleAssetsPolicyTextBlock>
  <us-gaap:GoodwillDisclosureTextBlock contextRef="d_2019-02-01_2020-01-31" id="s1506267">&lt;div style="display: inline; font-family: times new roman; font-size: 10pt"&gt;&lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"&gt;&lt;div style="display: inline; font-weight: bold;"&gt;Note &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;10&lt;/div&gt; &amp;#x2013; Goodwill&lt;/div&gt;&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"&gt;&lt;div style="display: inline; font-weight: bold;"&gt;&amp;nbsp;&lt;/div&gt;&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;Goodwill is recorded when the consideration paid for an acquisition of a business exceeds the fair value of identifiable net tangible and intangible assets acquired. The following table summarizes the changes in goodwill since &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt; January 31, 2018:&lt;/div&gt;&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&amp;nbsp;&lt;/div&gt; &lt;div&gt; &lt;table cellpadding="0" cellspacing="0" style="border-collapse: collapse; font: 10pt Times New Roman, Times, Serif; min-width: 700px;"&gt;  &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;div style="display: inline; font-weight: bold;"&gt;January 31,&lt;/div&gt;&lt;/div&gt;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; white-space: nowrap; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; text-align: right"&gt;&lt;div style="display: inline; font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;January 31,&lt;/div&gt;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td style="padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: right"&gt;2020&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;2019&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td style="width: 68%; text-align: left"&gt;Balance at beginning of year&lt;/td&gt; &lt;td style="width: 2%; font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 1%; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 12%; font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;378,178&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; width: 1%; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 2%"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 1%; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 12%; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;350,148&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; width: 1%; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td style="padding-left: 12pt"&gt;Acquisition of Aljex&lt;/td&gt; &lt;td style="font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;&amp;#x2013;&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;18,903&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td style="text-align: left; padding-left: 12pt"&gt;Acquisition of Velocity Mail&lt;/td&gt; &lt;td style="font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;&amp;#x2013;&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;8,448&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td style="padding-left: 12pt"&gt;Acquisition of PinPoint&lt;/td&gt; &lt;td style="font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;&amp;#x2013;&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;6,306&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td style="text-align: left; padding-left: 12pt"&gt;Acquisition of Visual Compliance&lt;/td&gt; &lt;td style="font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;118,785&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;&amp;#x2013;&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td style="padding-left: 12pt"&gt;Acquisition of CORE&lt;/td&gt; &lt;td style="font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;12,670&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;&amp;#x2013;&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td style="padding-left: 12pt"&gt;Acquisition of STEPcom&lt;/td&gt; &lt;td style="font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;10,019&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;&amp;#x2013;&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td style="padding-left: 12pt"&gt;Acquisition of BestTransport&lt;/td&gt; &lt;td style="font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;5,513&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;&amp;#x2013;&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td style="text-align: left; padding-bottom: 1pt; padding-left: 12pt"&gt;Adjustments on account of foreign exchange&lt;/td&gt; &lt;td style="font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;(1,475&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; font-weight: bold; text-align: left"&gt;)&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;(5,627&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left"&gt;)&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td style="text-align: left; padding-bottom: 1pt"&gt;Balance at end of year&lt;/td&gt; &lt;td style="font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;523,690&lt;/div&gt;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; white-space: nowrap; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;378,178&lt;/div&gt;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt;  &lt;/table&gt; &lt;/div&gt;&lt;/div&gt;</us-gaap:GoodwillDisclosureTextBlock>
  <us-gaap:GoodwillImpairmentLoss contextRef="d_2019-02-01_2020-01-31" decimals="-3" id="c59148403" unitRef="iso4217-usd">0</us-gaap:GoodwillImpairmentLoss>
  <us-gaap:GoodwillImpairmentLoss contextRef="d_2018-02-01_2019-01-31" decimals="-3" id="c59148405" unitRef="iso4217-usd">0</us-gaap:GoodwillImpairmentLoss>
  <us-gaap:GoodwillImpairmentLoss contextRef="d_2017-02-01_2018-01-31" decimals="-3" id="c59148406" unitRef="iso4217-usd">0</us-gaap:GoodwillImpairmentLoss>
  <us-gaap:GoodwillTranslationAndPurchaseAccountingAdjustments contextRef="d_2019-02-01_2020-01-31" decimals="-3" id="c59149675" unitRef="iso4217-usd">-1475000</us-gaap:GoodwillTranslationAndPurchaseAccountingAdjustments>
  <us-gaap:GoodwillTranslationAndPurchaseAccountingAdjustments contextRef="d_2018-02-01_2019-01-31" decimals="-3" id="c59149676" unitRef="iso4217-usd">-5627000</us-gaap:GoodwillTranslationAndPurchaseAccountingAdjustments>
  <us-gaap:GrossProfit contextRef="d_2019-02-01_2020-01-31" decimals="-3" id="c59148133" unitRef="iso4217-usd">240070000</us-gaap:GrossProfit>
  <us-gaap:GrossProfit contextRef="d_2018-02-01_2019-01-31" decimals="-3" id="c59148134" unitRef="iso4217-usd">200177000</us-gaap:GrossProfit>
  <us-gaap:GrossProfit contextRef="d_2017-02-01_2018-01-31" decimals="-3" id="c59148135" unitRef="iso4217-usd">173735000</us-gaap:GrossProfit>
  <us-gaap:ImpairmentOfLongLivedAssetsHeldForUse contextRef="d_2019-02-01_2020-01-31" decimals="-3" id="c59148397" unitRef="iso4217-usd">0</us-gaap:ImpairmentOfLongLivedAssetsHeldForUse>
  <us-gaap:ImpairmentOfLongLivedAssetsHeldForUse contextRef="d_2018-02-01_2019-01-31" decimals="-3" id="c59148398" unitRef="iso4217-usd">0</us-gaap:ImpairmentOfLongLivedAssetsHeldForUse>
  <us-gaap:ImpairmentOfLongLivedAssetsHeldForUse contextRef="d_2017-02-01_2018-01-31" decimals="-3" id="c59148399" unitRef="iso4217-usd">0</us-gaap:ImpairmentOfLongLivedAssetsHeldForUse>
  <us-gaap:ImpairmentOrDisposalOfLongLivedAssetsIncludingIntangibleAssetsPolicyPolicyTextBlock contextRef="d_2019-02-01_2020-01-31" id="c59148365">&lt;div style="display: inline; font-family: times new roman; font-size: 10pt"&gt;&lt;div style="display: inline; font-family: times new roman; font-size: 10pt"&gt;&lt;div style="display: inline; font-family: times new roman; font-size: 10pt"&gt;&lt;div style="display: inline; font-family: times new roman; font-size: 10pt"&gt;&lt;div style="display: inline; font-family: times new roman; font-size: 10pt"&gt;&lt;div style="display: inline; font-family: times new roman; font-size: 10pt"&gt;&lt;div style="display: inline; font-family: times new roman; font-size: 10pt"&gt;&lt;div style="display: inline; font-family: times new roman; font-size: 10pt"&gt;&lt;div style="display: inline; font-family: times new roman; font-size: 10pt"&gt;&lt;div style="display: inline; font-family: times new roman; font-size: 10pt"&gt;&lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"&gt;&lt;div style="display: inline; font-weight: bold;"&gt;&lt;div style="display: inline; font-style: italic;"&gt;Impairment of long-lived assets&lt;/div&gt;&lt;/div&gt;&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;We test long-lived assets or asset groups, such as property and equipment and finite life intangible assets, for recoverability when events or changes in circumstances indicate that there &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt; may &lt;/div&gt;be impairment. Circumstances which could trigger a review include, but are &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;not&lt;/div&gt; limited to: significant adverse changes in the business climate or legal factors; current period cash flow or operating losses combined with a history of losses or a forecast of continuing losses associated with the use of the asset or asset group; and a current expectation that the asset or asset group will more likely than &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;not&lt;/div&gt; be sold or disposed of before the end of its estimated useful life. An impairment loss is recognized when the estimate of undiscounted future cash flows generated by such asset or asset group is less than the carrying amount. Measurement of the impairment loss is based on the present value of the expected future cash flows. &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;No&lt;/div&gt; impairment of long-lived assets has been identified or recorded in our consolidated statements of operations for any of the fiscal years presented.&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;</us-gaap:ImpairmentOrDisposalOfLongLivedAssetsIncludingIntangibleAssetsPolicyPolicyTextBlock>
  <us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesMinorityInterestAndIncomeLossFromEquityMethodInvestments contextRef="d_2019-02-01_2020-01-31" decimals="-3" id="c59150223" unitRef="iso4217-usd">48033000</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesMinorityInterestAndIncomeLossFromEquityMethodInvestments>
  <us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesMinorityInterestAndIncomeLossFromEquityMethodInvestments contextRef="d_2018-02-01_2019-01-31" decimals="-3" id="c59150224" unitRef="iso4217-usd">39510000</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesMinorityInterestAndIncomeLossFromEquityMethodInvestments>
  <us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesMinorityInterestAndIncomeLossFromEquityMethodInvestments contextRef="d_2017-02-01_2018-01-31" decimals="-3" id="c59150225" unitRef="iso4217-usd">34748000</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesMinorityInterestAndIncomeLossFromEquityMethodInvestments>
  <us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesMinorityInterestAndIncomeLossFromEquityMethodInvestments contextRef="d_2019-02-01_2020-02-01_IncomeTaxAuthorityAxis-CA" decimals="-3" id="c59150156" unitRef="iso4217-usd">19557000</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesMinorityInterestAndIncomeLossFromEquityMethodInvestments>
  <us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesMinorityInterestAndIncomeLossFromEquityMethodInvestments contextRef="d_2018-02-01_2019-01-31_IncomeTaxAuthorityAxis-CA" decimals="-3" id="c59150157" unitRef="iso4217-usd">16715000</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesMinorityInterestAndIncomeLossFromEquityMethodInvestments>
  <us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesMinorityInterestAndIncomeLossFromEquityMethodInvestments contextRef="d_2017-02-01_2018-01-31_IncomeTaxAuthorityAxis-CA" decimals="-3" id="c59150158" unitRef="iso4217-usd">17964000</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesMinorityInterestAndIncomeLossFromEquityMethodInvestments>
  <us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesMinorityInterestAndIncomeLossFromEquityMethodInvestments contextRef="d_2019-02-01_2020-02-01_IncomeTaxAuthorityAxis-US" decimals="-3" id="c59150159" unitRef="iso4217-usd">19962000</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesMinorityInterestAndIncomeLossFromEquityMethodInvestments>
  <us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesMinorityInterestAndIncomeLossFromEquityMethodInvestments contextRef="d_2018-02-01_2019-01-31_IncomeTaxAuthorityAxis-US" decimals="-3" id="c59150160" unitRef="iso4217-usd">11077000</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesMinorityInterestAndIncomeLossFromEquityMethodInvestments>
  <us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesMinorityInterestAndIncomeLossFromEquityMethodInvestments contextRef="d_2017-02-01_2018-01-31_IncomeTaxAuthorityAxis-US" decimals="-3" id="c59150161" unitRef="iso4217-usd">6203000</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesMinorityInterestAndIncomeLossFromEquityMethodInvestments>
  <us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesMinorityInterestAndIncomeLossFromEquityMethodInvestments contextRef="d_2019-02-01_2020-02-01_IncomeTaxAuthorityAxis-OtherCountriesMember" decimals="-3" id="c59150162" unitRef="iso4217-usd">8516000</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesMinorityInterestAndIncomeLossFromEquityMethodInvestments>
  <us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesMinorityInterestAndIncomeLossFromEquityMethodInvestments contextRef="d_2018-02-01_2019-01-31_IncomeTaxAuthorityAxis-OtherCountriesMember" decimals="-3" id="c59150163" unitRef="iso4217-usd">11718000</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesMinorityInterestAndIncomeLossFromEquityMethodInvestments>
  <us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesMinorityInterestAndIncomeLossFromEquityMethodInvestments contextRef="d_2017-02-01_2018-01-31_IncomeTaxAuthorityAxis-OtherCountriesMember" decimals="-3" id="c59150164" unitRef="iso4217-usd">10581000</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesMinorityInterestAndIncomeLossFromEquityMethodInvestments>
  <us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesMinorityInterestAndIncomeLossFromEquityMethodInvestments contextRef="d_2019-02-01_2020-02-01" decimals="-3" id="c59150165" unitRef="iso4217-usd">48035000</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesMinorityInterestAndIncomeLossFromEquityMethodInvestments>
  <us-gaap:IncomeTaxDisclosureTextBlock contextRef="d_2019-02-01_2020-01-31" id="s1506293">&lt;div style="display: inline; font-family: times new roman; font-size: 10pt"&gt;&lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"&gt;&lt;div style="display: inline; font-weight: bold;"&gt;Note &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;18&lt;/div&gt; - Income Taxes&lt;/div&gt;&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"&gt;&lt;div style="display: inline; font-weight: bold;"&gt;&amp;nbsp;&lt;/div&gt;&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;Income before income taxes is earned in the following tax jurisdictions:&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&amp;nbsp;&lt;/div&gt; &lt;div&gt; &lt;table cellpadding="0" cellspacing="0" style="border-collapse: collapse; font: 10pt Times New Roman, Times, Serif; min-width: 700px;"&gt;  &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td style="font-style: italic"&gt;Year Ended&lt;/td&gt; &lt;td style="font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;div style="display: inline; font-weight: bold;"&gt;January 31,&lt;/div&gt;&lt;/div&gt;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; white-space: nowrap; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; text-align: right"&gt;&lt;div style="display: inline; font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;January 31,&lt;/div&gt;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; text-align: right"&gt;&lt;div style="display: inline; font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;January 31,&lt;/div&gt;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td style="padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: right"&gt;2020&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;2019&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;2018&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td style="width: 55%"&gt;Canada&lt;/td&gt; &lt;td style="width: 2%; font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 1%; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 11%; font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;19,557&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; width: 1%; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 2%"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 1%; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 11%; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;16,715&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; width: 1%; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 2%"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 1%; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 11%; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;17,964&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; width: 1%; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td style="text-align: left"&gt;United States&lt;/td&gt; &lt;td style="font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;19,962&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;11,077&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;6,203&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td style="text-align: left; padding-bottom: 1pt"&gt;Other countries&lt;/td&gt; &lt;td style="font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;8,516&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;11,718&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;10,581&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td style="padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;48,035&lt;/div&gt;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; white-space: nowrap; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;39,510&lt;/div&gt;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;34,748&lt;/div&gt;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt;  &lt;/table&gt; &lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&lt;/div&gt;   &lt;!-- Field: /Page --&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&amp;nbsp;&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;Income tax expense is incurred in the following jurisdictions:&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&amp;nbsp;&lt;/div&gt; &lt;div&gt; &lt;table cellpadding="0" cellspacing="0" style="border-collapse: collapse; font: 10pt Times New Roman, Times, Serif; min-width: 700px;"&gt;  &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td style="font-style: italic"&gt;Year Ended&lt;/td&gt; &lt;td style="font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;div style="display: inline; font-weight: bold;"&gt;January 31,&lt;/div&gt;&lt;/div&gt;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; white-space: nowrap; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; text-align: right"&gt;&lt;div style="display: inline; font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;January 31,&lt;/div&gt;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; text-align: right"&gt;&lt;div style="display: inline; font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;January 31,&lt;/div&gt;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td style="padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: right"&gt;2020&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;2019&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;2018&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td style="text-align: left"&gt;Current income tax expense&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td style="width: 55%; padding-left: 12pt"&gt;Canada&lt;/td&gt; &lt;td style="width: 2%; font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 1%; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 11%; font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;1,020&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; width: 1%; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 2%"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 1%; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 11%; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;3,037&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; width: 1%; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 2%"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 1%; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 11%; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;1,243&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; width: 1%; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td style="text-align: left; padding-left: 12pt"&gt;United States&lt;/td&gt; &lt;td style="font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;3,496&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;1,298&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;494&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td style="text-align: left; padding-bottom: 1pt; padding-left: 12pt"&gt;Other countries&lt;/td&gt; &lt;td style="font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;779&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;1,707&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;4,835&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td style="padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;5,295&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;6,042&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;6,572&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td style="text-align: left"&gt;Deferred income tax expense (recovery)&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td style="padding-left: 12pt"&gt;Canada&lt;/td&gt; &lt;td style="font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;5,008&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;2,531&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;2,051&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td style="text-align: left; padding-left: 12pt"&gt;United States&lt;/td&gt; &lt;td style="font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;1,390&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;67&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;1,876&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td style="text-align: left; padding-bottom: 1pt; padding-left: 12pt"&gt;Other countries&lt;/td&gt; &lt;td style="font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;(655&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; font-weight: bold; text-align: left"&gt;)&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;(407&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left"&gt;)&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;(2,630&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left"&gt;)&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td style="padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;5,743&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;2,191&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;1,297&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td style="padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;11,038&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;8,233&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;7,869&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt;  &lt;/table&gt; &lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&amp;nbsp;&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;Income tax expense for &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;2020,&lt;/div&gt; &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;2019&lt;/div&gt; and &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;2018&lt;/div&gt; was &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;23%,&lt;/div&gt; &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;21%&lt;/div&gt; and &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;23%&lt;/div&gt; of income before income taxes, respectively, with current income tax expense being &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;11%,&lt;/div&gt; &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;15%&lt;/div&gt; and &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;19%&lt;/div&gt; of income before income taxes, respectively.&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&amp;nbsp;&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;On &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt; December 22, 2017, &lt;/div&gt;the U.S. government enacted comprehensive tax legislation commonly referred to as the Tax Cuts and Jobs Act (the &amp;#x201c;Tax Act&amp;#x201d;). Although the legislative changes contained in the Tax Act are extensive and the interpretation of several aspects of the Tax Act are still unclear, we recorded an income tax benefit of &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;$0.7&lt;/div&gt; million in &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;2018&lt;/div&gt; to reflect the reduced U.S. tax rate from &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;35%&lt;/div&gt; to &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;21%&lt;/div&gt; and other effects of the Tax Act. There was &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;no&lt;/div&gt; material adjustment to income tax expense in &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;2019&lt;/div&gt; or &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;2020&lt;/div&gt; related to the Tax Act.&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&amp;nbsp;&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;Current income tax expense decreased in &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;2020&lt;/div&gt; compared to &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;2019&lt;/div&gt; primarily due to utilization of tax attributes acquired in &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;2020.&lt;/div&gt;&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&amp;nbsp;&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;Current income tax expense decreased in &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;2019&lt;/div&gt; compared to &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;2018&lt;/div&gt; primarily due to benefits recorded in &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;2019&lt;/div&gt; from the completion of certain prior year tax audits partially offset by higher current income tax expense as a result of the higher pre-tax income generated in &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;2019.&lt;/div&gt;&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&amp;nbsp;&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;Deferred income tax expense increased in &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;2020&lt;/div&gt; compared to &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;2019&lt;/div&gt; primarily due to utilization of tax attributes acquired in &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;2020.&lt;/div&gt;&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&amp;nbsp;&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;Deferred income tax expense increased in &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;2019&lt;/div&gt; compared to &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;2018&lt;/div&gt; primarily due to the adoption of Accounting Standards Update &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;2016&lt;/div&gt;-&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;16&lt;/div&gt; during &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;2019.&lt;/div&gt;&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&lt;/div&gt;   &lt;!-- Field: /Page --&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&amp;nbsp;&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;The components of the deferred income tax assets and liabilities are as follows:&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&amp;nbsp;&lt;/div&gt; &lt;div&gt; &lt;table cellpadding="0" cellspacing="0" style="border-collapse: collapse; font: 10pt Times New Roman, Times, Serif; min-width: 700px;"&gt;  &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;div style="display: inline; font-weight: bold;"&gt;January 31,&lt;/div&gt;&lt;/div&gt;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; white-space: nowrap; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; text-align: right"&gt;&lt;div style="display: inline; font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;January 31,&lt;/div&gt;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td style="padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: right"&gt;2020&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;2019&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td&gt;Assets&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td style="width: 68%; text-align: left; padding-left: 12pt"&gt;Accrued liabilities not currently deductible&lt;/td&gt; &lt;td style="width: 2%; font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 1%; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 12%; font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;14,838&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; width: 1%; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 2%"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 1%; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 12%; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;11,483&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; width: 1%; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td style="text-align: left; padding-left: 12pt"&gt;Accumulated net operating losses&lt;/td&gt; &lt;td style="font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;10,579&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;11,081&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td style="text-align: left; padding-left: 12pt"&gt;Difference between tax and accounting basis of property and equipment&lt;/td&gt; &lt;td style="font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;33,929&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;&amp;#x2013;&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td style="text-align: left; padding-bottom: 1pt; padding-left: 12pt"&gt;Research and development and other tax credits and expenses&lt;/td&gt; &lt;td style="font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;756&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;911&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td style="text-align: left"&gt;Total deferred income tax assets&lt;/td&gt; &lt;td style="font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;60,102&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;23,475&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td&gt;Liabilities&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td style="text-align: left; padding-left: 12pt"&gt;Difference between tax and accounting basis of intangible assets&lt;/td&gt; &lt;td style="font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;(41,381&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; font-weight: bold; text-align: left"&gt;)&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;(23,974&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;)&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td style="text-align: left; padding-left: 12.7pt"&gt;Difference between tax and accounting basis of property and equipment&lt;/td&gt; &lt;td style="font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;&amp;#x2013;&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;(909&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;)&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td style="text-align: left; padding-bottom: 1pt; padding-left: 12.7pt"&gt;Other temporary differences&lt;/td&gt; &lt;td style="font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;(1,716&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; font-weight: bold; text-align: left"&gt;)&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;(574&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left"&gt;)&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td style="text-align: left; padding-bottom: 1pt"&gt;Total deferred income tax liabilities&lt;/td&gt; &lt;td style="font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;(43,097&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; font-weight: bold; text-align: left"&gt;)&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;(25,457&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left"&gt;)&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td style="text-align: left"&gt;Net deferred income taxes&lt;/td&gt; &lt;td style="font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;17,005&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;(1,982&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;)&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td style="text-align: left; padding-bottom: 1pt; padding-left: 12pt"&gt;Valuation allowance&lt;/td&gt; &lt;td style="font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;(10,470&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; font-weight: bold; text-align: left"&gt;)&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;(9,927&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left"&gt;)&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td style="text-align: left; padding-bottom: 1pt"&gt;Net deferred income taxes, net of valuation allowance&lt;/td&gt; &lt;td style="font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;6,535&lt;/div&gt;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; white-space: nowrap; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;(11,909&lt;/div&gt;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; white-space: nowrap; text-align: left"&gt;)&lt;/td&gt; &lt;/tr&gt;  &lt;/table&gt; &lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&amp;nbsp;&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;As at &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt; January 31, 2020, &lt;/div&gt;we have &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;not&lt;/div&gt; accrued for foreign withholding taxes and Canadian income taxes applicable to approximately &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;$381.3&lt;/div&gt; million of unremitted earnings of subsidiaries operating outside of Canada. These earnings, which we consider to be invested indefinitely, will become subject to these taxes if and when they are remitted as dividends or if we sell our stock in the subsidiaries. If we decide to repatriate the foreign earnings, we would need to adjust our income tax provision in the period we determined that the earnings will &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;no&lt;/div&gt; longer be indefinitely invested outside Canada.&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"&gt;&amp;nbsp;&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"&gt;The provision (recovery) for income taxes varies from the expected provision at the statutory rates for the reasons detailed in the table below:&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"&gt;&amp;nbsp;&lt;/div&gt; &lt;div&gt; &lt;table cellpadding="0" cellspacing="0" style="border-collapse: collapse; font: 10pt Times New Roman, Times, Serif; min-width: 700px;"&gt;  &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td style="font-style: italic"&gt;Year Ended&lt;/td&gt; &lt;td style="font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;div style="display: inline; font-weight: bold;"&gt;January 31,&lt;/div&gt;&lt;/div&gt;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; white-space: nowrap; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; text-align: right"&gt;&lt;div style="display: inline; font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;January 31,&lt;/div&gt;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; text-align: right"&gt;&lt;div style="display: inline; font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;January 31,&lt;/div&gt;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td style="padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: right"&gt;2020&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;2019&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;2018&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td style="width: 55%; text-align: left"&gt;Income before income taxes&lt;/td&gt; &lt;td style="width: 2%; font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 1%; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 11%; font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;48,033&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; width: 1%; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 2%"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 1%; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 11%; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;39,510&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; width: 1%; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 2%"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 1%; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 11%; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;34,748&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; width: 1%; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td style="text-align: left"&gt;Combined basic Canadian statutory rates&lt;/td&gt; &lt;td style="font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;26.5&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; font-weight: bold; text-align: left"&gt;%&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;26.5&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;%&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;26.5&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;%&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td style="text-align: left"&gt;Income tax expense based on the above rates&lt;/td&gt; &lt;td style="font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;12,729&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;10,470&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;9,207&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td style="text-align: left"&gt;Increase (decrease) in income taxes resulting from:&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td style="text-align: left; padding-left: 12pt"&gt;Permanent differences including amortization of intangible assets&lt;/td&gt; &lt;td style="font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;(673&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; font-weight: bold; text-align: left"&gt;)&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;(133&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;)&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;(1,870&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;)&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td style="text-align: left; padding-left: 12pt"&gt;Effect of differences between Canadian and foreign tax rates&lt;/td&gt; &lt;td style="font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;(274&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; font-weight: bold; text-align: left"&gt;)&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;(172&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;)&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;595&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td style="text-align: left; padding-left: 12pt"&gt;Effect of rate changes on current year timing differences&lt;/td&gt; &lt;td style="font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;(609&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; font-weight: bold; text-align: left"&gt;)&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;(245&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;)&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;(571&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;)&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td style="text-align: left; padding-left: 12pt"&gt;Adjustments relating to previous periods&lt;/td&gt; &lt;td style="font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;94&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;(973&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;)&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;(152&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;)&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td style="text-align: left; padding-left: 12pt"&gt;Increase (decrease) in accruals for uncertain tax positions&lt;/td&gt; &lt;td style="font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;(1,042&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; font-weight: bold; text-align: left"&gt;)&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;(515&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;)&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;1,954&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td style="text-align: left; padding-left: 12pt"&gt;Valuation allowance&lt;/td&gt; &lt;td style="font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;692&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;(344&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;)&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;(1,564&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;)&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td style="text-align: left; padding-left: 12pt"&gt;Stock based compensation&lt;/td&gt; &lt;td style="font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;352&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;231&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;(135&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;)&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td style="text-align: left; padding-left: 12pt"&gt;Deferred tax charges&lt;/td&gt; &lt;td style="font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;&amp;#x2013;&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;&amp;#x2013;&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;179&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td style="text-align: left; padding-bottom: 1pt; padding-left: 12pt"&gt;Other, including foreign exchange&lt;/td&gt; &lt;td style="font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;(231&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; font-weight: bold; text-align: left"&gt;)&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;(86&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left"&gt;)&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;226&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td style="text-align: left; padding-bottom: 1pt"&gt;Income tax expense&lt;/td&gt; &lt;td style="font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;11,038&lt;/div&gt;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; white-space: nowrap; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;8,233&lt;/div&gt;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;7,869&lt;/div&gt;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt;  &lt;/table&gt; &lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"&gt;&lt;/div&gt;   &lt;!-- Field: /Page --&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"&gt;&amp;nbsp;&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"&gt;We have income tax loss carry forwards which expire as follows:&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"&gt;&amp;nbsp;&lt;/div&gt; &lt;div&gt; &lt;table cellpadding="0" cellspacing="0" style="border-collapse: collapse; font: 10pt Times New Roman, Times, Serif; min-width: 700px;"&gt;  &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td style="font-style: italic; text-align: left; padding-bottom: 1pt; padding-left: 9pt"&gt;Expiry year&lt;/td&gt; &lt;td style="font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;div style="display: inline; font-weight: bold;"&gt;Canada&lt;/div&gt;&lt;/div&gt;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; white-space: nowrap; border-bottom: Black 1pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; font-weight: bold; border-bottom: Black 1pt solid"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;div style="display: inline; font-weight: bold;"&gt;United States&lt;/div&gt;&lt;/div&gt;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; white-space: nowrap; border-bottom: Black 1pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; font-weight: bold; border-bottom: Black 1pt solid"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;div style="display: inline; font-weight: bold;"&gt;EMEA&lt;/div&gt;&lt;/div&gt;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; white-space: nowrap; border-bottom: Black 1pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; font-weight: bold; border-bottom: Black 1pt solid"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;div style="display: inline; font-weight: bold;"&gt;Asia Pacific&lt;/div&gt;&lt;/div&gt;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; white-space: nowrap; border-bottom: Black 1pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; font-weight: bold; border-bottom: Black 1pt solid"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;div style="display: inline; font-weight: bold;"&gt;Total&lt;/div&gt;&lt;/div&gt;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; white-space: nowrap; border-bottom: Black 1pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td style="width: 45%; text-align: left; padding-left: 9pt"&gt;2021&lt;/td&gt; &lt;td style="width: 1%"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 1%; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 8%; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;&amp;#x2013;&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; width: 1%; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 1%"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 1%; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 8%; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;&amp;#x2013;&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; width: 1%; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 1%"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 1%; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 8%; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;&amp;#x2013;&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; width: 1%; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 1%"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 1%; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 8%; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;585&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; width: 1%; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 1%; font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 1%; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 8%; font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;585&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; width: 1%; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td style="text-align: left; padding-left: 9pt"&gt;2022&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;&amp;#x2013;&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;245&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;&amp;#x2013;&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;264&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;509&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td style="text-align: left; padding-left: 9pt"&gt;2023&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;&amp;#x2013;&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;253&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;651&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;46&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;950&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td style="text-align: left; padding-left: 9pt"&gt;2024&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;&amp;#x2013;&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;245&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;126&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;171&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;542&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td style="text-align: left; padding-left: 9pt"&gt;2025&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;&amp;#x2013;&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;245&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;&amp;#x2013;&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;&amp;#x2013;&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;245&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td style="text-align: left; padding-bottom: 1pt; padding-left: 9pt"&gt;Thereafter&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;1,609&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;5,026&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;42,865&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;3,070&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold; border-bottom: Black 1pt solid"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;52,570&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td style="text-align: left; padding-bottom: 1pt; padding-left: 9pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;1,609&lt;/div&gt;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; white-space: nowrap; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;6,014&lt;/div&gt;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; white-space: nowrap; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;43,642&lt;/div&gt;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; white-space: nowrap; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;4,136&lt;/div&gt;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; white-space: nowrap; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;55,401&lt;/div&gt;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; white-space: nowrap; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt;  &lt;/table&gt; &lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"&gt;&amp;nbsp;&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"&gt;The following is a tabular reconciliation of the total estimated liability associated with uncertain tax positions taken:&lt;/div&gt; &lt;div&gt; &lt;table style="border-collapse: collapse; font: 10pt Times New Roman, Times, Serif; min-width: 700px;" cellspacing="0" cellpadding="0"&gt;  &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;div style="display: inline; font-weight: bold;"&gt;January 31,&lt;/div&gt;&lt;/div&gt;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; white-space: nowrap; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; text-align: right"&gt;&lt;div style="display: inline; font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;January 31,&lt;/div&gt;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td style="padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: right"&gt;2020&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;2019&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td style="width: 68%; text-align: left"&gt;Liability, beginning of year&lt;/td&gt; &lt;td style="width: 2%; font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 1%; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 12%; font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;7,824&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; width: 1%; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 2%"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 1%; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 12%; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;8,977&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; width: 1%; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td style="text-align: left; padding-left: 12pt"&gt;Gross increases &amp;#x2013; current period&lt;/td&gt; &lt;td style="font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;139&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;493&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td style="text-align: left; padding-bottom: 1pt; padding-left: 12pt"&gt;Lapsing due to statutes of limitations&lt;/td&gt; &lt;td style="font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;(1,313&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; font-weight: bold; text-align: left"&gt;)&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;(1,646&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left"&gt;)&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td style="text-align: left; padding-bottom: 1pt"&gt;Liability, end of year&lt;/td&gt; &lt;td style="font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;6,650&lt;/div&gt;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; white-space: nowrap; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;7,824&lt;/div&gt;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt;  &lt;/table&gt; &lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"&gt;&amp;nbsp;&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;We have identified accruals of &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;$6.7&lt;/div&gt; million with respect to uncertain tax positions as at &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt; January 31, 2020. &lt;/div&gt;It is possible that these accruals for uncertain tax positions will &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;not&lt;/div&gt; be required in which case up to &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;$6.5&lt;/div&gt; million of the recorded liability will decrease the effective tax rate in future years if this liability is reversed. We believe that it is reasonably possible that &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;$0.3&lt;/div&gt; million of the uncertain tax positions could decrease tax expense in the next &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;12&lt;/div&gt; months relating primarily to tax years becoming statute barred for purposes of future tax examinations by local taxing jurisdictions.&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&amp;nbsp;&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;We recognize accrued interest and penalties related to uncertain tax positions as a current tax expense. As at &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt; January 31, 2020 &lt;/div&gt;and &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt; January 31, 2019, &lt;/div&gt;the unrecognized tax positions have resulted in &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;no&lt;/div&gt; material liability for estimated interest and penalties.&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&amp;nbsp;&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;Descartes and our subsidiaries file their tax returns as prescribed by the tax laws of the jurisdictions within which they operate. We are &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;no&lt;/div&gt; longer subject to income tax examinations by tax authorities in our major tax jurisdictions as follows:&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&amp;nbsp;&lt;/div&gt; &lt;div&gt; &lt;table cellpadding="0" cellspacing="0" style="border-collapse: collapse; font: 10pt Times New Roman, Times, Serif; min-width: 700px;"&gt;  &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td style="padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; font-weight: bold; text-align: right; padding-bottom: 1pt; border-bottom: Black 1pt solid"&gt;Years No Longer Subject to Audit&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td style="text-align: left"&gt;Tax Jurisdiction&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td style="width: 76%; text-align: left; padding-left: 7.5pt"&gt;United States Federal&lt;/td&gt; &lt;td style="width: 2%"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 22%; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;2016 and prior&lt;/div&gt;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td style="padding-left: 7.5pt"&gt;Canada&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;2018 and prior&lt;/div&gt;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td style="text-align: left; padding-left: 7.5pt"&gt;United Kingdom&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;2016 and prior&lt;/div&gt;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td style="padding-left: 7.5pt"&gt;Sweden&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;2013 and prior&lt;/div&gt;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td style="padding-left: 7.5pt"&gt;Norway&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;2018 and prior&lt;/div&gt;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td style="padding-left: 7.5pt"&gt;Netherlands&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;2014 and prior&lt;/div&gt;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td style="padding-left: 7.5pt"&gt;Belgium&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;2015 and prior&lt;/div&gt;&lt;/td&gt; &lt;/tr&gt;  &lt;/table&gt; &lt;/div&gt;&lt;/div&gt;</us-gaap:IncomeTaxDisclosureTextBlock>
  <us-gaap:IncomeTaxExpenseBenefit contextRef="d_2019-02-01_2020-01-31" decimals="-3" id="c59150260" unitRef="iso4217-usd">11038000</us-gaap:IncomeTaxExpenseBenefit>
  <us-gaap:IncomeTaxExpenseBenefit contextRef="d_2018-02-01_2019-01-31" decimals="-3" id="c59150261" unitRef="iso4217-usd">8233000</us-gaap:IncomeTaxExpenseBenefit>
  <us-gaap:IncomeTaxExpenseBenefit contextRef="d_2017-02-01_2018-01-31" decimals="-3" id="c59150262" unitRef="iso4217-usd">7869000</us-gaap:IncomeTaxExpenseBenefit>
  <us-gaap:IncomeTaxExpenseBenefit contextRef="d_2019-02-01_2020-02-01" decimals="-3" id="c59150194" unitRef="iso4217-usd">11038000</us-gaap:IncomeTaxExpenseBenefit>
  <us-gaap:IncomeTaxExpenseBenefitContinuingOperationsAdjustmentOfDeferredTaxAssetLiability contextRef="d_2017-02-01_2018-01-31" decimals="-5" id="c59150124" unitRef="iso4217-usd">700000</us-gaap:IncomeTaxExpenseBenefitContinuingOperationsAdjustmentOfDeferredTaxAssetLiability>
  <us-gaap:IncomeTaxPolicyTextBlock contextRef="d_2019-02-01_2020-01-31" id="c59148381">&lt;div style="display: inline; font-family: times new roman; font-size: 10pt"&gt;&lt;div style="display: inline; font-family: times new roman; font-size: 10pt"&gt;&lt;div style="display: inline; font-family: times new roman; font-size: 10pt"&gt;&lt;div style="display: inline; font-family: times new roman; font-size: 10pt"&gt;&lt;div style="display: inline; font-family: times new roman; font-size: 10pt"&gt;&lt;div style="display: inline; font-family: times new roman; font-size: 10pt"&gt;&lt;div style="display: inline; font-family: times new roman; font-size: 10pt"&gt;&lt;div style="display: inline; font-family: times new roman; font-size: 10pt"&gt;&lt;div style="display: inline; font-family: times new roman; font-size: 10pt"&gt;&lt;div style="display: inline; font-family: times new roman; font-size: 10pt"&gt;&lt;div style=" font: italic bold 10pt Times New Roman, Times, Serif; margin: 0pt 0"&gt;Income taxes&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;We use the liability method of income tax allocation to account for income taxes. Deferred tax assets and liabilities arise from temporary differences between the tax bases of assets and liabilities and their reported amounts in the consolidated financial statements that will result in taxable or deductible amounts in future years. These temporary differences are measured using enacted tax rates. A valuation allowance is recorded to reduce deferred tax assets to the extent that we consider it is more likely than &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;not&lt;/div&gt; that a deferred tax asset will &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;not&lt;/div&gt; be realized. In determining the valuation allowance, we consider factors such as the reversal of deferred income tax liabilities, projected taxable income, our history of losses for tax purposes, and the character of income tax assets and tax planning strategies. A change to these factors could impact the estimated valuation allowance and income tax expense.&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&amp;nbsp;&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;We evaluate our uncertain tax positions by using a &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;two&lt;/div&gt;-step approach to recognize and measure uncertain tax positions and provisions for income taxes.&amp;nbsp;The &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;first&lt;/div&gt; step is to evaluate the tax position for recognition by determining if the weight of available evidence indicates it is more likely than &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;not,&lt;/div&gt; based solely on the technical merits, that the position will be sustained on audit, including resolution of related appeals or litigation processes, if any. The &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;second&lt;/div&gt; step is to measure the appropriate amount of the benefit to recognize. The amount of benefit to recognize is measured as the maximum amount which is more likely than &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;not&lt;/div&gt; to be realized. The tax position is derecognized when it is &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;no&lt;/div&gt; longer more likely than &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;not&lt;/div&gt; that the position will be sustained on audit. We continually assess the likelihood and amount of potential adjustments and adjust the income tax provisions, income taxes payable and deferred income taxes in the period in which the facts that give rise to a revision become known.&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;</us-gaap:IncomeTaxPolicyTextBlock>
  <us-gaap:IncomeTaxReconciliationChangeInDeferredTaxAssetsValuationAllowance contextRef="d_2019-02-01_2020-01-31" decimals="-3" id="c59150248" unitRef="iso4217-usd">692000</us-gaap:IncomeTaxReconciliationChangeInDeferredTaxAssetsValuationAllowance>
  <us-gaap:IncomeTaxReconciliationChangeInDeferredTaxAssetsValuationAllowance contextRef="d_2018-02-01_2019-01-31" decimals="-3" id="c59150249" unitRef="iso4217-usd">-344000</us-gaap:IncomeTaxReconciliationChangeInDeferredTaxAssetsValuationAllowance>
  <us-gaap:IncomeTaxReconciliationChangeInDeferredTaxAssetsValuationAllowance contextRef="d_2017-02-01_2018-01-31" decimals="-3" id="c59150250" unitRef="iso4217-usd">-1564000</us-gaap:IncomeTaxReconciliationChangeInDeferredTaxAssetsValuationAllowance>
  <us-gaap:IncomeTaxReconciliationChangeInEnactedTaxRate contextRef="d_2019-02-01_2020-01-31" decimals="-3" id="c59150239" unitRef="iso4217-usd">-609000</us-gaap:IncomeTaxReconciliationChangeInEnactedTaxRate>
  <us-gaap:IncomeTaxReconciliationChangeInEnactedTaxRate contextRef="d_2018-02-01_2019-01-31" decimals="-3" id="c59150240" unitRef="iso4217-usd">-245000</us-gaap:IncomeTaxReconciliationChangeInEnactedTaxRate>
  <us-gaap:IncomeTaxReconciliationChangeInEnactedTaxRate contextRef="d_2017-02-01_2018-01-31" decimals="-3" id="c59150241" unitRef="iso4217-usd">-571000</us-gaap:IncomeTaxReconciliationChangeInEnactedTaxRate>
  <us-gaap:IncomeTaxReconciliationForeignIncomeTaxRateDifferential contextRef="d_2019-02-01_2020-01-31" decimals="-3" id="c59150236" unitRef="iso4217-usd">-274000</us-gaap:IncomeTaxReconciliationForeignIncomeTaxRateDifferential>
  <us-gaap:IncomeTaxReconciliationForeignIncomeTaxRateDifferential contextRef="d_2018-02-01_2019-01-31" decimals="-3" id="c59150237" unitRef="iso4217-usd">-172000</us-gaap:IncomeTaxReconciliationForeignIncomeTaxRateDifferential>
  <us-gaap:IncomeTaxReconciliationForeignIncomeTaxRateDifferential contextRef="d_2017-02-01_2018-01-31" decimals="-3" id="c59150238" unitRef="iso4217-usd">595000</us-gaap:IncomeTaxReconciliationForeignIncomeTaxRateDifferential>
  <us-gaap:IncomeTaxReconciliationIncomeTaxExpenseBenefitAtFederalStatutoryIncomeTaxRate contextRef="d_2019-02-01_2020-01-31" decimals="-3" id="c59150229" unitRef="iso4217-usd">12729000</us-gaap:IncomeTaxReconciliationIncomeTaxExpenseBenefitAtFederalStatutoryIncomeTaxRate>
  <us-gaap:IncomeTaxReconciliationIncomeTaxExpenseBenefitAtFederalStatutoryIncomeTaxRate contextRef="d_2018-02-01_2019-01-31" decimals="-3" id="c59150230" unitRef="iso4217-usd">10470000</us-gaap:IncomeTaxReconciliationIncomeTaxExpenseBenefitAtFederalStatutoryIncomeTaxRate>
  <us-gaap:IncomeTaxReconciliationIncomeTaxExpenseBenefitAtFederalStatutoryIncomeTaxRate contextRef="d_2017-02-01_2018-01-31" decimals="-3" id="c59150231" unitRef="iso4217-usd">9207000</us-gaap:IncomeTaxReconciliationIncomeTaxExpenseBenefitAtFederalStatutoryIncomeTaxRate>
  <us-gaap:IncomeTaxReconciliationNondeductibleExpenseAmortization contextRef="d_2019-02-01_2020-01-31" decimals="-3" id="c59150233" unitRef="iso4217-usd">-673000</us-gaap:IncomeTaxReconciliationNondeductibleExpenseAmortization>
  <us-gaap:IncomeTaxReconciliationNondeductibleExpenseAmortization contextRef="d_2018-02-01_2019-01-31" decimals="-3" id="c59150234" unitRef="iso4217-usd">-133000</us-gaap:IncomeTaxReconciliationNondeductibleExpenseAmortization>
  <us-gaap:IncomeTaxReconciliationNondeductibleExpenseAmortization contextRef="d_2017-02-01_2018-01-31" decimals="-3" id="c59150235" unitRef="iso4217-usd">-1870000</us-gaap:IncomeTaxReconciliationNondeductibleExpenseAmortization>
  <us-gaap:IncomeTaxReconciliationNondeductibleExpenseShareBasedCompensationCost contextRef="d_2019-02-01_2020-01-31" decimals="-3" id="c59150251" unitRef="iso4217-usd">352000</us-gaap:IncomeTaxReconciliationNondeductibleExpenseShareBasedCompensationCost>
  <us-gaap:IncomeTaxReconciliationNondeductibleExpenseShareBasedCompensationCost contextRef="d_2018-02-01_2019-01-31" decimals="-3" id="c59150252" unitRef="iso4217-usd">231000</us-gaap:IncomeTaxReconciliationNondeductibleExpenseShareBasedCompensationCost>
  <us-gaap:IncomeTaxReconciliationNondeductibleExpenseShareBasedCompensationCost contextRef="d_2017-02-01_2018-01-31" decimals="-3" id="c59150253" unitRef="iso4217-usd">-135000</us-gaap:IncomeTaxReconciliationNondeductibleExpenseShareBasedCompensationCost>
  <us-gaap:IncomeTaxReconciliationOtherAdjustments contextRef="d_2019-02-01_2020-01-31" decimals="-3" id="c59150257" unitRef="iso4217-usd">-231000</us-gaap:IncomeTaxReconciliationOtherAdjustments>
  <us-gaap:IncomeTaxReconciliationOtherAdjustments contextRef="d_2018-02-01_2019-01-31" decimals="-3" id="c59150258" unitRef="iso4217-usd">-86000</us-gaap:IncomeTaxReconciliationOtherAdjustments>
  <us-gaap:IncomeTaxReconciliationOtherAdjustments contextRef="d_2017-02-01_2018-01-31" decimals="-3" id="c59150259" unitRef="iso4217-usd">226000</us-gaap:IncomeTaxReconciliationOtherAdjustments>
  <us-gaap:IncomeTaxReconciliationPriorYearIncomeTaxes contextRef="d_2019-02-01_2020-01-31" decimals="-3" id="c59150242" unitRef="iso4217-usd">94000</us-gaap:IncomeTaxReconciliationPriorYearIncomeTaxes>
  <us-gaap:IncomeTaxReconciliationPriorYearIncomeTaxes contextRef="d_2018-02-01_2019-01-31" decimals="-3" id="c59150243" unitRef="iso4217-usd">-973000</us-gaap:IncomeTaxReconciliationPriorYearIncomeTaxes>
  <us-gaap:IncomeTaxReconciliationPriorYearIncomeTaxes contextRef="d_2017-02-01_2018-01-31" decimals="-3" id="c59150244" unitRef="iso4217-usd">-152000</us-gaap:IncomeTaxReconciliationPriorYearIncomeTaxes>
  <us-gaap:IncomeTaxesPaidNet contextRef="d_2019-02-01_2020-01-31" decimals="-3" id="c59148343" unitRef="iso4217-usd">8946000</us-gaap:IncomeTaxesPaidNet>
  <us-gaap:IncomeTaxesPaidNet contextRef="d_2018-02-01_2019-01-31" decimals="-3" id="c59148344" unitRef="iso4217-usd">7862000</us-gaap:IncomeTaxesPaidNet>
  <us-gaap:IncomeTaxesPaidNet contextRef="d_2017-02-01_2018-01-31" decimals="-3" id="c59148345" unitRef="iso4217-usd">3887000</us-gaap:IncomeTaxesPaidNet>
  <us-gaap:IncreaseDecreaseInAccountsPayable contextRef="d_2019-02-01_2020-01-31" decimals="-3" id="c59150371" unitRef="iso4217-usd">1768000</us-gaap:IncreaseDecreaseInAccountsPayable>
  <us-gaap:IncreaseDecreaseInAccountsPayable contextRef="d_2018-02-01_2019-01-31" decimals="-3" id="c59150372" unitRef="iso4217-usd">-1065000</us-gaap:IncreaseDecreaseInAccountsPayable>
  <us-gaap:IncreaseDecreaseInAccountsPayable contextRef="d_2017-02-01_2018-01-31" decimals="-3" id="c59150373" unitRef="iso4217-usd">1428000</us-gaap:IncreaseDecreaseInAccountsPayable>
  <us-gaap:IncreaseDecreaseInAccountsReceivable contextRef="d_2019-02-01_2020-01-31" decimals="-3" id="c59150359" unitRef="iso4217-usd">-3733000</us-gaap:IncreaseDecreaseInAccountsReceivable>
  <us-gaap:IncreaseDecreaseInAccountsReceivable contextRef="d_2018-02-01_2019-01-31" decimals="-3" id="c59150360" unitRef="iso4217-usd">135000</us-gaap:IncreaseDecreaseInAccountsReceivable>
  <us-gaap:IncreaseDecreaseInAccountsReceivable contextRef="d_2017-02-01_2018-01-31" decimals="-3" id="c59150361" unitRef="iso4217-usd">1963000</us-gaap:IncreaseDecreaseInAccountsReceivable>
  <us-gaap:IncreaseDecreaseInAccruedLiabilities contextRef="d_2019-02-01_2020-01-31" decimals="-3" id="c59150374" unitRef="iso4217-usd">3265000</us-gaap:IncreaseDecreaseInAccruedLiabilities>
  <us-gaap:IncreaseDecreaseInAccruedLiabilities contextRef="d_2018-02-01_2019-01-31" decimals="-3" id="c59150375" unitRef="iso4217-usd">2570000</us-gaap:IncreaseDecreaseInAccruedLiabilities>
  <us-gaap:IncreaseDecreaseInAccruedLiabilities contextRef="d_2017-02-01_2018-01-31" decimals="-3" id="c59150376" unitRef="iso4217-usd">-592000</us-gaap:IncreaseDecreaseInAccruedLiabilities>
  <us-gaap:IncreaseDecreaseInDeferredRevenue contextRef="d_2019-02-01_2020-01-31" decimals="-3" id="c59150383" unitRef="iso4217-usd">-4184000</us-gaap:IncreaseDecreaseInDeferredRevenue>
  <us-gaap:IncreaseDecreaseInDeferredRevenue contextRef="d_2018-02-01_2019-01-31" decimals="-3" id="c59150384" unitRef="iso4217-usd">2047000</us-gaap:IncreaseDecreaseInDeferredRevenue>
  <us-gaap:IncreaseDecreaseInDeferredRevenue contextRef="d_2017-02-01_2018-01-31" decimals="-3" id="c59150385" unitRef="iso4217-usd">902000</us-gaap:IncreaseDecreaseInDeferredRevenue>
  <us-gaap:IncreaseDecreaseInIncomeTaxes contextRef="d_2019-02-01_2020-01-31" decimals="-3" id="c59150377" unitRef="iso4217-usd">-1550000</us-gaap:IncreaseDecreaseInIncomeTaxes>
  <us-gaap:IncreaseDecreaseInIncomeTaxes contextRef="d_2018-02-01_2019-01-31" decimals="-3" id="c59150378" unitRef="iso4217-usd">-2423000</us-gaap:IncreaseDecreaseInIncomeTaxes>
  <us-gaap:IncreaseDecreaseInIncomeTaxes contextRef="d_2017-02-01_2018-01-31" decimals="-3" id="c59150379" unitRef="iso4217-usd">6326000</us-gaap:IncreaseDecreaseInIncomeTaxes>
  <us-gaap:IncreaseDecreaseInInventories contextRef="d_2019-02-01_2020-01-31" decimals="-3" id="c59150368" unitRef="iso4217-usd">345000</us-gaap:IncreaseDecreaseInInventories>
  <us-gaap:IncreaseDecreaseInInventories contextRef="d_2018-02-01_2019-01-31" decimals="-3" id="c59150369" unitRef="iso4217-usd">-74000</us-gaap:IncreaseDecreaseInInventories>
  <us-gaap:IncreaseDecreaseInInventories contextRef="d_2017-02-01_2018-01-31" decimals="-3" id="c59150370" unitRef="iso4217-usd">-52000</us-gaap:IncreaseDecreaseInInventories>
  <us-gaap:IncreaseDecreaseInOperatingCapital contextRef="d_2019-02-01_2020-01-31" decimals="-3" id="c59148292" unitRef="iso4217-usd">5256000</us-gaap:IncreaseDecreaseInOperatingCapital>
  <us-gaap:IncreaseDecreaseInOperatingCapital contextRef="d_2018-02-01_2019-01-31" decimals="-3" id="c59148293" unitRef="iso4217-usd">3849000</us-gaap:IncreaseDecreaseInOperatingCapital>
  <us-gaap:IncreaseDecreaseInOperatingCapital contextRef="d_2017-02-01_2018-01-31" decimals="-3" id="c59148294" unitRef="iso4217-usd">-4397000</us-gaap:IncreaseDecreaseInOperatingCapital>
  <us-gaap:IncreaseDecreaseInOtherReceivables contextRef="d_2019-02-01_2020-01-31" decimals="-3" id="c59150362" unitRef="iso4217-usd">2547000</us-gaap:IncreaseDecreaseInOtherReceivables>
  <us-gaap:IncreaseDecreaseInOtherReceivables contextRef="d_2018-02-01_2019-01-31" decimals="-3" id="c59150363" unitRef="iso4217-usd">451000</us-gaap:IncreaseDecreaseInOtherReceivables>
  <us-gaap:IncreaseDecreaseInOtherReceivables contextRef="d_2017-02-01_2018-01-31" decimals="-3" id="c59150364" unitRef="iso4217-usd">-16000</us-gaap:IncreaseDecreaseInOtherReceivables>
  <us-gaap:IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets contextRef="d_2019-02-01_2020-01-31" decimals="-3" id="c59150365" unitRef="iso4217-usd">5942000</us-gaap:IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets>
  <us-gaap:IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets contextRef="d_2018-02-01_2019-01-31" decimals="-3" id="c59150366" unitRef="iso4217-usd">4466000</us-gaap:IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets>
  <us-gaap:IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets contextRef="d_2017-02-01_2018-01-31" decimals="-3" id="c59150367" unitRef="iso4217-usd">1772000</us-gaap:IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets>
  <us-gaap:IncrementalCommonSharesAttributableToShareBasedPaymentArrangements contextRef="d_2019-02-01_2020-01-31_AwardTypeAxis-EmployeeStockOptionMember" decimals="-3" id="c59149832" unitRef="xbrli-shares">318000</us-gaap:IncrementalCommonSharesAttributableToShareBasedPaymentArrangements>
  <us-gaap:IncrementalCommonSharesAttributableToShareBasedPaymentArrangements contextRef="d_2018-02-01_2019-01-31_AwardTypeAxis-EmployeeStockOptionMember" decimals="-3" id="c59149833" unitRef="xbrli-shares">205000</us-gaap:IncrementalCommonSharesAttributableToShareBasedPaymentArrangements>
  <us-gaap:IncrementalCommonSharesAttributableToShareBasedPaymentArrangements contextRef="d_2017-02-01_2018-01-31_AwardTypeAxis-EmployeeStockOptionMember" decimals="-3" id="c59149834" unitRef="xbrli-shares">167000</us-gaap:IncrementalCommonSharesAttributableToShareBasedPaymentArrangements>
  <us-gaap:IncrementalCommonSharesAttributableToShareBasedPaymentArrangements contextRef="d_2019-02-01_2020-01-31_AwardTypeAxis-RestrictedStockUnitsRSUMember" decimals="-3" id="c59149835" unitRef="xbrli-shares">890000</us-gaap:IncrementalCommonSharesAttributableToShareBasedPaymentArrangements>
  <us-gaap:IncrementalCommonSharesAttributableToShareBasedPaymentArrangements contextRef="d_2018-02-01_2019-01-31_AwardTypeAxis-RestrictedStockUnitsRSUMember" decimals="-3" id="c59149836" unitRef="xbrli-shares">754000</us-gaap:IncrementalCommonSharesAttributableToShareBasedPaymentArrangements>
  <us-gaap:IncrementalCommonSharesAttributableToShareBasedPaymentArrangements contextRef="d_2017-02-01_2018-01-31_AwardTypeAxis-RestrictedStockUnitsRSUMember" decimals="-3" id="c59149837" unitRef="xbrli-shares">621000</us-gaap:IncrementalCommonSharesAttributableToShareBasedPaymentArrangements>
  <us-gaap:IntangibleAssetsDisclosureTextBlock contextRef="d_2019-02-01_2020-01-31" id="s1506265">&lt;div style="display: inline; font-family: times new roman; font-size: 10pt"&gt;&lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"&gt;&lt;div style="display: inline; font-weight: bold;"&gt;Note &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;9&lt;/div&gt; - Intangible Assets&lt;/div&gt;&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"&gt;&lt;div style="display: inline; font-weight: bold;"&gt;&amp;nbsp;&lt;/div&gt;&lt;/div&gt; &lt;div&gt; &lt;table cellpadding="0" cellspacing="0" style="border-collapse: collapse; font: 10pt Times New Roman, Times, Serif; min-width: 700px;"&gt;  &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td style="text-align: right"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;div style="display: inline; font-weight: bold;"&gt;January 31,&lt;/div&gt;&lt;/div&gt;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; white-space: nowrap; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; text-align: right"&gt;&lt;div style="display: inline; font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;January 31,&lt;/div&gt;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td style="text-align: right; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: right"&gt;2020&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;2019&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td&gt;Cost&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td style="width: 68%; text-align: left; padding-left: 12pt"&gt;Customer agreements and relationships&lt;/td&gt; &lt;td style="width: 2%; font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 1%; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 12%; font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;226,514&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; width: 1%; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 2%"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 1%; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 12%; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;177,224&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; width: 1%; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td style="text-align: left; padding-left: 12pt"&gt;Existing technology&lt;/td&gt; &lt;td style="font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;262,614&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;184,641&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td style="text-align: left; padding-left: 12pt"&gt;Trade names&lt;/td&gt; &lt;td style="font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;8,582&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;7,754&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td style="text-align: left; padding-bottom: 1pt; padding-left: 12pt"&gt;Non-compete covenants&lt;/td&gt; &lt;td style="font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;9,985&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;6,173&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;507,695&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;375,792&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td style="text-align: left"&gt;Accumulated amortization&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td style="text-align: left; padding-left: 12pt"&gt;Customer agreements and relationships&lt;/td&gt; &lt;td style="font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;98,241&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;82,028&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td style="text-align: left; padding-left: 12pt"&gt;Existing technology&lt;/td&gt; &lt;td style="font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;142,757&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;110,051&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td style="text-align: left; padding-left: 12pt"&gt;Trade names&lt;/td&gt; &lt;td style="font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;5,124&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;4,456&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td style="text-align: left; padding-bottom: 1pt; padding-left: 12pt"&gt;Non-compete covenants&lt;/td&gt; &lt;td style="font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;4,617&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;3,065&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td style="padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;250,739&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;199,600&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td style="padding-bottom: 1pt"&gt;Net&lt;/td&gt; &lt;td style="font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;256,956&lt;/div&gt;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; white-space: nowrap; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;176,192&lt;/div&gt;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt;  &lt;/table&gt; &lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"&gt;&lt;div style="display: inline; font-weight: bold;"&gt;&amp;nbsp;&lt;/div&gt;&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;Intangible assets related to our acquisitions are recorded at their fair value at the acquisition date. The change in intangible assets during the year ended &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt; January 31, 2020 &lt;/div&gt;is primarily due to the acquisitions of Visual Compliance, CORE, STEPcom and BestTransport, partially offset by amortization. The balance of the change in intangible assets is due to foreign currency translation.&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&amp;nbsp;&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;Intangible assets with a finite life are amortized into income over their useful lives. Amortization expense for existing intangible assets is expected to be &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;$257.0&lt;/div&gt; million over the following periods: &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;$52.7&lt;/div&gt; million for &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;2021,&lt;/div&gt; &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;$48.3&lt;/div&gt; million for &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;2022,&lt;/div&gt; &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;$40.7&lt;/div&gt; million for &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;2023,&lt;/div&gt; &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;$28.9&lt;/div&gt; million for &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;2024,&lt;/div&gt; &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;$25.9&lt;/div&gt; million for &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;2025&lt;/div&gt; and &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;$60.5&lt;/div&gt; million thereafter. Expected future amortization expense is subject to fluctuations in foreign exchange rates and assumes &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;no&lt;/div&gt; future adjustments to acquired intangible assets.&lt;/div&gt;&lt;/div&gt;</us-gaap:IntangibleAssetsDisclosureTextBlock>
  <us-gaap:IntangibleAssetsNetExcludingGoodwill contextRef="i_2020-01-31" decimals="-3" id="c59148075" unitRef="iso4217-usd">256956000</us-gaap:IntangibleAssetsNetExcludingGoodwill>
  <us-gaap:IntangibleAssetsNetExcludingGoodwill contextRef="i_2019-01-31" decimals="-3" id="c59148076" unitRef="iso4217-usd">176192000</us-gaap:IntangibleAssetsNetExcludingGoodwill>
  <us-gaap:InterestExpense contextRef="d_2019-02-01_2020-01-31" decimals="-3" id="c59148158" unitRef="iso4217-usd">4416000</us-gaap:InterestExpense>
  <us-gaap:InterestExpense contextRef="d_2018-02-01_2019-01-31" decimals="-3" id="c59148159" unitRef="iso4217-usd">2128000</us-gaap:InterestExpense>
  <us-gaap:InterestExpense contextRef="d_2017-02-01_2018-01-31" decimals="-3" id="c59148160" unitRef="iso4217-usd">1297000</us-gaap:InterestExpense>
  <us-gaap:InterestPaidNet contextRef="d_2019-02-01_2020-01-31" decimals="-3" id="c59148340" unitRef="iso4217-usd">3516000</us-gaap:InterestPaidNet>
  <us-gaap:InterestPaidNet contextRef="d_2018-02-01_2019-01-31" decimals="-3" id="c59148341" unitRef="iso4217-usd">1712000</us-gaap:InterestPaidNet>
  <us-gaap:InterestPaidNet contextRef="d_2017-02-01_2018-01-31" decimals="-3" id="c59148342" unitRef="iso4217-usd">680000</us-gaap:InterestPaidNet>
  <us-gaap:InventoryDisclosureTextBlock contextRef="d_2019-02-01_2020-01-31" id="s1506262">&lt;div style="display: inline; font-family: times new roman; font-size: 10pt"&gt;&lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&lt;div style="display: inline; font-weight: bold;"&gt;Note &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;7&lt;/div&gt; &amp;#x2013; Inventory&lt;/div&gt;&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"&gt;&lt;div style="display: inline; font-weight: bold;"&gt;&amp;nbsp;&lt;/div&gt;&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;At &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt; January 31, 2020 &lt;/div&gt;and &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt; January 31, 2019, &lt;/div&gt;inventory is entirely comprised of finished goods inventory. Finished goods inventory primarily consists of hardware and related parts for mobile asset units held for sale. For the years ended &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt; January 31, 2020, &lt;/div&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;2019&lt;/div&gt; and &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;2018,&lt;/div&gt; a provision for excess or obsolete inventories has been recorded in cost of revenues of &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;nil,&lt;/div&gt; nominal and &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;$0.1&lt;/div&gt; million, respectively.&lt;/div&gt;&lt;/div&gt;</us-gaap:InventoryDisclosureTextBlock>
  <us-gaap:InventoryNet contextRef="i_2020-01-31" decimals="-3" id="c59148063" unitRef="iso4217-usd">411000</us-gaap:InventoryNet>
  <us-gaap:InventoryNet contextRef="i_2019-01-31" decimals="-3" id="c59148064" unitRef="iso4217-usd">95000</us-gaap:InventoryNet>
  <us-gaap:InventoryPolicyTextBlock contextRef="d_2019-02-01_2020-01-31" id="c59148363">&lt;div style="display: inline; font-family: times new roman; font-size: 10pt"&gt;&lt;div style="display: inline; font-family: times new roman; font-size: 10pt"&gt;&lt;div style="display: inline; font-family: times new roman; font-size: 10pt"&gt;&lt;div style="display: inline; font-family: times new roman; font-size: 10pt"&gt;&lt;div style="display: inline; font-family: times new roman; font-size: 10pt"&gt;&lt;div style="display: inline; font-family: times new roman; font-size: 10pt"&gt;&lt;div style="display: inline; font-family: times new roman; font-size: 10pt"&gt;&lt;div style="display: inline; font-family: times new roman; font-size: 10pt"&gt;&lt;div style="display: inline; font-family: times new roman; font-size: 10pt"&gt;&lt;div style="display: inline; font-family: times new roman; font-size: 10pt"&gt;&lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&lt;div style="display: inline; font-weight: bold;"&gt;&lt;div style="display: inline; font-style: italic;"&gt;Inventory&lt;/div&gt;&lt;/div&gt;&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;Finished goods inventories are stated at the lower of cost and net realizable value. The cost of finished goods is determined on the basis of average cost of units.&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&amp;nbsp;&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;The valuation of inventory, including the determination of obsolete or excess inventory, requires management to estimate the future demand for our products within specified time horizons. We perform an assessment of inventory which includes a review of, among other factors, demand requirements, product life cycle and development plans, product pricing and quality issues. If the demand for our products indicates we are &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;no&lt;/div&gt; longer able to sell inventories above cost or at all, we write down inventory to market or excess inventory is written off.&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;</us-gaap:InventoryPolicyTextBlock>
  <us-gaap:InventoryValuationReserves contextRef="i_2020-01-31" decimals="-3" id="c59149591" unitRef="iso4217-usd">0</us-gaap:InventoryValuationReserves>
  <us-gaap:InventoryValuationReserves contextRef="i_2018-01-31" decimals="-3" id="c59149592" unitRef="iso4217-usd">100000</us-gaap:InventoryValuationReserves>
  <us-gaap:InvestmentIncomeNet contextRef="d_2019-02-01_2020-01-31" decimals="-3" id="c59148161" unitRef="iso4217-usd">193000</us-gaap:InvestmentIncomeNet>
  <us-gaap:InvestmentIncomeNet contextRef="d_2018-02-01_2019-01-31" decimals="-3" id="c59148162" unitRef="iso4217-usd">195000</us-gaap:InvestmentIncomeNet>
  <us-gaap:InvestmentIncomeNet contextRef="d_2017-02-01_2018-01-31" decimals="-3" id="c59148163" unitRef="iso4217-usd">161000</us-gaap:InvestmentIncomeNet>
  <us-gaap:LeaseCost contextRef="d_2019-02-01_2020-01-31" decimals="-3" id="c59149717" unitRef="iso4217-usd">5768000</us-gaap:LeaseCost>
  <us-gaap:LeaseCostTableTextBlock contextRef="d_2019-02-01_2020-01-31" id="c-13">&lt;div style="display: inline; font-family: times new roman; font-size: 10pt"&gt;&lt;table cellpadding="0" cellspacing="0" style="border-collapse: collapse; font: 10pt Times New Roman, Times, Serif; min-; min-width: 700px;"&gt; &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td style="padding-bottom: 1pt"&gt;&lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"&gt;&lt;div style="display: inline; font-style: italic;"&gt;Year Ended&lt;/div&gt;&lt;/div&gt;&lt;/td&gt; &lt;td style="font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;div style="display: inline; font-weight: bold;"&gt;January 31, 2020&lt;/div&gt;&lt;/div&gt;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; white-space: nowrap; border-bottom: Black 1pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td style="width: 84%; text-align: left"&gt;Operating lease cost&lt;/td&gt; &lt;td style="width: 2%; font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 1%; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 12%; font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;4,902&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; width: 1%; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td style="text-align: left; padding-bottom: 1pt"&gt;Short-term lease cost&lt;/td&gt; &lt;td style="font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;866&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td style="text-align: left; padding-bottom: 1pt"&gt;Total operating lease cost&lt;/td&gt; &lt;td style="font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;5,768&lt;/div&gt;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; white-space: nowrap; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;/table&gt;&lt;/div&gt;&lt;div style="display: inline; font-family: times new roman; font-size: 10pt"&gt;&lt;table cellpadding="0" cellspacing="0" style="border-collapse: collapse; font: 10pt Times New Roman, Times, Serif; min-; min-width: 700px;"&gt; &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td style="font-style: italic; padding-bottom: 1pt"&gt;Year Ended&lt;/td&gt; &lt;td style="font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;div style="display: inline; font-weight: bold;"&gt;January 31, 2020&lt;/div&gt;&lt;/div&gt;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; white-space: nowrap; border-bottom: Black 1pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td style="width: 84%; text-align: left"&gt;Operating cash outflows from operating leases included in measurement of lease liabilities&lt;/td&gt; &lt;td style="width: 2%; font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 1%; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 12%; font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;4,150&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; width: 1%; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td style="text-align: left"&gt;Increase in ROU asset from non-cash activities, including lease modifications and new leases&lt;/td&gt; &lt;td style="font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;6,439&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;/table&gt;&lt;/div&gt;&lt;div style="display: inline; font-family: times new roman; font-size: 10pt"&gt;&lt;table cellpadding="0" cellspacing="0" style="border-collapse: collapse; font: 10pt Times New Roman, Times, Serif; min-; min-width: 700px;"&gt; &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td style="padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;div style="display: inline; font-weight: bold;"&gt;January 31, 2020&lt;/div&gt;&lt;/div&gt;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; white-space: nowrap; border-bottom: Black 1pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td style="width: 84%; text-align: left"&gt;Weighted average remaining lease term (years)&lt;/td&gt; &lt;td style="width: 2%; font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 1%; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 12%; font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;4.3&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; width: 1%; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td&gt;Weighted average discount rate (%)&lt;/td&gt; &lt;td style="font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;2.8&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;/table&gt;&lt;/div&gt;</us-gaap:LeaseCostTableTextBlock>
  <us-gaap:LesseeLeasesPolicyTextBlock contextRef="d_2019-02-01_2020-01-31" id="c59148371">&lt;div style="display: inline; font-family: times new roman; font-size: 10pt"&gt;&lt;div style="display: inline; font-family: times new roman; font-size: 10pt"&gt;&lt;div style="display: inline; font-family: times new roman; font-size: 10pt"&gt;&lt;div style="display: inline; font-family: times new roman; font-size: 10pt"&gt;&lt;div style="display: inline; font-family: times new roman; font-size: 10pt"&gt;&lt;div style="display: inline; font-family: times new roman; font-size: 10pt"&gt;&lt;div style="display: inline; font-family: times new roman; font-size: 10pt"&gt;&lt;div style="display: inline; font-family: times new roman; font-size: 10pt"&gt;&lt;div style="display: inline; font-family: times new roman; font-size: 10pt"&gt;&lt;div style="display: inline; font-family: times new roman; font-size: 10pt"&gt;&lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&lt;div style="display: inline; font-weight: bold;"&gt;&lt;div style="display: inline; font-style: italic;"&gt;Leases&lt;/div&gt;&lt;/div&gt;&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;At the inception of a contract we assess whether a contract is, or contains, a lease based on whether the contract conveys the right to control the use of an identified asset for a period of time in exchange for consideration. We have building lease agreements with lease and non-lease components, which are accounted for separately. For computer equipment and vehicle leases, we have elected to account for the lease and non-lease components as a single lease component.&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&amp;nbsp;&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;We recognize a right-of-use (&amp;#x201c;ROU&amp;#x201d;) asset and a lease liability at the lease commencement date. The ROU asset is initially measured based on the initial amount of the lease liability adjusted for any lease payments made at or before the commencement date, plus any initial direct costs incurred and less any lease incentives received. The assets are depreciated to the earlier of the end of the useful life of the ROU asset or the lease term using the straight-line method as this most closely reflects the expected pattern of consumption of the future economic benefits. The lease term includes periods covered by an option to extend if the Company is reasonably certain to exercise that option.&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&amp;nbsp;&lt;/div&gt;&lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;The lease liability is initially measured at the present value of the future lease payments at the commencement date, discounted using the interest rate implicit in the lease or, if that rate cannot be readily determined, the Company&amp;#x2019;s incremental borrowing rate. As most of our leases do &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;not&lt;/div&gt; provide an implicit rate, we use our incremental borrowing rate based on the information available at commencement date in determining the present value of lease payments.&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&amp;nbsp;&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;The lease liability is measured at amortized cost using the effective interest method. It is remeasured when there is a change in future lease payments arising from a change in an index or rate, if there is a change in the Company&amp;#x2019;s estimate of the amount expected to be payable under a residual value guarantee, or if the Company changes its assessment of whether it will exercise a purchase, extension or termination option. When the lease liability is remeasured, a corresponding adjustment is made to the carrying amount of the ROU asset, or is recorded in profit or loss if the carrying amount of the ROU asset has been reduced to zero.&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&amp;nbsp;&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;We have elected to apply the practical expedient &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;not&lt;/div&gt; to recognize ROU assets and lease liabilities for short-term leases that have a lease term of &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;12&lt;/div&gt; months or less. The lease payments associated with these leases is recognized as an expense on a straight-line basis over the lease term.&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;</us-gaap:LesseeLeasesPolicyTextBlock>
  <us-gaap:LesseeOperatingLeaseLiabilityMaturityTableTextBlock contextRef="d_2019-02-01_2020-01-31" id="c-14">&lt;div style="display: inline; font-family: times new roman; font-size: 10pt"&gt;&lt;table cellpadding="0" cellspacing="0" style="border-collapse: collapse; font: 10pt Times New Roman, Times, Serif; min-; min-width: 700px;"&gt; &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td style="text-align: left; padding-bottom: 1pt"&gt;Years Ended January 31,&lt;/td&gt; &lt;td style="font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;div style="display: inline; font-weight: bold;"&gt;Operating Leases&lt;/div&gt;&lt;/div&gt;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; white-space: nowrap; border-bottom: Black 1pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td style="width: 84%; text-align: left; padding-left: 12pt"&gt;2021&lt;/td&gt; &lt;td style="width: 2%; font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 1%; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 12%; font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;4,343&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; width: 1%; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td style="text-align: left; padding-left: 12pt"&gt;2022&lt;/td&gt; &lt;td style="font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;3,283&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td style="text-align: left; padding-left: 12pt"&gt;2023&lt;/td&gt; &lt;td style="font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;2,508&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td style="text-align: left; padding-left: 12pt"&gt;2024&lt;/td&gt; &lt;td style="font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;1,924&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td style="text-align: left; padding-left: 12pt"&gt;2025&lt;/td&gt; &lt;td style="font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;1,252&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td style="text-align: left; padding-bottom: 1pt; padding-left: 12pt"&gt;2026 and thereafter&lt;/td&gt; &lt;td style="font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;1,049&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td style="text-align: left"&gt;Total lease payments&lt;/td&gt; &lt;td style="font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;14,359&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td style="text-align: left; padding-bottom: 1pt; padding-left: 10.5pt"&gt;Less: imputed interest&lt;/td&gt; &lt;td style="font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;(954&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; font-weight: bold; text-align: left"&gt;)&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td style="text-align: left; padding-bottom: 1pt"&gt;Total lease obligations&lt;/td&gt; &lt;td style="font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;13,405&lt;/div&gt;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; white-space: nowrap; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td style="text-align: left; padding-left: 10.5pt"&gt;Current&lt;/td&gt; &lt;td style="font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;3,928&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td style="text-align: left; padding-bottom: 1pt; padding-left: 10.5pt"&gt;Long-term&lt;/td&gt; &lt;td style="font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;9,477&lt;/div&gt;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; white-space: nowrap; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;/table&gt;&lt;/div&gt;</us-gaap:LesseeOperatingLeaseLiabilityMaturityTableTextBlock>
  <us-gaap:LesseeOperatingLeaseLiabilityPaymentsDue contextRef="i_2020-01-31" decimals="-3" id="c59149728" unitRef="iso4217-usd">14359000</us-gaap:LesseeOperatingLeaseLiabilityPaymentsDue>
  <us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueAfterYearFive contextRef="i_2020-01-31" decimals="-3" id="c59149727" unitRef="iso4217-usd">1049000</us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueAfterYearFive>
  <us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths contextRef="i_2020-01-31" decimals="-3" id="c59149722" unitRef="iso4217-usd">4343000</us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths>
  <us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueYearFive contextRef="i_2020-01-31" decimals="-3" id="c59149726" unitRef="iso4217-usd">1252000</us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueYearFive>
  <us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueYearFour contextRef="i_2020-01-31" decimals="-3" id="c59149725" unitRef="iso4217-usd">1924000</us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueYearFour>
  <us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueYearThree contextRef="i_2020-01-31" decimals="-3" id="c59149724" unitRef="iso4217-usd">2508000</us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueYearThree>
  <us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueYearTwo contextRef="i_2020-01-31" decimals="-3" id="c59149723" unitRef="iso4217-usd">3283000</us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueYearTwo>
  <us-gaap:LesseeOperatingLeaseLiabilityUndiscountedExcessAmount contextRef="i_2020-01-31" decimals="-3" id="c59149729" unitRef="iso4217-usd">954000</us-gaap:LesseeOperatingLeaseLiabilityUndiscountedExcessAmount>
  <us-gaap:LesseeOperatingLeaseRenewalTerm contextRef="i_2020-01-31_RangeAxis-MaximumMember" id="c59149711">P3Y</us-gaap:LesseeOperatingLeaseRenewalTerm>
  <us-gaap:LesseeOperatingLeasesTextBlock contextRef="d_2019-02-01_2020-01-31" id="s1506273">&lt;div style="display: inline; font-family: times new roman; font-size: 10pt"&gt;&lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"&gt;&lt;div style="display: inline; font-weight: bold;"&gt;Note &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;13&lt;/div&gt; - Leases&lt;/div&gt;&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"&gt;&lt;div style="display: inline; font-weight: bold;"&gt;&amp;nbsp;&lt;/div&gt;&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;We have operating leases for buildings, vehicles and computer equipment. Our leases have remaining terms of &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;1&lt;/div&gt; to &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;9&lt;/div&gt; years, some of which include options to extend the leases for up to &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;3&lt;/div&gt; years.&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&amp;nbsp;&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&lt;/div&gt; &lt;!-- Field: Page; Sequence: 25 --&gt;   &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;The components of operating lease expense were as follows:&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&amp;nbsp;&lt;/div&gt; &lt;div&gt; &lt;table cellpadding="0" cellspacing="0" style="border-collapse: collapse; font: 10pt Times New Roman, Times, Serif; min-width: 700px;"&gt;  &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td style="padding-bottom: 1pt"&gt;&lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"&gt;&lt;div style="display: inline; font-style: italic;"&gt;Year Ended&lt;/div&gt;&lt;/div&gt;&lt;/td&gt; &lt;td style="font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;div style="display: inline; font-weight: bold;"&gt;January 31, 2020&lt;/div&gt;&lt;/div&gt;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; white-space: nowrap; border-bottom: Black 1pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td style="width: 84%; text-align: left"&gt;Operating lease cost&lt;/td&gt; &lt;td style="width: 2%; font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 1%; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 12%; font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;4,902&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; width: 1%; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td style="text-align: left; padding-bottom: 1pt"&gt;Short-term lease cost&lt;/td&gt; &lt;td style="font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;866&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td style="text-align: left; padding-bottom: 1pt"&gt;Total operating lease cost&lt;/td&gt; &lt;td style="font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;5,768&lt;/div&gt;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; white-space: nowrap; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt;  &lt;/table&gt; &lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&amp;nbsp;&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;Supplemental cash flow information related to operating leases was as follows:&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&amp;nbsp;&lt;/div&gt; &lt;div&gt; &lt;table cellpadding="0" cellspacing="0" style="border-collapse: collapse; font: 10pt Times New Roman, Times, Serif; min-width: 700px;"&gt;  &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td style="font-style: italic; padding-bottom: 1pt"&gt;Year Ended&lt;/td&gt; &lt;td style="font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;div style="display: inline; font-weight: bold;"&gt;January 31, 2020&lt;/div&gt;&lt;/div&gt;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; white-space: nowrap; border-bottom: Black 1pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td style="width: 84%; text-align: left"&gt;Operating cash outflows from operating leases included in measurement of lease liabilities&lt;/td&gt; &lt;td style="width: 2%; font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 1%; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 12%; font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;4,150&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; width: 1%; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td style="text-align: left"&gt;Increase in ROU asset from non-cash activities, including lease modifications and new leases&lt;/td&gt; &lt;td style="font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;6,439&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt;  &lt;/table&gt; &lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&amp;nbsp;&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;Supplemental information related to operating leases was as follows:&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&amp;nbsp;&lt;/div&gt; &lt;div&gt; &lt;table cellpadding="0" cellspacing="0" style="border-collapse: collapse; font: 10pt Times New Roman, Times, Serif; min-width: 700px;"&gt;  &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td style="padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;div style="display: inline; font-weight: bold;"&gt;January 31, 2020&lt;/div&gt;&lt;/div&gt;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; white-space: nowrap; border-bottom: Black 1pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td style="width: 84%; text-align: left"&gt;Weighted average remaining lease term (years)&lt;/td&gt; &lt;td style="width: 2%; font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 1%; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 12%; font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;4.3&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; width: 1%; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td&gt;Weighted average discount rate (%)&lt;/td&gt; &lt;td style="font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;2.8&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt;  &lt;/table&gt; &lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&amp;nbsp;&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;Maturities of operating lease liabilities were as follows as of &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt; January 31, 2020:&lt;/div&gt;&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&amp;nbsp;&lt;/div&gt; &lt;div&gt; &lt;table cellpadding="0" cellspacing="0" style="border-collapse: collapse; font: 10pt Times New Roman, Times, Serif; min-width: 700px;"&gt;  &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td style="text-align: left; padding-bottom: 1pt"&gt;Years Ended January 31,&lt;/td&gt; &lt;td style="font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;div style="display: inline; font-weight: bold;"&gt;Operating Leases&lt;/div&gt;&lt;/div&gt;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; white-space: nowrap; border-bottom: Black 1pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td style="width: 84%; text-align: left; padding-left: 12pt"&gt;2021&lt;/td&gt; &lt;td style="width: 2%; font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 1%; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 12%; font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;4,343&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; width: 1%; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td style="text-align: left; padding-left: 12pt"&gt;2022&lt;/td&gt; &lt;td style="font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;3,283&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td style="text-align: left; padding-left: 12pt"&gt;2023&lt;/td&gt; &lt;td style="font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;2,508&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td style="text-align: left; padding-left: 12pt"&gt;2024&lt;/td&gt; &lt;td style="font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;1,924&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td style="text-align: left; padding-left: 12pt"&gt;2025&lt;/td&gt; &lt;td style="font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;1,252&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td style="text-align: left; padding-bottom: 1pt; padding-left: 12pt"&gt;2026 and thereafter&lt;/td&gt; &lt;td style="font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;1,049&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td style="text-align: left"&gt;Total lease payments&lt;/td&gt; &lt;td style="font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;14,359&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td style="text-align: left; padding-bottom: 1pt; padding-left: 10.5pt"&gt;Less: imputed interest&lt;/td&gt; &lt;td style="font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;(954&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; font-weight: bold; text-align: left"&gt;)&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td style="text-align: left; padding-bottom: 1pt"&gt;Total lease obligations&lt;/td&gt; &lt;td style="font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;13,405&lt;/div&gt;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; white-space: nowrap; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td style="text-align: left; padding-left: 10.5pt"&gt;Current&lt;/td&gt; &lt;td style="font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;3,928&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td style="text-align: left; padding-bottom: 1pt; padding-left: 10.5pt"&gt;Long-term&lt;/td&gt; &lt;td style="font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;9,477&lt;/div&gt;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; white-space: nowrap; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt;  &lt;/table&gt; &lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&amp;nbsp;&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&lt;/div&gt; &lt;!-- Field: Page; Sequence: 26 --&gt;   &lt;!-- Field: /Page --&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&amp;nbsp;&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&lt;div style="display: inline; text-decoration: underline;"&gt;Disclosures Related to Periods Prior to Adoption of New Lease Standard&lt;/div&gt;&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;As of &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt; January 31, 2019, &lt;/div&gt;future minimum lease payment obligations under non-cancelable operating and capital lease obligations were as follows:&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&amp;nbsp;&lt;/div&gt; &lt;div&gt; &lt;table cellpadding="0" cellspacing="0" style="border-collapse: collapse; font: 10pt Times New Roman, Times, Serif; min-width: 700px;"&gt;  &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td style="text-align: left; padding-bottom: 1pt"&gt;Years Ended January 31,&lt;/td&gt; &lt;td style="font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;div style="display: inline; font-weight: bold;"&gt;Operating Leases&lt;/div&gt;&lt;/div&gt;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; white-space: nowrap; border-bottom: Black 1pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; font-weight: bold; border-bottom: Black 1pt solid"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;div style="display: inline; font-weight: bold;"&gt;Capital Leases&lt;/div&gt;&lt;/div&gt;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; white-space: nowrap; border-bottom: Black 1pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; font-weight: bold; border-bottom: Black 1pt solid"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;div style="display: inline; font-weight: bold;"&gt;Total&lt;/div&gt;&lt;/div&gt;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; white-space: nowrap; border-bottom: Black 1pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td style="width: 58%; text-align: left; padding-left: 12pt"&gt;2020&lt;/td&gt; &lt;td style="width: 2%"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 1%; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 10%; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;4,627&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; width: 1%; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 2%"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 1%; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 10%; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;51&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; width: 1%; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 2%"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 1%; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 10%; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;4,678&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; width: 1%; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td style="text-align: left; padding-left: 12pt"&gt;2021&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;3,046&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;2&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;3,048&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td style="text-align: left; padding-left: 12pt"&gt;2022&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;1,979&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;&amp;#x2013;&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;1,979&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td style="text-align: left; padding-left: 12pt"&gt;2023&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;1,470&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;&amp;#x2013;&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;1,470&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td style="text-align: left; padding-left: 12pt"&gt;2024&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;1,038&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;&amp;#x2013;&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;1,038&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td style="text-align: left; padding-left: 12pt"&gt;2025&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;737&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;&amp;#x2013;&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;737&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td style="text-align: left; padding-left: 12pt"&gt;2026&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;733&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;&amp;#x2013;&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;733&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td style="text-align: left; padding-bottom: 1pt; padding-left: 12pt"&gt;2027&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;271&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;&amp;#x2013;&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;271&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td style="text-align: left; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;13,901&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;53&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;13,954&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt;  &lt;/table&gt; &lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&amp;nbsp;&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"&gt;For the years ended &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt; January 31, 2019 &lt;/div&gt;and &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;2018,&lt;/div&gt; rental expense from operating leases was &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;$5.2&lt;/div&gt; million and &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;$5.1&lt;/div&gt; million, respectively.&lt;/div&gt;&lt;/div&gt;</us-gaap:LesseeOperatingLeasesTextBlock>
  <us-gaap:LettersOfCreditOutstandingAmount contextRef="i_2020-01-31" decimals="-5" id="c59149701" unitRef="iso4217-usd">200000</us-gaap:LettersOfCreditOutstandingAmount>
  <us-gaap:LettersOfCreditOutstandingAmount contextRef="i_2019-01-31" decimals="-5" id="c59149702" unitRef="iso4217-usd">200000</us-gaap:LettersOfCreditOutstandingAmount>
  <us-gaap:Liabilities contextRef="i_2020-01-31" decimals="-3" id="c59148105" unitRef="iso4217-usd">120877000</us-gaap:Liabilities>
  <us-gaap:Liabilities contextRef="i_2019-01-31" decimals="-3" id="c59148106" unitRef="iso4217-usd">119827000</us-gaap:Liabilities>
  <us-gaap:LiabilitiesAndStockholdersEquity contextRef="i_2020-01-31" decimals="-3" id="c59148125" unitRef="iso4217-usd">942586000</us-gaap:LiabilitiesAndStockholdersEquity>
  <us-gaap:LiabilitiesAndStockholdersEquity contextRef="i_2019-01-31" decimals="-3" id="c59148126" unitRef="iso4217-usd">653334000</us-gaap:LiabilitiesAndStockholdersEquity>
  <us-gaap:LiabilitiesCurrent contextRef="i_2020-01-31" decimals="-3" id="c59148093" unitRef="iso4217-usd">88943000</us-gaap:LiabilitiesCurrent>
  <us-gaap:LiabilitiesCurrent contextRef="i_2019-01-31" decimals="-3" id="c59148094" unitRef="iso4217-usd">70367000</us-gaap:LiabilitiesCurrent>
  <us-gaap:LiabilityForUncertainTaxPositionsNoncurrent contextRef="i_2020-01-31" decimals="-5" id="c59150149" unitRef="iso4217-usd">6700000</us-gaap:LiabilityForUncertainTaxPositionsNoncurrent>
  <us-gaap:LineOfCredit contextRef="i_2020-01-31_CreditFacilityAxis-RevolvingOperatingCreditFacilityMember_DebtInstrumentAxis-SeniorSecuredCreditFacilityMember" id="c59149704" unitRef="iso4217-usd" xs:nil="true"/>
  <us-gaap:LineOfCredit contextRef="i_2019-01-31_CreditFacilityAxis-RevolvingOperatingCreditFacilityMember_DebtInstrumentAxis-SeniorSecuredCreditFacilityMember" decimals="-3" id="c59149705" unitRef="iso4217-usd">25464000</us-gaap:LineOfCredit>
  <us-gaap:LineOfCreditFacilityMaximumBorrowingCapacity contextRef="i_2019-01-24_CreditFacilityAxis-RevolvingOperatingCreditFacilityMember_DebtInstrumentAxis-SeniorSecuredCreditFacilityMember" decimals="-5" id="c59149690" unitRef="iso4217-usd">150000000</us-gaap:LineOfCreditFacilityMaximumBorrowingCapacity>
  <us-gaap:LineOfCreditFacilityMaximumBorrowingCapacity contextRef="i_2019-01-25_CreditFacilityAxis-RevolvingOperatingCreditFacilityMember_DebtInstrumentAxis-SeniorSecuredCreditFacilityMember_RangeAxis-MinimumMember" decimals="-5" id="c59149691" unitRef="iso4217-usd">350000000</us-gaap:LineOfCreditFacilityMaximumBorrowingCapacity>
  <us-gaap:LineOfCreditFacilityMaximumBorrowingCapacity contextRef="i_2019-01-25_CreditFacilityAxis-RevolvingOperatingCreditFacilityMember_DebtInstrumentAxis-SeniorSecuredCreditFacilityMember_RangeAxis-MaximumMember" decimals="-5" id="c59149692" unitRef="iso4217-usd">500000000</us-gaap:LineOfCreditFacilityMaximumBorrowingCapacity>
  <us-gaap:LineOfCreditFacilityRemainingBorrowingCapacity contextRef="i_2020-01-31_CreditFacilityAxis-RevolvingOperatingCreditFacilityMember_DebtInstrumentAxis-SeniorSecuredCreditFacilityMember" decimals="-3" id="c59149706" unitRef="iso4217-usd">350000000</us-gaap:LineOfCreditFacilityRemainingBorrowingCapacity>
  <us-gaap:LineOfCreditFacilityRemainingBorrowingCapacity contextRef="i_2019-01-31_CreditFacilityAxis-RevolvingOperatingCreditFacilityMember_DebtInstrumentAxis-SeniorSecuredCreditFacilityMember" decimals="-3" id="c59149707" unitRef="iso4217-usd">324536000</us-gaap:LineOfCreditFacilityRemainingBorrowingCapacity>
  <us-gaap:LineOfCreditFacilityUnusedCapacityCommitmentFeePercentage contextRef="d_2019-01-25_2019-01-25_CreditFacilityAxis-SeniorSecuredCreditFacilityMember_RangeAxis-MinimumMember" decimals="3" id="c59149699" unitRef="xbrli-pure">0.002</us-gaap:LineOfCreditFacilityUnusedCapacityCommitmentFeePercentage>
  <us-gaap:LineOfCreditFacilityUnusedCapacityCommitmentFeePercentage contextRef="d_2019-01-25_2019-01-25_CreditFacilityAxis-SeniorSecuredCreditFacilityMember_RangeAxis-MaximumMember" decimals="3" id="c59149700" unitRef="xbrli-pure">0.004</us-gaap:LineOfCreditFacilityUnusedCapacityCommitmentFeePercentage>
  <us-gaap:LoansNotesTradeAndOtherReceivablesDisclosureTextBlock contextRef="d_2019-02-01_2020-01-31" id="s1506258">&lt;div style="display: inline; font-family: times new roman; font-size: 10pt"&gt;&lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"&gt;&lt;div style="display: inline; font-weight: bold;"&gt;Note &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;5&lt;/div&gt; &amp;#x2013; Trade Receivables&lt;/div&gt;&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"&gt;&amp;nbsp;&lt;/div&gt; &lt;div&gt; &lt;table cellpadding="0" cellspacing="0" style="border-collapse: collapse; font: 10pt Times New Roman, Times, Serif; min-width: 700px;"&gt;  &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;div style="display: inline; font-weight: bold;"&gt;January 31,&lt;/div&gt;&lt;/div&gt;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; white-space: nowrap; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; text-align: right"&gt;&lt;div style="display: inline; font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;January 31,&lt;/div&gt;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td style="padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: right"&gt;2020&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;2019&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td style="width: 68%; text-align: left"&gt;Trade receivables&lt;/td&gt; &lt;td style="width: 2%; font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 1%; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 12%; font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;37,121&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; width: 1%; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 2%"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 1%; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 12%; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;33,350&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; width: 1%; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td style="text-align: left; padding-bottom: 1pt"&gt;Less: Allowance for doubtful accounts&lt;/td&gt; &lt;td style="font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;(2,003&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; font-weight: bold; text-align: left"&gt;)&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;(1,857&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left"&gt;)&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td style="padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;35,118&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;31,493&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt;  &lt;/table&gt; &lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&amp;nbsp;&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;Included in accounts receivable are unbilled receivables in the amount of &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;$1.4&lt;/div&gt; million as at &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt; January 31, 2020 (&lt;/div&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;$1.0&lt;/div&gt; million as at &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt; January 31, 2019). &lt;/div&gt;For the years ended &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt; January 31, 2020, &lt;/div&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;2019&lt;/div&gt; and &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;2018,&lt;/div&gt; bad debt expense was &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;$0.6&lt;/div&gt; million, &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;$1.2&lt;/div&gt; million and &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;$0.8&lt;/div&gt; million, respectively.&lt;/div&gt;&lt;/div&gt;</us-gaap:LoansNotesTradeAndOtherReceivablesDisclosureTextBlock>
  <us-gaap:LongTermDebtNoncurrent contextRef="i_2020-01-31" id="c59148095" unitRef="iso4217-usd" xs:nil="true"/>
  <us-gaap:LongTermDebtNoncurrent contextRef="i_2019-01-31" decimals="-3" id="c59148096" unitRef="iso4217-usd">25464000</us-gaap:LongTermDebtNoncurrent>
  <us-gaap:NetCashProvidedByUsedInFinancingActivities contextRef="d_2019-02-01_2020-01-31" decimals="-3" id="c59148324" unitRef="iso4217-usd">210169000</us-gaap:NetCashProvidedByUsedInFinancingActivities>
  <us-gaap:NetCashProvidedByUsedInFinancingActivities contextRef="d_2018-02-01_2019-01-31" decimals="-3" id="c59148325" unitRef="iso4217-usd">-11377000</us-gaap:NetCashProvidedByUsedInFinancingActivities>
  <us-gaap:NetCashProvidedByUsedInFinancingActivities contextRef="d_2017-02-01_2018-01-31" decimals="-3" id="c59148326" unitRef="iso4217-usd">38003000</us-gaap:NetCashProvidedByUsedInFinancingActivities>
  <us-gaap:NetCashProvidedByUsedInInvestingActivities contextRef="d_2019-02-01_2020-01-31" decimals="-3" id="c59148305" unitRef="iso4217-usd">-296953000</us-gaap:NetCashProvidedByUsedInInvestingActivities>
  <us-gaap:NetCashProvidedByUsedInInvestingActivities contextRef="d_2018-02-01_2019-01-31" decimals="-3" id="c59148306" unitRef="iso4217-usd">-73176000</us-gaap:NetCashProvidedByUsedInInvestingActivities>
  <us-gaap:NetCashProvidedByUsedInInvestingActivities contextRef="d_2017-02-01_2018-01-31" decimals="-3" id="c59148307" unitRef="iso4217-usd">-116953000</us-gaap:NetCashProvidedByUsedInInvestingActivities>
  <us-gaap:NetCashProvidedByUsedInOperatingActivities contextRef="d_2019-02-01_2020-01-31" decimals="-3" id="c59148295" unitRef="iso4217-usd">104252000</us-gaap:NetCashProvidedByUsedInOperatingActivities>
  <us-gaap:NetCashProvidedByUsedInOperatingActivities contextRef="d_2018-02-01_2019-01-31" decimals="-3" id="c59148296" unitRef="iso4217-usd">78074000</us-gaap:NetCashProvidedByUsedInOperatingActivities>
  <us-gaap:NetCashProvidedByUsedInOperatingActivities contextRef="d_2017-02-01_2018-01-31" decimals="-3" id="c59148297" unitRef="iso4217-usd">72143000</us-gaap:NetCashProvidedByUsedInOperatingActivities>
  <us-gaap:NetIncomeLoss contextRef="d_2019-02-01_2020-01-31" decimals="-3" id="c59148270" unitRef="iso4217-usd">36997000</us-gaap:NetIncomeLoss>
  <us-gaap:NetIncomeLoss contextRef="d_2018-02-01_2019-01-31" decimals="-3" id="c59148271" unitRef="iso4217-usd">31277000</us-gaap:NetIncomeLoss>
  <us-gaap:NetIncomeLoss contextRef="d_2017-02-01_2018-01-31" decimals="-3" id="c59148272" unitRef="iso4217-usd">26879000</us-gaap:NetIncomeLoss>
  <us-gaap:NetIncomeLoss contextRef="d_2019-02-01_2020-01-31_StatementEquityComponentsAxis-RetainedEarningsMember" decimals="-3" id="c59148257" unitRef="iso4217-usd">36997000</us-gaap:NetIncomeLoss>
  <us-gaap:NetIncomeLoss contextRef="d_2018-02-01_2019-01-31_StatementEquityComponentsAxis-RetainedEarningsMember" decimals="-3" id="c59148258" unitRef="iso4217-usd">31277000</us-gaap:NetIncomeLoss>
  <us-gaap:NetIncomeLoss contextRef="d_2017-02-01_2018-01-31_StatementEquityComponentsAxis-RetainedEarningsMember" decimals="-3" id="c59148259" unitRef="iso4217-usd">26879000</us-gaap:NetIncomeLoss>
  <us-gaap:NewAccountingPronouncementsPolicyPolicyTextBlock contextRef="d_2019-02-01_2020-01-31" id="c59148385">&lt;div style="display: inline; font-family: times new roman; font-size: 10pt"&gt;&lt;div style="display: inline; font-family: times new roman; font-size: 10pt"&gt;&lt;div style="display: inline; font-family: times new roman; font-size: 10pt"&gt;&lt;div style="display: inline; font-family: times new roman; font-size: 10pt"&gt;&lt;div style="display: inline; font-family: times new roman; font-size: 10pt"&gt;&lt;div style="display: inline; font-family: times new roman; font-size: 10pt"&gt;&lt;div style="display: inline; font-family: times new roman; font-size: 10pt"&gt;&lt;div style="display: inline; font-family: times new roman; font-size: 10pt"&gt;&lt;div style="display: inline; font-family: times new roman; font-size: 10pt"&gt;&lt;div style="display: inline; font-family: times new roman; font-size: 10pt"&gt;&lt;div style=" font: italic bold 10pt Times New Roman, Times, Serif; margin: 0pt 0"&gt;Recently adopted accounting pronouncements&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;In &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt; May 2014, &lt;/div&gt;the FASB issued Accounting Standards Update &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;2014&lt;/div&gt;-&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;09,&lt;/div&gt; &amp;#x201c;Revenue from Contracts with Customers&amp;#x201d; (&amp;#x201c;ASC &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;606&amp;#x201d;&lt;/div&gt;). ASC &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;606&lt;/div&gt; supersedes the revenue recognition requirements in ASC Topic &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;605,&lt;/div&gt; &amp;#x201c;Revenue Recognition&amp;#x201d; ("ASC &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;605"&lt;/div&gt;) and nearly all other existing revenue recognition guidance under US GAAP. The core principle of ASC &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;606&lt;/div&gt; is to recognize revenues when promised goods or services are transferred to customers in an amount that reflects the consideration that is expected to be received for those goods or services. ASC &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;606&lt;/div&gt; is effective for annual periods, and interim periods within those annual periods, beginning after &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt; December 15, 2017, &lt;/div&gt;which is our fiscal year that began on &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt; February 1, 2018 (&lt;/div&gt;fiscal &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;2019&lt;/div&gt;). The Company has adopted ASC &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;606&lt;/div&gt; in the &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;first&lt;/div&gt; quarter of fiscal &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;2019&lt;/div&gt; using the cumulative effect method and therefore the comparative information has &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;not&lt;/div&gt; been restated and continues to be reported under ASC &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;605.&lt;/div&gt; The details of the significant changes and quantitative impact of the changes are set out below.&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&amp;nbsp;&lt;/div&gt;&lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify; text-indent: 0.5in"&gt;&lt;div style="display: inline; text-decoration: underline;"&gt;Term-based licenses&lt;/div&gt;&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0 0pt 0.5in; text-align: justify"&gt;Under ASC &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;605,&lt;/div&gt; revenue attributable to term-based arrangements was recognized ratably over the term of the arrangement because Vendor Specific Objective Evidence did &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;not&lt;/div&gt; exist for the undelivered maintenance and support element of the arrangement. Under ASC &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;606,&lt;/div&gt; the Company has deemed the licenses to be distinct from other performance obligations. Revenue allocated to the distinct license based on the SSP is recognized at the time that both the right-to-use the software has commenced for the term and the software has been made available to the customer.&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&amp;nbsp;&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify; text-indent: 0.5in"&gt;&lt;div style="display: inline; text-decoration: underline;"&gt;Costs to obtain a contract&lt;/div&gt;&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0 0pt 0.5in; text-align: justify"&gt;Under the Company&amp;#x2019;s previous accounting policies, the Company generally expensed commission costs paid to employees or &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;third&lt;/div&gt; parties to obtain customer contracts as incurred. Under ASC &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;606,&lt;/div&gt; the Company allocates these incremental commission costs to the various performance obligations to which they relate using the relative selling price allocation for bundled commissions. For performance obligations &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;not&lt;/div&gt; delivered upfront, the allocated commissions are deferred and amortized over the pattern of transfer of the related performance obligation. If the expected amortization period for all performance obligations in a contract with a customer is &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;one&lt;/div&gt; year or less, the commission fee is expensed when incurred. Capitalized costs to obtain a contract are included in other long-term assets on the consolidated balance sheet.&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&amp;nbsp;&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;The adoption of ASC &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;606&lt;/div&gt; resulted in an increase to contract assets of &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;$0.5&lt;/div&gt; million, an increase to other long-term assets of &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;$4.2&lt;/div&gt; million, an increase to the liability for deferred income taxes of &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;$1.1&lt;/div&gt; million and a decrease to accumulated deficit of &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;$3.6&lt;/div&gt; million, as of &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt; February 1, 2018.&lt;/div&gt;&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&amp;nbsp;&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;In &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt; October 2016, &lt;/div&gt;the FASB issued Accounting Standards Update &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;2016&lt;/div&gt;-&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;16,&lt;/div&gt; &amp;#x201c;Income Taxes (Topic &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;740&lt;/div&gt;): Intra-Entity Transfers of Assets Other Than Inventory&amp;#x201d; (&amp;#x201c;ASU &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;2016&lt;/div&gt;-&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;16&amp;#x201d;&lt;/div&gt;). ASU &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;2016&lt;/div&gt;-&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;16&lt;/div&gt; requires the recognition of the income tax consequences of an intra-entity transfer of an asset other than inventory when the transfer occurs. ASU &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;2016&lt;/div&gt;-&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;16&lt;/div&gt; is effective for annual periods, and interim periods within those annual periods, beginning after &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt; December 15, 2017, &lt;/div&gt;which is our fiscal year that began on &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt; February 1, 2018 (&lt;/div&gt;fiscal &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;2019&lt;/div&gt;). The Company adopted this guidance in the &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;first&lt;/div&gt; quarter of fiscal &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;2019.&lt;/div&gt; As a result of adoption, the balance of unamortized deferred tax charges was written-off and previously unrecognized deferred income tax assets in certain jurisdictions were recognized. The change was applied on a modified retrospective basis, and &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;no&lt;/div&gt; prior periods were restated. Accordingly, we have recognized a decrease of &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;$4.0&lt;/div&gt; million in accumulated deficit as a result of the adoption of this change in accounting policy, as of &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt; February 1, 2018.&lt;/div&gt;&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&amp;nbsp;&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;In &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt; February 2016, &lt;/div&gt;the FASB issued Accounting Standards Update &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;2016&lt;/div&gt;-&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;02,&lt;/div&gt; &amp;#x201c;Leases (Topic &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;842&lt;/div&gt;)&amp;#x201d; (&amp;#x201c;ASU &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;2016&lt;/div&gt;-&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;02&amp;#x201d;&lt;/div&gt;) and issued subsequent amendments to the initial guidance during &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;2018,&lt;/div&gt; collectively referred to as &amp;#x201c;ASC &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;842&amp;#x201d;.&lt;/div&gt; These updates supersede the lease guidance in ASC Topic &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;840,&lt;/div&gt; &amp;#x201c;Leases&amp;#x201d; (&amp;#x201c;ASC &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;840&amp;#x201d;&lt;/div&gt;) and require the recognition of lease assets and lease liabilities by lessees for most leases previously classified as operating leases under ASC Topic &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;840.&lt;/div&gt; Leases will continue to be classified as either operating or finance. ASC &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;842&lt;/div&gt; is effective for annual periods, and interim periods within those annual periods, beginning after &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt; December 15, 2018, &lt;/div&gt;which is our fiscal year that began on &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt; February 1, 2019 (&lt;/div&gt;fiscal &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;2020&lt;/div&gt;). The Company adopted ASC &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;842&lt;/div&gt; as of &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt; February 1, 2019 &lt;/div&gt;using the cumulative effect method and therefore the comparative information has &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;not&lt;/div&gt; been restated and continues to be reported under ASC Topic &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;840.&lt;/div&gt;&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&amp;nbsp;&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;The adoption of ASC &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;842&lt;/div&gt; resulted in an increase to ROU assets and lease liabilities of &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;$&lt;/div&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;10.4&lt;/div&gt; &lt;/div&gt;million as of &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt; February 1, 2019. &lt;/div&gt;The adoption of ASC &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;842&lt;/div&gt; did &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;not&lt;/div&gt; have a material impact on either our consolidated statement of operations or our consolidated statement of cash flows.&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&amp;nbsp;&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;On adoption of ASC &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;842,&lt;/div&gt; we have elected to apply the practical expedient to carry forward our current assessments of whether a contract contains a lease, lease classification, and amounts capitalized as initial direct costs. In addition, we have elected the hindsight practical expedient to determine lease term for existing leases.&lt;/div&gt; &lt;div style=" font: italic 10pt Times New Roman, Times, Serif; margin: 0pt 0"&gt;&lt;div style="display: inline; font-style: normal; font-weight: normal"&gt;&amp;nbsp;&lt;/div&gt;&lt;/div&gt;&lt;div style=" font: italic 10pt Times New Roman, Times, Serif; margin: 0pt 0"&gt;&lt;div style="display: inline; font-style: normal; font-weight: normal"&gt;&lt;/div&gt;&lt;/div&gt; &lt;div style=" font: italic bold 10pt Times New Roman, Times, Serif; margin: 0pt 0"&gt;Recently issued accounting pronouncements&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;In &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt; June 2016, &lt;/div&gt;the FASB issued Accounting Standards Update &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;2016&lt;/div&gt;-&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;13,&lt;/div&gt; &amp;#x201c;Financial Instruments &amp;#x2013; Credit Losses (Topic &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;326&lt;/div&gt;): Measurement of Credit Losses on Financial Instruments&amp;#x201d; (&amp;#x201c;ASU &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;2016&lt;/div&gt;-&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;13&amp;#x201d;&lt;/div&gt;) and issued subsequent amendments to the initial guidance during the &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;2019&lt;/div&gt; calendar year, collectively referred to as &amp;#x201c;ASC &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;326&amp;#x201d;.&lt;/div&gt; ASC &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;326&lt;/div&gt; requires the measurement and recognition of expected credit losses for financial assets held at amortized cost. ASC &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;326&lt;/div&gt; replaces the existing incurred loss impairment model with an expected loss model which requires the use of forward-looking information to calculate credit loss estimates. These changes will result in earlier recognition of credit losses. ASC &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;326&lt;/div&gt; is effective for annual periods, and interim periods within those annual periods, beginning after &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt; December 15, 2019, &lt;/div&gt;which will be our fiscal year beginning &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt; February 1, 2020 (&lt;/div&gt;fiscal &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;2021&lt;/div&gt;). Early adoption is permitted. The Company will adopt this guidance using the cumulative effect method resulting in an adjustment to retained earnings in the &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;first&lt;/div&gt; quarter of fiscal &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;2021&lt;/div&gt; and will &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;not&lt;/div&gt; restate comparative periods. We are currently implementing new credit loss models and updating our processes and controls in preparation for the adoption of ASC &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;326.&lt;/div&gt; The effect on our consolidated financial statements is expected to largely depend on the composition and credit quality of our financial assets held at amortized cost and the economic conditions and forecasts at the time of adoption. The adoption of this amendment is &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;not&lt;/div&gt; expected to have a material impact on our results of operations or disclosures.&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&amp;nbsp;&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;In &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt; January 2017, &lt;/div&gt;the FASB issued Accounting Standards Update &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;2017&lt;/div&gt;-&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;04,&lt;/div&gt; &amp;#x201c;Intangibles &amp;#x2013; Goodwill and Other (Topic &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;350&lt;/div&gt;): Simplifying the Test for Goodwill Impairment&amp;#x201d; (&amp;#x201c;ASU &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;2017&lt;/div&gt;-&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;04&amp;#x201d;&lt;/div&gt;). ASU &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;2017&lt;/div&gt;-&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;04&lt;/div&gt; simplifies how an entity is required to test goodwill for impairment. ASU &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;2017&lt;/div&gt;-&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;04&lt;/div&gt; is effective for annual periods, and interim periods within those annual periods, beginning after &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt; December 15, 2019, &lt;/div&gt;which will be our fiscal year beginning &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt; February 1, 2020 (&lt;/div&gt;fiscal &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;2021&lt;/div&gt;). Early adoption is permitted. The Company will adopt this guidance in the &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;first&lt;/div&gt; quarter of fiscal &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;2021.&lt;/div&gt; The adoption of this amendment is &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;not&lt;/div&gt; expected to have a material impact on our results of operations or disclosures.&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&amp;nbsp;&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;In &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt; August 2018, &lt;/div&gt;the FASB issued Accounting Standards Update &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;2018&lt;/div&gt;-&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;15,&lt;/div&gt; &amp;#x201c;Intangibles &amp;#x2013; Goodwill and Other &amp;#x2013; Internal-Use Software (Subtopic &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;350&lt;/div&gt;-&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;40&lt;/div&gt;): Customer&amp;#x2019;s Accounting for Implementation Costs Incurred in a Cloud Computing Arrangement That Is a Service Contract&amp;#x201d; (&amp;#x201c;ASU &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;2018&lt;/div&gt;-&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;15&amp;#x201d;&lt;/div&gt;). ASU &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;2018&lt;/div&gt;-&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;15&lt;/div&gt; aligns the requirements for capitalizing implementation costs incurred in a hosting arrangement that is a service contract with the requirements for capitalizing implementation costs incurred to develop or obtain internal-use software. ASU &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;2018&lt;/div&gt;-&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;15&lt;/div&gt; is effective for annual periods, and interim periods within those annual periods, beginning after &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt; December 15, 2019, &lt;/div&gt;which will be our fiscal year beginning &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt; February 1, 2020 (&lt;/div&gt;fiscal &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;2021&lt;/div&gt;). Early adoption is permitted. The Company will adopt this guidance in the &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;first&lt;/div&gt; quarter of fiscal &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;2021.&lt;/div&gt; The adoption of this amendment is &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;not&lt;/div&gt; expected to have a material impact on our results of operations or disclosures.&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&amp;nbsp;&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;In &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt; December 2019, &lt;/div&gt;the FASB issued Accounting Standards Update &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;2019&lt;/div&gt;-&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;12,&lt;/div&gt; &amp;#x201c;Income Taxes (Topic &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;740&lt;/div&gt;): Simplifying the Accounting for Income Taxes&amp;#x201d; (&amp;#x201c;ASU &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;2019&lt;/div&gt;-&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;12&amp;#x201d;&lt;/div&gt;). ASU &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;2019&lt;/div&gt;-&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;12&lt;/div&gt; simplifies how an entity accounts for income taxes. ASU &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;2019&lt;/div&gt;-&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;12&lt;/div&gt; is effective for annual periods, and interim periods within those annual periods, beginning after &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt; December 15, 2020, &lt;/div&gt;which will be our fiscal year beginning &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt; February 1, 2021 (&lt;/div&gt;fiscal &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;2022&lt;/div&gt;). Early adoption is permitted. The Company will adopt this guidance in the &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;first&lt;/div&gt; quarter of fiscal &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;2022.&lt;/div&gt; We are currently evaluating the impact that the adoption will have on our results of operations, financial position and disclosures.&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;</us-gaap:NewAccountingPronouncementsPolicyPolicyTextBlock>
  <us-gaap:NoncurrentAssets contextRef="i_2020-01-31_StatementGeographicalAxis-US" decimals="-3" id="c59150422" unitRef="iso4217-usd">114980000</us-gaap:NoncurrentAssets>
  <us-gaap:NoncurrentAssets contextRef="i_2019-01-31_StatementGeographicalAxis-US" decimals="-3" id="c59150425" unitRef="iso4217-usd">119958000</us-gaap:NoncurrentAssets>
  <us-gaap:NoncurrentAssets contextRef="i_2020-01-31_StatementGeographicalAxis-EMEAMember" decimals="-3" id="c59150423" unitRef="iso4217-usd">31299000</us-gaap:NoncurrentAssets>
  <us-gaap:NoncurrentAssets contextRef="i_2019-01-31_StatementGeographicalAxis-EMEAMember" decimals="-3" id="c59150424" unitRef="iso4217-usd">28433000</us-gaap:NoncurrentAssets>
  <us-gaap:NoncurrentAssets contextRef="i_2020-01-31_StatementGeographicalAxis-CA" decimals="-3" id="c59150426" unitRef="iso4217-usd">111264000</us-gaap:NoncurrentAssets>
  <us-gaap:NoncurrentAssets contextRef="i_2019-01-31_StatementGeographicalAxis-CA" decimals="-3" id="c59150427" unitRef="iso4217-usd">40413000</us-gaap:NoncurrentAssets>
  <us-gaap:NoncurrentAssets contextRef="i_2020-01-31_StatementGeographicalAxis-AsiaPacificMember" decimals="-3" id="c59150429" unitRef="iso4217-usd">13144000</us-gaap:NoncurrentAssets>
  <us-gaap:NoncurrentAssets contextRef="i_2019-01-31_StatementGeographicalAxis-AsiaPacificMember" id="c59150430" unitRef="iso4217-usd" xs:nil="true"/>
  <us-gaap:NoncurrentAssets contextRef="i_2020-01-31" decimals="-3" id="c59150420" unitRef="iso4217-usd">270687000</us-gaap:NoncurrentAssets>
  <us-gaap:NoncurrentAssets contextRef="i_2019-01-31" decimals="-3" id="c59150421" unitRef="iso4217-usd">188804000</us-gaap:NoncurrentAssets>
  <us-gaap:NumberOfReportableSegments contextRef="d_2019-02-01_2020-01-31" decimals="INF" id="c59150390" unitRef="xbrli-pure">1</us-gaap:NumberOfReportableSegments>
  <us-gaap:OperatingExpenses contextRef="d_2019-02-01_2020-01-31" decimals="-3" id="c59148152" unitRef="iso4217-usd">187812000</us-gaap:OperatingExpenses>
  <us-gaap:OperatingExpenses contextRef="d_2018-02-01_2019-01-31" decimals="-3" id="c59148153" unitRef="iso4217-usd">158734000</us-gaap:OperatingExpenses>
  <us-gaap:OperatingExpenses contextRef="d_2017-02-01_2018-01-31" decimals="-3" id="c59148154" unitRef="iso4217-usd">137851000</us-gaap:OperatingExpenses>
  <us-gaap:OperatingIncomeLoss contextRef="d_2019-02-01_2020-01-31" decimals="-3" id="c59148155" unitRef="iso4217-usd">52258000</us-gaap:OperatingIncomeLoss>
  <us-gaap:OperatingIncomeLoss contextRef="d_2018-02-01_2019-01-31" decimals="-3" id="c59148156" unitRef="iso4217-usd">41443000</us-gaap:OperatingIncomeLoss>
  <us-gaap:OperatingIncomeLoss contextRef="d_2017-02-01_2018-01-31" decimals="-3" id="c59148157" unitRef="iso4217-usd">35884000</us-gaap:OperatingIncomeLoss>
  <us-gaap:OperatingLeaseCost contextRef="d_2019-02-01_2020-01-31" decimals="-3" id="c59149715" unitRef="iso4217-usd">4902000</us-gaap:OperatingLeaseCost>
  <us-gaap:OperatingLeaseExpense contextRef="d_2018-02-01_2019-01-31" decimals="-5" id="c59149713" unitRef="iso4217-usd">5200000</us-gaap:OperatingLeaseExpense>
  <us-gaap:OperatingLeaseExpense contextRef="d_2017-02-01_2018-01-31" decimals="-5" id="c59149714" unitRef="iso4217-usd">5100000</us-gaap:OperatingLeaseExpense>
  <us-gaap:OperatingLeaseLiability contextRef="i_2019-02-01_AdjustmentsForNewAccountingPronouncementsAxis-AccountingStandardsUpdate201602Member" decimals="-3" id="c59148520" unitRef="iso4217-usd">10400000</us-gaap:OperatingLeaseLiability>
  <us-gaap:OperatingLeaseLiability contextRef="i_2020-01-31" decimals="-3" id="c59149730" unitRef="iso4217-usd">13405000</us-gaap:OperatingLeaseLiability>
  <us-gaap:OperatingLeaseLiabilityCurrent contextRef="i_2020-01-31" decimals="-3" id="c59149731" unitRef="iso4217-usd">3928000</us-gaap:OperatingLeaseLiabilityCurrent>
  <us-gaap:OperatingLeaseLiabilityCurrent contextRef="i_2019-01-31" id="c59148088" unitRef="iso4217-usd" xs:nil="true"/>
  <us-gaap:OperatingLeaseLiabilityNoncurrent contextRef="i_2020-01-31" decimals="-3" id="c59149732" unitRef="iso4217-usd">9477000</us-gaap:OperatingLeaseLiabilityNoncurrent>
  <us-gaap:OperatingLeaseLiabilityNoncurrent contextRef="i_2019-01-31" id="c59148098" unitRef="iso4217-usd" xs:nil="true"/>
  <us-gaap:OperatingLeasePayments contextRef="d_2019-02-01_2020-01-31" decimals="-3" id="c59149718" unitRef="iso4217-usd">4150000</us-gaap:OperatingLeasePayments>
  <us-gaap:OperatingLeaseRightOfUseAsset contextRef="i_2019-02-01_AdjustmentsForNewAccountingPronouncementsAxis-AccountingStandardsUpdate201602Member" decimals="-3" id="c59148521" unitRef="iso4217-usd">10400000</us-gaap:OperatingLeaseRightOfUseAsset>
  <us-gaap:OperatingLeaseRightOfUseAsset contextRef="i_2020-01-31" decimals="-3" id="c59148071" unitRef="iso4217-usd">12877000</us-gaap:OperatingLeaseRightOfUseAsset>
  <us-gaap:OperatingLeaseRightOfUseAsset contextRef="i_2019-01-31" id="c59148072" unitRef="iso4217-usd" xs:nil="true"/>
  <us-gaap:OperatingLeaseWeightedAverageDiscountRatePercent contextRef="i_2020-01-31" decimals="3" id="c59149721" unitRef="xbrli-pure">0.028</us-gaap:OperatingLeaseWeightedAverageDiscountRatePercent>
  <us-gaap:OperatingLeaseWeightedAverageRemainingLeaseTerm1 contextRef="i_2020-01-31" id="c59149720">P4Y109D</us-gaap:OperatingLeaseWeightedAverageRemainingLeaseTerm1>
  <us-gaap:OperatingLossCarryforwards contextRef="i_2020-01-31_IncomeTaxAuthorityAxis-ForeignCountryMember_IncomeTaxAuthorityNameAxis-CanadaRevenueAgencyMember_TaxPeriodAxis-TaxYear2021Member" id="c59150263" unitRef="iso4217-usd" xs:nil="true"/>
  <us-gaap:OperatingLossCarryforwards contextRef="i_2020-01-31_IncomeTaxAuthorityAxis-DomesticCountryMember_IncomeTaxAuthorityNameAxis-CanadaRevenueAgencyMember_TaxPeriodAxis-TaxYear2021Member" id="c59150264" unitRef="iso4217-usd" xs:nil="true"/>
  <us-gaap:OperatingLossCarryforwards contextRef="i_2020-01-31_IncomeTaxAuthorityAxis-ForeignCountryMember_IncomeTaxAuthorityNameAxis-EmeaIncomeTaxAuthorityMember_TaxPeriodAxis-TaxYear2021Member" id="c59150265" unitRef="iso4217-usd" xs:nil="true"/>
  <us-gaap:OperatingLossCarryforwards contextRef="i_2020-01-31_IncomeTaxAuthorityAxis-ForeignCountryMember_IncomeTaxAuthorityNameAxis-AsiaPacificIncomeTaxAuthorityMember_TaxPeriodAxis-TaxYear2021Member" decimals="-3" id="c59150266" unitRef="iso4217-usd">585000</us-gaap:OperatingLossCarryforwards>
  <us-gaap:OperatingLossCarryforwards contextRef="i_2020-01-31_TaxPeriodAxis-TaxYear2021Member" decimals="-3" id="c59150267" unitRef="iso4217-usd">585000</us-gaap:OperatingLossCarryforwards>
  <us-gaap:OperatingLossCarryforwards contextRef="i_2020-01-31_IncomeTaxAuthorityAxis-ForeignCountryMember_IncomeTaxAuthorityNameAxis-CanadaRevenueAgencyMember_TaxPeriodAxis-TaxYear2022Member" id="c59150268" unitRef="iso4217-usd" xs:nil="true"/>
  <us-gaap:OperatingLossCarryforwards contextRef="i_2020-01-31_IncomeTaxAuthorityAxis-DomesticCountryMember_IncomeTaxAuthorityNameAxis-InternalRevenueServiceIRSMember_TaxPeriodAxis-TaxYear2022Member" decimals="-3" id="c59150269" unitRef="iso4217-usd">245000</us-gaap:OperatingLossCarryforwards>
  <us-gaap:OperatingLossCarryforwards contextRef="i_2020-01-31_IncomeTaxAuthorityAxis-ForeignCountryMember_IncomeTaxAuthorityNameAxis-EmeaIncomeTaxAuthorityMember_TaxPeriodAxis-TaxYear2022Member" id="c59150270" unitRef="iso4217-usd" xs:nil="true"/>
  <us-gaap:OperatingLossCarryforwards contextRef="i_2020-01-31_IncomeTaxAuthorityAxis-ForeignCountryMember_IncomeTaxAuthorityNameAxis-AsiaPacificIncomeTaxAuthorityMember_TaxPeriodAxis-TaxYear2022Member" decimals="-3" id="c59150271" unitRef="iso4217-usd">264000</us-gaap:OperatingLossCarryforwards>
  <us-gaap:OperatingLossCarryforwards contextRef="i_2020-01-31_TaxPeriodAxis-TaxYear2022Member" decimals="-3" id="c59150272" unitRef="iso4217-usd">509000</us-gaap:OperatingLossCarryforwards>
  <us-gaap:OperatingLossCarryforwards contextRef="i_2020-01-31_IncomeTaxAuthorityAxis-ForeignCountryMember_IncomeTaxAuthorityNameAxis-CanadaRevenueAgencyMember_TaxPeriodAxis-TaxYear2023Member" id="c59150273" unitRef="iso4217-usd" xs:nil="true"/>
  <us-gaap:OperatingLossCarryforwards contextRef="i_2020-01-31_IncomeTaxAuthorityAxis-DomesticCountryMember_IncomeTaxAuthorityNameAxis-InternalRevenueServiceIRSMember_TaxPeriodAxis-TaxYear2023Member" decimals="-3" id="c59150274" unitRef="iso4217-usd">253000</us-gaap:OperatingLossCarryforwards>
  <us-gaap:OperatingLossCarryforwards contextRef="i_2020-01-31_IncomeTaxAuthorityAxis-ForeignCountryMember_IncomeTaxAuthorityNameAxis-EmeaIncomeTaxAuthorityMember_TaxPeriodAxis-TaxYear2023Member" decimals="-3" id="c59150275" unitRef="iso4217-usd">651000</us-gaap:OperatingLossCarryforwards>
  <us-gaap:OperatingLossCarryforwards contextRef="i_2020-01-31_IncomeTaxAuthorityAxis-ForeignCountryMember_IncomeTaxAuthorityNameAxis-AsiaPacificIncomeTaxAuthorityMember_TaxPeriodAxis-TaxYear2023Member" decimals="-3" id="c59150276" unitRef="iso4217-usd">46000</us-gaap:OperatingLossCarryforwards>
  <us-gaap:OperatingLossCarryforwards contextRef="i_2020-01-31_TaxPeriodAxis-TaxYear2023Member" decimals="-3" id="c59150277" unitRef="iso4217-usd">950000</us-gaap:OperatingLossCarryforwards>
  <us-gaap:OperatingLossCarryforwards contextRef="i_2020-01-31_IncomeTaxAuthorityAxis-ForeignCountryMember_IncomeTaxAuthorityNameAxis-CanadaRevenueAgencyMember_TaxPeriodAxis-TaxYear2024Member" id="c59150278" unitRef="iso4217-usd" xs:nil="true"/>
  <us-gaap:OperatingLossCarryforwards contextRef="i_2020-01-31_IncomeTaxAuthorityAxis-DomesticCountryMember_IncomeTaxAuthorityNameAxis-InternalRevenueServiceIRSMember_TaxPeriodAxis-TaxYear2024Member" decimals="-3" id="c59150279" unitRef="iso4217-usd">245000</us-gaap:OperatingLossCarryforwards>
  <us-gaap:OperatingLossCarryforwards contextRef="i_2020-01-31_IncomeTaxAuthorityAxis-ForeignCountryMember_IncomeTaxAuthorityNameAxis-EmeaIncomeTaxAuthorityMember_TaxPeriodAxis-TaxYear2024Member" decimals="-3" id="c59150280" unitRef="iso4217-usd">126000</us-gaap:OperatingLossCarryforwards>
  <us-gaap:OperatingLossCarryforwards contextRef="i_2020-01-31_IncomeTaxAuthorityAxis-ForeignCountryMember_IncomeTaxAuthorityNameAxis-AsiaPacificIncomeTaxAuthorityMember_TaxPeriodAxis-TaxYear2024Member" decimals="-3" id="c59150281" unitRef="iso4217-usd">171000</us-gaap:OperatingLossCarryforwards>
  <us-gaap:OperatingLossCarryforwards contextRef="i_2020-01-31_TaxPeriodAxis-TaxYear2024Member" decimals="-3" id="c59150282" unitRef="iso4217-usd">542000</us-gaap:OperatingLossCarryforwards>
  <us-gaap:OperatingLossCarryforwards contextRef="i_2020-01-31_IncomeTaxAuthorityAxis-ForeignCountryMember_IncomeTaxAuthorityNameAxis-CanadaRevenueAgencyMember_TaxPeriodAxis-TaxYear2025Member" id="c59150283" unitRef="iso4217-usd" xs:nil="true"/>
  <us-gaap:OperatingLossCarryforwards contextRef="i_2020-01-31_IncomeTaxAuthorityAxis-DomesticCountryMember_IncomeTaxAuthorityNameAxis-InternalRevenueServiceIRSMember_TaxPeriodAxis-TaxYear2025Member" decimals="-3" id="c59150284" unitRef="iso4217-usd">245000</us-gaap:OperatingLossCarryforwards>
  <us-gaap:OperatingLossCarryforwards contextRef="i_2020-01-31_IncomeTaxAuthorityAxis-ForeignCountryMember_IncomeTaxAuthorityNameAxis-EmeaIncomeTaxAuthorityMember_TaxPeriodAxis-TaxYear2025Member" id="c59150285" unitRef="iso4217-usd" xs:nil="true"/>
  <us-gaap:OperatingLossCarryforwards contextRef="i_2020-01-31_IncomeTaxAuthorityAxis-ForeignCountryMember_IncomeTaxAuthorityNameAxis-AsiaPacificIncomeTaxAuthorityMember_TaxPeriodAxis-TaxYear2025Member" id="c59150286" unitRef="iso4217-usd" xs:nil="true"/>
  <us-gaap:OperatingLossCarryforwards contextRef="i_2020-01-31_TaxPeriodAxis-TaxYear2025Member" decimals="-3" id="c59150287" unitRef="iso4217-usd">245000</us-gaap:OperatingLossCarryforwards>
  <us-gaap:OperatingLossCarryforwards contextRef="i_2020-01-31_IncomeTaxAuthorityAxis-ForeignCountryMember_IncomeTaxAuthorityNameAxis-CanadaRevenueAgencyMember_TaxPeriodAxis-AfterTaxYear2025Member" decimals="-3" id="c59150288" unitRef="iso4217-usd">1609000</us-gaap:OperatingLossCarryforwards>
  <us-gaap:OperatingLossCarryforwards contextRef="i_2020-01-31_IncomeTaxAuthorityAxis-DomesticCountryMember_IncomeTaxAuthorityNameAxis-InternalRevenueServiceIRSMember_TaxPeriodAxis-AfterTaxYear2025Member" decimals="-3" id="c59150289" unitRef="iso4217-usd">5026000</us-gaap:OperatingLossCarryforwards>
  <us-gaap:OperatingLossCarryforwards contextRef="i_2020-01-31_IncomeTaxAuthorityAxis-ForeignCountryMember_IncomeTaxAuthorityNameAxis-EmeaIncomeTaxAuthorityMember_TaxPeriodAxis-AfterTaxYear2025Member" decimals="-3" id="c59150290" unitRef="iso4217-usd">42865000</us-gaap:OperatingLossCarryforwards>
  <us-gaap:OperatingLossCarryforwards contextRef="i_2020-01-31_IncomeTaxAuthorityAxis-ForeignCountryMember_IncomeTaxAuthorityNameAxis-AsiaPacificIncomeTaxAuthorityMember_TaxPeriodAxis-AfterTaxYear2025Member" decimals="-3" id="c59150291" unitRef="iso4217-usd">3070000</us-gaap:OperatingLossCarryforwards>
  <us-gaap:OperatingLossCarryforwards contextRef="i_2020-01-31_TaxPeriodAxis-AfterTaxYear2025Member" decimals="-3" id="c59150292" unitRef="iso4217-usd">52570000</us-gaap:OperatingLossCarryforwards>
  <us-gaap:OperatingLossCarryforwards contextRef="i_2020-01-31_IncomeTaxAuthorityAxis-ForeignCountryMember_IncomeTaxAuthorityNameAxis-CanadaRevenueAgencyMember" decimals="-3" id="c59150293" unitRef="iso4217-usd">1609000</us-gaap:OperatingLossCarryforwards>
  <us-gaap:OperatingLossCarryforwards contextRef="i_2020-01-31_IncomeTaxAuthorityAxis-DomesticCountryMember" decimals="-3" id="c59150294" unitRef="iso4217-usd">6014000</us-gaap:OperatingLossCarryforwards>
  <us-gaap:OperatingLossCarryforwards contextRef="i_2020-01-31_IncomeTaxAuthorityAxis-ForeignCountryMember_IncomeTaxAuthorityNameAxis-EmeaIncomeTaxAuthorityMember" decimals="-3" id="c59150295" unitRef="iso4217-usd">43642000</us-gaap:OperatingLossCarryforwards>
  <us-gaap:OperatingLossCarryforwards contextRef="i_2020-01-31_IncomeTaxAuthorityAxis-ForeignCountryMember_IncomeTaxAuthorityNameAxis-AsiaPacificIncomeTaxAuthorityMember" decimals="-3" id="c59150296" unitRef="iso4217-usd">4136000</us-gaap:OperatingLossCarryforwards>
  <us-gaap:OperatingLossCarryforwards contextRef="i_2020-01-31" decimals="-3" id="c59150297" unitRef="iso4217-usd">55401000</us-gaap:OperatingLossCarryforwards>
  <us-gaap:OtherAccruedLiabilitiesCurrent contextRef="i_2020-01-31" decimals="-3" id="c59149685" unitRef="iso4217-usd">13253000</us-gaap:OtherAccruedLiabilitiesCurrent>
  <us-gaap:OtherAccruedLiabilitiesCurrent contextRef="i_2019-01-31" decimals="-3" id="c59149686" unitRef="iso4217-usd">11484000</us-gaap:OtherAccruedLiabilitiesCurrent>
  <us-gaap:OtherAssetsCurrent contextRef="i_2020-01-31" decimals="-3" id="c59149584" unitRef="iso4217-usd">7294000</us-gaap:OtherAssetsCurrent>
  <us-gaap:OtherAssetsCurrent contextRef="i_2019-01-31" decimals="-3" id="c59149585" unitRef="iso4217-usd">4276000</us-gaap:OtherAssetsCurrent>
  <us-gaap:OtherAssetsNoncurrent contextRef="i_2018-02-01_AdjustmentsForNewAccountingPronouncementsAxis-AccountingStandardsUpdate201409Member" decimals="-3" id="c59148487" unitRef="iso4217-usd">4200000</us-gaap:OtherAssetsNoncurrent>
  <us-gaap:OtherAssetsNoncurrent contextRef="i_2020-01-31" decimals="-3" id="c59148067" unitRef="iso4217-usd">13520000</us-gaap:OtherAssetsNoncurrent>
  <us-gaap:OtherAssetsNoncurrent contextRef="i_2019-01-31" decimals="-3" id="c59148068" unitRef="iso4217-usd">10510000</us-gaap:OtherAssetsNoncurrent>
  <us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax contextRef="d_2019-02-01_2020-01-31" decimals="-3" id="c59148199" unitRef="iso4217-usd">-743000</us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax>
  <us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax contextRef="d_2018-02-01_2019-01-31" decimals="-3" id="c59148200" unitRef="iso4217-usd">-9949000</us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax>
  <us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax contextRef="d_2017-02-01_2018-01-31" decimals="-3" id="c59148201" unitRef="iso4217-usd">17527000</us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax>
  <us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTranslationAdjustmentTax contextRef="d_2019-02-01_2020-01-31" decimals="-3" id="c59148202" unitRef="iso4217-usd">-132000</us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTranslationAdjustmentTax>
  <us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTranslationAdjustmentTax contextRef="d_2018-02-01_2019-01-31" decimals="-3" id="c59148203" unitRef="iso4217-usd">-44000</us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTranslationAdjustmentTax>
  <us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTranslationAdjustmentTax contextRef="d_2017-02-01_2018-01-31" decimals="-3" id="c59148204" unitRef="iso4217-usd">255000</us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTranslationAdjustmentTax>
  <us-gaap:OtherComprehensiveIncomeLossNetOfTax contextRef="d_2019-02-01_2020-01-31" decimals="-3" id="c59148205" unitRef="iso4217-usd">-743000</us-gaap:OtherComprehensiveIncomeLossNetOfTax>
  <us-gaap:OtherComprehensiveIncomeLossNetOfTax contextRef="d_2018-02-01_2019-01-31" decimals="-3" id="c59148206" unitRef="iso4217-usd">-9949000</us-gaap:OtherComprehensiveIncomeLossNetOfTax>
  <us-gaap:OtherComprehensiveIncomeLossNetOfTax contextRef="d_2017-02-01_2018-01-31" decimals="-3" id="c59148207" unitRef="iso4217-usd">17527000</us-gaap:OtherComprehensiveIncomeLossNetOfTax>
  <us-gaap:OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent contextRef="d_2019-02-01_2020-01-31_StatementEquityComponentsAxis-AccumulatedOtherComprehensiveIncomeMember" decimals="-3" id="c59148247" unitRef="iso4217-usd">-743000</us-gaap:OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent>
  <us-gaap:OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent contextRef="d_2018-02-01_2019-01-31_StatementEquityComponentsAxis-AccumulatedOtherComprehensiveIncomeMember" decimals="-3" id="c59148248" unitRef="iso4217-usd">-9949000</us-gaap:OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent>
  <us-gaap:OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent contextRef="d_2017-02-01_2018-01-31_StatementEquityComponentsAxis-AccumulatedOtherComprehensiveIncomeMember" decimals="-3" id="c59148249" unitRef="iso4217-usd">17527000</us-gaap:OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent>
  <us-gaap:OtherIncomeAndOtherExpenseDisclosureTextBlock contextRef="d_2019-02-01_2020-01-31" id="s1506304">&lt;div style="display: inline; font-family: times new roman; font-size: 10pt"&gt;&lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"&gt;&lt;div style="display: inline; font-weight: bold;"&gt;Note &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;20&lt;/div&gt; - Other Charges&lt;/div&gt;&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"&gt;&amp;nbsp;&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;Other charges are comprised of acquisition-related costs and restructuring initiatives which have been undertaken from time to time under various restructuring plans. Acquisition-related costs primarily include advisory services, brokerage services, administrative costs and retention bonuses to employees joining by way of an acquisition, and collectively relate to completed and prospective acquisitions.&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&amp;nbsp;&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;The following tables shows the components of other charges as follows:&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&amp;nbsp;&lt;/div&gt; &lt;div&gt; &lt;table cellpadding="0" cellspacing="0" style="border-collapse: collapse; font: 10pt Times New Roman, Times, Serif; min-width: 700px;"&gt;  &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td style="font-style: italic"&gt;Year Ended&lt;/td&gt; &lt;td style="font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;div style="display: inline; font-weight: bold;"&gt;January 31,&lt;/div&gt;&lt;/div&gt;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; white-space: nowrap; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; text-align: right"&gt;&lt;div style="display: inline; font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;January 31,&lt;/div&gt;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; text-align: right"&gt;&lt;div style="display: inline; font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;January 31,&lt;/div&gt;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td style="padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: right"&gt;2020&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;2019&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;2018&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td style="width: 55%; text-align: left"&gt;Acquisition-related costs&lt;/td&gt; &lt;td style="width: 2%; font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 1%; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 11%; font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;3,797&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; width: 1%; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 2%"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 1%; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 11%; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;3,778&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; width: 1%; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 2%"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 1%; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 11%; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;3,471&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; width: 1%; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td style="text-align: left; padding-bottom: 1pt"&gt;Restructuring plans&lt;/td&gt; &lt;td style="font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;&amp;#x2013;&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;20&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;523&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td style="padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;3,797&lt;/div&gt;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; white-space: nowrap; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;3,798&lt;/div&gt;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;3,994&lt;/div&gt;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt;  &lt;/table&gt; &lt;/div&gt;&lt;/div&gt;</us-gaap:OtherIncomeAndOtherExpenseDisclosureTextBlock>
  <us-gaap:OtherNoncashIncomeExpense contextRef="d_2019-02-01_2020-01-31" decimals="-3" id="c59148283" unitRef="iso4217-usd">-337000</us-gaap:OtherNoncashIncomeExpense>
  <us-gaap:OtherNoncashIncomeExpense contextRef="d_2018-02-01_2019-01-31" decimals="-3" id="c59148284" unitRef="iso4217-usd">-71000</us-gaap:OtherNoncashIncomeExpense>
  <us-gaap:OtherNoncashIncomeExpense contextRef="d_2017-02-01_2018-01-31" decimals="-3" id="c59148285" unitRef="iso4217-usd">784000</us-gaap:OtherNoncashIncomeExpense>
  <us-gaap:OtherNonoperatingExpense contextRef="d_2019-02-01_2020-02-01" decimals="-3" id="c59150355" unitRef="iso4217-usd">3797000</us-gaap:OtherNonoperatingExpense>
  <us-gaap:OtherNonoperatingExpense contextRef="d_2018-02-01_2019-01-31" decimals="-3" id="c59150356" unitRef="iso4217-usd">3798000</us-gaap:OtherNonoperatingExpense>
  <us-gaap:OtherNonoperatingExpense contextRef="d_2017-02-01_2018-01-31" decimals="-3" id="c59150357" unitRef="iso4217-usd">3994000</us-gaap:OtherNonoperatingExpense>
  <us-gaap:OtherNonoperatingExpense contextRef="d_2019-02-01_2020-01-31" decimals="-3" id="c59148146" unitRef="iso4217-usd">3797000</us-gaap:OtherNonoperatingExpense>
  <us-gaap:OtherReceivablesNetCurrent contextRef="i_2020-01-31" decimals="-3" id="c59149586" unitRef="iso4217-usd">7294000</us-gaap:OtherReceivablesNetCurrent>
  <us-gaap:OtherReceivablesNetCurrent contextRef="i_2019-01-31" decimals="-3" id="c59149587" unitRef="iso4217-usd">4331000</us-gaap:OtherReceivablesNetCurrent>
  <us-gaap:PaymentForContingentConsiderationLiabilityFinancingActivities contextRef="d_2019-02-01_2020-01-31" decimals="-3" id="c59148321" unitRef="iso4217-usd">785000</us-gaap:PaymentForContingentConsiderationLiabilityFinancingActivities>
  <us-gaap:PaymentForContingentConsiderationLiabilityFinancingActivities contextRef="d_2018-02-01_2019-01-31" decimals="-3" id="c59148322" unitRef="iso4217-usd">1531000</us-gaap:PaymentForContingentConsiderationLiabilityFinancingActivities>
  <us-gaap:PaymentForContingentConsiderationLiabilityFinancingActivities contextRef="d_2017-02-01_2018-01-31" id="c59148323" unitRef="iso4217-usd" xs:nil="true"/>
  <us-gaap:PaymentsOfDebtIssuanceCosts contextRef="d_2019-02-01_2020-01-31" decimals="-3" id="c59148315" unitRef="iso4217-usd">1400000</us-gaap:PaymentsOfDebtIssuanceCosts>
  <us-gaap:PaymentsOfDebtIssuanceCosts contextRef="d_2018-02-01_2019-01-31" id="c59148316" unitRef="iso4217-usd" xs:nil="true"/>
  <us-gaap:PaymentsOfDebtIssuanceCosts contextRef="d_2017-02-01_2018-01-31" id="c59148317" unitRef="iso4217-usd" xs:nil="true"/>
  <us-gaap:PaymentsToAcquireBusinessesNetOfCashAcquired contextRef="d_2019-02-12_2019-02-12_BusinessAcquisitionAxis-VisualComplianceMember" decimals="-5" id="c59148582" unitRef="iso4217-usd">248900000</us-gaap:PaymentsToAcquireBusinessesNetOfCashAcquired>
  <us-gaap:PaymentsToAcquireBusinessesNetOfCashAcquired contextRef="d_2019-05-10_2019-05-10_BusinessAcquisitionAxis-CoreTransportTechnologiesNzLimitedMember" decimals="-5" id="c59148590" unitRef="iso4217-usd">21800000</us-gaap:PaymentsToAcquireBusinessesNetOfCashAcquired>
  <us-gaap:PaymentsToAcquireBusinessesNetOfCashAcquired contextRef="d_2019-06-27_2019-06-27_BusinessAcquisitionAxis-StepcomMember" decimals="-5" id="c59148597" unitRef="iso4217-usd">18600000</us-gaap:PaymentsToAcquireBusinessesNetOfCashAcquired>
  <us-gaap:PaymentsToAcquireBusinessesNetOfCashAcquired contextRef="d_2019-08-20_2019-08-20_BusinessAcquisitionAxis-BesttransportMember" decimals="-5" id="c59148602" unitRef="iso4217-usd">11700000</us-gaap:PaymentsToAcquireBusinessesNetOfCashAcquired>
  <us-gaap:PaymentsToAcquireBusinessesNetOfCashAcquired contextRef="d_2018-02-02_2018-02-02_BusinessAcquisitionAxis-AljexSoftwareIncMember" decimals="-5" id="c59148615" unitRef="iso4217-usd">32400000</us-gaap:PaymentsToAcquireBusinessesNetOfCashAcquired>
  <us-gaap:PaymentsToAcquireBusinessesNetOfCashAcquired contextRef="d_2018-06-22_2018-06-22_BusinessAcquisitionAxis-VelocityMailMember" decimals="-5" id="c59148621" unitRef="iso4217-usd">26100000</us-gaap:PaymentsToAcquireBusinessesNetOfCashAcquired>
  <us-gaap:PaymentsToAcquireBusinessesNetOfCashAcquired contextRef="d_2017-06-01_2017-06-01_BusinessAcquisitionAxis-PCSTracIncMember" decimals="-5" id="c59148650" unitRef="iso4217-usd">11500000</us-gaap:PaymentsToAcquireBusinessesNetOfCashAcquired>
  <us-gaap:PaymentsToAcquireBusinessesNetOfCashAcquired contextRef="d_2017-05-18_2017-05-18_BusinessAcquisitionAxis-ShipRushMember" decimals="-5" id="c59148656" unitRef="iso4217-usd">14200000</us-gaap:PaymentsToAcquireBusinessesNetOfCashAcquired>
  <us-gaap:PaymentsToAcquireBusinessesNetOfCashAcquired contextRef="d_2020-02-21_2020-02-21_BusinessAcquisitionAxis-PeoplevoxLimitedMember_SubsequentEventTypeAxis-SubsequentEventMember" decimals="-5" id="c59150432" unitRef="iso4217-usd">24500000</us-gaap:PaymentsToAcquireBusinessesNetOfCashAcquired>
  <us-gaap:PaymentsToAcquireBusinessesNetOfCashAcquired contextRef="d_2020-02-21_2020-02-21_BusinessAcquisitionAxis-PeoplevoxLimitedMember_SubsequentEventTypeAxis-SubsequentEventMember" decimals="-5" id="c59150433" unitRef="iso4217-gbp">18900000</us-gaap:PaymentsToAcquireBusinessesNetOfCashAcquired>
  <us-gaap:PaymentsToAcquireBusinessesNetOfCashAcquired contextRef="d_2019-02-01_2020-01-31" decimals="-3" id="c59148302" unitRef="iso4217-usd">292053000</us-gaap:PaymentsToAcquireBusinessesNetOfCashAcquired>
  <us-gaap:PaymentsToAcquireBusinessesNetOfCashAcquired contextRef="d_2018-02-01_2019-01-31" decimals="-3" id="c59148303" unitRef="iso4217-usd">67932000</us-gaap:PaymentsToAcquireBusinessesNetOfCashAcquired>
  <us-gaap:PaymentsToAcquireBusinessesNetOfCashAcquired contextRef="d_2017-02-01_2018-01-31" decimals="-3" id="c59148304" unitRef="iso4217-usd">111867000</us-gaap:PaymentsToAcquireBusinessesNetOfCashAcquired>
  <us-gaap:PaymentsToAcquireBusinessesNetOfCashAcquired contextRef="d_2019-02-01_2020-01-31_BusinessAcquisitionAxis-VisualComplianceMember" decimals="-3" id="c59148668" unitRef="iso4217-usd">239863000</us-gaap:PaymentsToAcquireBusinessesNetOfCashAcquired>
  <us-gaap:PaymentsToAcquireBusinessesNetOfCashAcquired contextRef="d_2019-02-01_2020-01-31_BusinessAcquisitionAxis-CoreTransportTechnologiesNzLimitedMember" decimals="-3" id="c59148669" unitRef="iso4217-usd">21833000</us-gaap:PaymentsToAcquireBusinessesNetOfCashAcquired>
  <us-gaap:PaymentsToAcquireBusinessesNetOfCashAcquired contextRef="d_2019-02-01_2020-01-31_BusinessAcquisitionAxis-StepcomMember" decimals="-3" id="c59148670" unitRef="iso4217-usd">18639000</us-gaap:PaymentsToAcquireBusinessesNetOfCashAcquired>
  <us-gaap:PaymentsToAcquireBusinessesNetOfCashAcquired contextRef="d_2019-02-01_2020-01-31_BusinessAcquisitionAxis-BesttransportMember" decimals="-3" id="c59148671" unitRef="iso4217-usd">11718000</us-gaap:PaymentsToAcquireBusinessesNetOfCashAcquired>
  <us-gaap:PaymentsToAcquireBusinessesNetOfCashAcquired contextRef="d_2019-02-01_2020-01-31_BusinessAcquisitionAxis-The2020AcquisitionsMember" decimals="-3" id="c59148672" unitRef="iso4217-usd">292053000</us-gaap:PaymentsToAcquireBusinessesNetOfCashAcquired>
  <us-gaap:PaymentsToAcquireBusinessesNetOfCashAcquired contextRef="d_2018-02-01_2019-01-31_BusinessAcquisitionAxis-AljexSoftwareIncMember" decimals="-3" id="c59148949" unitRef="iso4217-usd">32382000</us-gaap:PaymentsToAcquireBusinessesNetOfCashAcquired>
  <us-gaap:PaymentsToAcquireBusinessesNetOfCashAcquired contextRef="d_2018-02-01_2019-01-31_BusinessAcquisitionAxis-VelocityMailMember" decimals="-3" id="c59148950" unitRef="iso4217-usd">26107000</us-gaap:PaymentsToAcquireBusinessesNetOfCashAcquired>
  <us-gaap:PaymentsToAcquireBusinessesNetOfCashAcquired contextRef="d_2018-02-01_2019-01-31_BusinessAcquisitionAxis-PinPointMember" decimals="-3" id="c59148951" unitRef="iso4217-usd">9443000</us-gaap:PaymentsToAcquireBusinessesNetOfCashAcquired>
  <us-gaap:PaymentsToAcquireBusinessesNetOfCashAcquired contextRef="d_2018-02-01_2019-01-31_BusinessAcquisitionAxis-The2019AcquisitionsMember" decimals="-3" id="c59148952" unitRef="iso4217-usd">67932000</us-gaap:PaymentsToAcquireBusinessesNetOfCashAcquired>
  <us-gaap:PaymentsToAcquireBusinessesNetOfCashAcquired contextRef="d_2017-02-01_2018-01-31_BusinessAcquisitionAxis-ShipRushMember" decimals="-3" id="c59149190" unitRef="iso4217-usd">14198000</us-gaap:PaymentsToAcquireBusinessesNetOfCashAcquired>
  <us-gaap:PaymentsToAcquireBusinessesNetOfCashAcquired contextRef="d_2017-02-01_2018-01-31_BusinessAcquisitionAxis-PCSTracIncMember" decimals="-3" id="c59149191" unitRef="iso4217-usd">11492000</us-gaap:PaymentsToAcquireBusinessesNetOfCashAcquired>
  <us-gaap:PaymentsToAcquireBusinessesNetOfCashAcquired contextRef="d_2017-02-01_2018-01-31_BusinessAcquisitionAxis-MacroPointLLCMember" decimals="-3" id="c59149192" unitRef="iso4217-usd">86177000</us-gaap:PaymentsToAcquireBusinessesNetOfCashAcquired>
  <us-gaap:PaymentsToAcquireBusinessesNetOfCashAcquired contextRef="d_2017-02-01_2018-01-31_BusinessAcquisitionAxis-The2018AcquisitionsMember" decimals="-3" id="c59149193" unitRef="iso4217-usd">111867000</us-gaap:PaymentsToAcquireBusinessesNetOfCashAcquired>
  <us-gaap:PaymentsToAcquirePropertyPlantAndEquipment contextRef="d_2019-02-01_2020-01-31" decimals="-3" id="c59148299" unitRef="iso4217-usd">4900000</us-gaap:PaymentsToAcquirePropertyPlantAndEquipment>
  <us-gaap:PaymentsToAcquirePropertyPlantAndEquipment contextRef="d_2018-02-01_2019-01-31" decimals="-3" id="c59148300" unitRef="iso4217-usd">5244000</us-gaap:PaymentsToAcquirePropertyPlantAndEquipment>
  <us-gaap:PaymentsToAcquirePropertyPlantAndEquipment contextRef="d_2017-02-01_2018-01-31" decimals="-3" id="c59148301" unitRef="iso4217-usd">5086000</us-gaap:PaymentsToAcquirePropertyPlantAndEquipment>
  <us-gaap:PrepaidExpenseAndOtherAssetsCurrent contextRef="i_2020-01-31" decimals="-3" id="c59148061" unitRef="iso4217-usd">12984000</us-gaap:PrepaidExpenseAndOtherAssetsCurrent>
  <us-gaap:PrepaidExpenseAndOtherAssetsCurrent contextRef="i_2019-01-31" decimals="-3" id="c59148062" unitRef="iso4217-usd">9027000</us-gaap:PrepaidExpenseAndOtherAssetsCurrent>
  <us-gaap:ProceedsFromIssuanceOfCommonStock contextRef="d_2019-02-01_2020-01-31" decimals="-3" id="c59148318" unitRef="iso4217-usd">237973000</us-gaap:ProceedsFromIssuanceOfCommonStock>
  <us-gaap:ProceedsFromIssuanceOfCommonStock contextRef="d_2018-02-01_2019-01-31" decimals="-3" id="c59148319" unitRef="iso4217-usd">345000</us-gaap:ProceedsFromIssuanceOfCommonStock>
  <us-gaap:ProceedsFromIssuanceOfCommonStock contextRef="d_2017-02-01_2018-01-31" decimals="-3" id="c59148320" unitRef="iso4217-usd">1003000</us-gaap:ProceedsFromIssuanceOfCommonStock>
  <us-gaap:ProceedsFromLinesOfCredit contextRef="d_2019-02-01_2020-01-31" decimals="-3" id="c59148309" unitRef="iso4217-usd">297015000</us-gaap:ProceedsFromLinesOfCredit>
  <us-gaap:ProceedsFromLinesOfCredit contextRef="d_2018-02-01_2019-01-31" decimals="-3" id="c59148310" unitRef="iso4217-usd">68468000</us-gaap:ProceedsFromLinesOfCredit>
  <us-gaap:ProceedsFromLinesOfCredit contextRef="d_2017-02-01_2018-01-31" decimals="-3" id="c59148311" unitRef="iso4217-usd">80000000</us-gaap:ProceedsFromLinesOfCredit>
  <us-gaap:ProceedsFromStockOptionsExercised contextRef="d_2019-02-01_2020-01-31" decimals="-5" id="c59149796" unitRef="iso4217-usd">1500000</us-gaap:ProceedsFromStockOptionsExercised>
  <us-gaap:ProceedsFromStockOptionsExercised contextRef="d_2018-02-01_2019-01-31" decimals="-5" id="c59149797" unitRef="iso4217-usd">500000</us-gaap:ProceedsFromStockOptionsExercised>
  <us-gaap:ProceedsFromStockOptionsExercised contextRef="d_2017-02-01_2018-01-31" decimals="-5" id="c59149798" unitRef="iso4217-usd">1000000</us-gaap:ProceedsFromStockOptionsExercised>
  <us-gaap:PropertyPlantAndEquipmentDisclosureTextBlock contextRef="d_2019-02-01_2020-01-31" id="s1506263">&lt;div style="display: inline; font-family: times new roman; font-size: 10pt"&gt;&lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"&gt;&lt;div style="display: inline; font-weight: bold;"&gt;Note &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;8&lt;/div&gt; &amp;#x2013; Property and Equipment&lt;/div&gt;&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"&gt;&amp;nbsp;&lt;/div&gt; &lt;div&gt; &lt;table cellpadding="0" cellspacing="0" style="border-collapse: collapse; font: 10pt Times New Roman, Times, Serif; min-width: 700px;"&gt;  &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;div style="display: inline; font-weight: bold;"&gt;January 31,&lt;/div&gt;&lt;/div&gt;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; white-space: nowrap; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; text-align: right"&gt;&lt;div style="display: inline; font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;January 31,&lt;/div&gt;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td style="padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: right"&gt;2020&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;2019&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td&gt;Cost&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td style="width: 68%; text-align: left; padding-left: 12pt"&gt;Computer equipment and software&lt;/td&gt; &lt;td style="width: 2%; font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 1%; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 12%; font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;34,442&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; width: 1%; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 2%"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 1%; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 12%; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;34,870&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; width: 1%; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td style="text-align: left; padding-left: 12pt"&gt;Furniture and fixtures&lt;/td&gt; &lt;td style="font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;1,432&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;1,262&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td style="text-align: left; padding-left: 12pt"&gt;Leasehold improvements&lt;/td&gt; &lt;td style="font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;778&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;444&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td style="text-align: left; padding-left: 12pt"&gt;Equipment installed with customers&lt;/td&gt; &lt;td style="font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;1,289&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;&amp;#x2013;&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td style="text-align: left; padding-bottom: 1pt; padding-left: 12pt"&gt;Assets under construction&lt;/td&gt; &lt;td style="font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;829&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;&amp;#x2013;&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;38,770&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;36,576&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td style="text-align: left"&gt;Accumulated depreciation&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td style="text-align: left; padding-left: 12pt"&gt;Computer equipment and software&lt;/td&gt; &lt;td style="font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;23,730&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;23,070&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td style="text-align: left; padding-left: 12pt"&gt;Furniture and fixtures&lt;/td&gt; &lt;td style="font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;816&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;634&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td style="text-align: left; padding-left: 12pt"&gt;Leasehold improvements&lt;/td&gt; &lt;td style="font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;290&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;260&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td style="text-align: left; padding-bottom: 1pt; padding-left: 12pt"&gt;Equipment installed with customers&lt;/td&gt; &lt;td style="font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;203&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;&amp;#x2013;&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td style="padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;25,039&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;23,964&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td style="padding-bottom: 1pt"&gt;Net&lt;/td&gt; &lt;td style="font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;13,731&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;12,612&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt;  &lt;/table&gt; &lt;/div&gt;&lt;/div&gt;</us-gaap:PropertyPlantAndEquipmentDisclosureTextBlock>
  <us-gaap:PropertyPlantAndEquipmentGross contextRef="i_2020-01-31_PropertyPlantAndEquipmentByTypeAxis-ComputerEquipmentMember" decimals="-3" id="c59149595" unitRef="iso4217-usd">34442000</us-gaap:PropertyPlantAndEquipmentGross>
  <us-gaap:PropertyPlantAndEquipmentGross contextRef="i_2019-01-31_PropertyPlantAndEquipmentByTypeAxis-ComputerEquipmentMember" decimals="-3" id="c59149596" unitRef="iso4217-usd">34870000</us-gaap:PropertyPlantAndEquipmentGross>
  <us-gaap:PropertyPlantAndEquipmentGross contextRef="i_2020-01-31_PropertyPlantAndEquipmentByTypeAxis-FurnitureAndFixturesMember" decimals="-3" id="c59149597" unitRef="iso4217-usd">1432000</us-gaap:PropertyPlantAndEquipmentGross>
  <us-gaap:PropertyPlantAndEquipmentGross contextRef="i_2019-01-31_PropertyPlantAndEquipmentByTypeAxis-FurnitureAndFixturesMember" decimals="-3" id="c59149598" unitRef="iso4217-usd">1262000</us-gaap:PropertyPlantAndEquipmentGross>
  <us-gaap:PropertyPlantAndEquipmentGross contextRef="i_2020-01-31_PropertyPlantAndEquipmentByTypeAxis-LeaseholdImprovementsMember" decimals="-3" id="c59149599" unitRef="iso4217-usd">778000</us-gaap:PropertyPlantAndEquipmentGross>
  <us-gaap:PropertyPlantAndEquipmentGross contextRef="i_2019-01-31_PropertyPlantAndEquipmentByTypeAxis-LeaseholdImprovementsMember" decimals="-3" id="c59149600" unitRef="iso4217-usd">444000</us-gaap:PropertyPlantAndEquipmentGross>
  <us-gaap:PropertyPlantAndEquipmentGross contextRef="i_2020-01-31_PropertyPlantAndEquipmentByTypeAxis-EquipmentInstalledWithCustomersMember" decimals="-3" id="c59149601" unitRef="iso4217-usd">1289000</us-gaap:PropertyPlantAndEquipmentGross>
  <us-gaap:PropertyPlantAndEquipmentGross contextRef="i_2019-01-31_PropertyPlantAndEquipmentByTypeAxis-EquipmentInstalledWithCustomersMember" id="c59149602" unitRef="iso4217-usd" xs:nil="true"/>
  <us-gaap:PropertyPlantAndEquipmentGross contextRef="i_2020-01-31_PropertyPlantAndEquipmentByTypeAxis-AssetUnderConstructionMember" decimals="-3" id="c59149603" unitRef="iso4217-usd">829000</us-gaap:PropertyPlantAndEquipmentGross>
  <us-gaap:PropertyPlantAndEquipmentGross contextRef="i_2019-01-31_PropertyPlantAndEquipmentByTypeAxis-AssetUnderConstructionMember" id="c59149604" unitRef="iso4217-usd" xs:nil="true"/>
  <us-gaap:PropertyPlantAndEquipmentGross contextRef="i_2020-01-31" decimals="-3" id="c59149605" unitRef="iso4217-usd">38770000</us-gaap:PropertyPlantAndEquipmentGross>
  <us-gaap:PropertyPlantAndEquipmentGross contextRef="i_2019-01-31" decimals="-3" id="c59149606" unitRef="iso4217-usd">36576000</us-gaap:PropertyPlantAndEquipmentGross>
  <us-gaap:PropertyPlantAndEquipmentNet contextRef="i_2020-01-31" decimals="-3" id="c59148069" unitRef="iso4217-usd">13731000</us-gaap:PropertyPlantAndEquipmentNet>
  <us-gaap:PropertyPlantAndEquipmentNet contextRef="i_2019-01-31" decimals="-3" id="c59148070" unitRef="iso4217-usd">12612000</us-gaap:PropertyPlantAndEquipmentNet>
  <us-gaap:PropertyPlantAndEquipmentPolicyTextBlock contextRef="d_2019-02-01_2020-01-31" id="c59148369">&lt;div style="display: inline; font-family: times new roman; font-size: 10pt"&gt;&lt;div style="display: inline; font-family: times new roman; font-size: 10pt"&gt;&lt;div style="display: inline; font-family: times new roman; font-size: 10pt"&gt;&lt;div style="display: inline; font-family: times new roman; font-size: 10pt"&gt;&lt;div style="display: inline; font-family: times new roman; font-size: 10pt"&gt;&lt;div style="display: inline; font-family: times new roman; font-size: 10pt"&gt;&lt;div style="display: inline; font-family: times new roman; font-size: 10pt"&gt;&lt;div style="display: inline; font-family: times new roman; font-size: 10pt"&gt;&lt;div style="display: inline; font-family: times new roman; font-size: 10pt"&gt;&lt;div style="display: inline; font-family: times new roman; font-size: 10pt"&gt;&lt;div style=" font: italic bold 10pt Times New Roman, Times, Serif; margin: 0pt 0"&gt;Property and equipment&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;Property and equipment is recorded at cost. Depreciation of our property and equipment is generally recorded at the following rates:&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&amp;nbsp;&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&lt;/div&gt; &lt;table border="0" cellpadding="0" cellspacing="0" style="; border-collapse: collapse; font-family: Times New Roman, Times, Serif; min-width: 700px;"&gt; &lt;tr style="vertical-align: middle"&gt; &lt;td style="padding-left: 20pt; font-size: 10pt; text-align: left; width: 50%"&gt;Computer equipment and software&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: left; width: 50%"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;30%&lt;/div&gt; declining balance&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: middle"&gt; &lt;td style="padding-left: 20pt; font-size: 10pt; text-align: left"&gt;Furniture and fixtures&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: left"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;20%&lt;/div&gt; declining balance&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: middle"&gt; &lt;td style="padding-left: 20pt; font-size: 10pt; text-align: left"&gt;Leasehold improvements&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: left"&gt;Straight-line over lesser of useful life or term of lease&lt;/td&gt; &lt;/tr&gt; &lt;/table&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&amp;nbsp;&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"&gt;Fully depreciated property and equipment are removed from the balance sheet when they are &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;no&lt;/div&gt; longer in use.&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;</us-gaap:PropertyPlantAndEquipmentPolicyTextBlock>
  <us-gaap:PropertyPlantAndEquipmentTextBlock contextRef="d_2019-02-01_2020-01-31" id="c-8">&lt;div style="display: inline; font-family: times new roman; font-size: 10pt"&gt;&lt;table cellpadding="0" cellspacing="0" style="border-collapse: collapse; font: 10pt Times New Roman, Times, Serif; min-; min-width: 700px;"&gt; &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;div style="display: inline; font-weight: bold;"&gt;January 31,&lt;/div&gt;&lt;/div&gt;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; white-space: nowrap; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; text-align: right"&gt;&lt;div style="display: inline; font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;January 31,&lt;/div&gt;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td style="padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: right"&gt;2020&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;2019&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td&gt;Cost&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td style="width: 68%; text-align: left; padding-left: 12pt"&gt;Computer equipment and software&lt;/td&gt; &lt;td style="width: 2%; font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 1%; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 12%; font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;34,442&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; width: 1%; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 2%"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 1%; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 12%; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;34,870&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; width: 1%; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td style="text-align: left; padding-left: 12pt"&gt;Furniture and fixtures&lt;/td&gt; &lt;td style="font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;1,432&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;1,262&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td style="text-align: left; padding-left: 12pt"&gt;Leasehold improvements&lt;/td&gt; &lt;td style="font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;778&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;444&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td style="text-align: left; padding-left: 12pt"&gt;Equipment installed with customers&lt;/td&gt; &lt;td style="font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;1,289&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;&amp;#x2013;&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td style="text-align: left; padding-bottom: 1pt; padding-left: 12pt"&gt;Assets under construction&lt;/td&gt; &lt;td style="font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;829&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;&amp;#x2013;&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;38,770&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;36,576&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td style="text-align: left"&gt;Accumulated depreciation&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td style="text-align: left; padding-left: 12pt"&gt;Computer equipment and software&lt;/td&gt; &lt;td style="font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;23,730&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;23,070&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td style="text-align: left; padding-left: 12pt"&gt;Furniture and fixtures&lt;/td&gt; &lt;td style="font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;816&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;634&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td style="text-align: left; padding-left: 12pt"&gt;Leasehold improvements&lt;/td&gt; &lt;td style="font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;290&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;260&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td style="text-align: left; padding-bottom: 1pt; padding-left: 12pt"&gt;Equipment installed with customers&lt;/td&gt; &lt;td style="font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;203&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;&amp;#x2013;&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td style="padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;25,039&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;23,964&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td style="padding-bottom: 1pt"&gt;Net&lt;/td&gt; &lt;td style="font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;13,731&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;12,612&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;/table&gt;&lt;/div&gt;</us-gaap:PropertyPlantAndEquipmentTextBlock>
  <us-gaap:ProvisionForDoubtfulAccounts contextRef="d_2019-02-01_2020-01-31" decimals="-5" id="c59149570" unitRef="iso4217-usd">600000</us-gaap:ProvisionForDoubtfulAccounts>
  <us-gaap:ProvisionForDoubtfulAccounts contextRef="d_2018-02-01_2019-01-31" decimals="-5" id="c59149571" unitRef="iso4217-usd">1200000</us-gaap:ProvisionForDoubtfulAccounts>
  <us-gaap:ProvisionForDoubtfulAccounts contextRef="d_2017-02-01_2018-01-31" decimals="-5" id="c59149572" unitRef="iso4217-usd">800000</us-gaap:ProvisionForDoubtfulAccounts>
  <us-gaap:ReceivablesTradeAndOtherAccountsReceivableAllowanceForDoubtfulAccountsPolicy contextRef="d_2019-02-01_2020-01-31" id="c59148361">&lt;div style="display: inline; font-family: times new roman; font-size: 10pt"&gt;&lt;div style="display: inline; font-family: times new roman; font-size: 10pt"&gt;&lt;div style="display: inline; font-family: times new roman; font-size: 10pt"&gt;&lt;div style="display: inline; font-family: times new roman; font-size: 10pt"&gt;&lt;div style="display: inline; font-family: times new roman; font-size: 10pt"&gt;&lt;div style="display: inline; font-family: times new roman; font-size: 10pt"&gt;&lt;div style="display: inline; font-family: times new roman; font-size: 10pt"&gt;&lt;div style="display: inline; font-family: times new roman; font-size: 10pt"&gt;&lt;div style="display: inline; font-family: times new roman; font-size: 10pt"&gt;&lt;div style="display: inline; font-family: times new roman; font-size: 10pt"&gt;&lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"&gt;&lt;div style="display: inline; font-weight: bold;"&gt;&lt;div style="display: inline; font-style: italic;"&gt;Allowance for doubtful accounts&lt;/div&gt;&lt;/div&gt;&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;We maintain an allowance for doubtful accounts for estimated losses resulting from the inability of customers to make their required payments. Specifically, we consider the age of the receivables, customers&amp;#x2019; payment history, historical write-offs, the creditworthiness of the customer, and current economic trends among other factors. Accounts receivable are written off, and the associated allowance is eliminated, if it is determined that the specific balance is &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;no&lt;/div&gt; longer collectible. The allowance is maintained for &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;100%&lt;/div&gt; of all accounts deemed to be uncollectible and, for those receivables &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;not&lt;/div&gt; specifically identified as uncollectible, an allowance is maintained for a specific percentage of those receivables based upon the aging of accounts, our historical collection experience and current economic expectations. To date, the actual losses have been within our expectations. &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;&lt;/div&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;No&lt;/div&gt; &lt;/div&gt;single customer accounted for more than &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;10%&lt;/div&gt; of the accounts receivable balance as of &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt; January 31, 2020 &lt;/div&gt;and &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;2019.&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;</us-gaap:ReceivablesTradeAndOtherAccountsReceivableAllowanceForDoubtfulAccountsPolicy>
  <us-gaap:RepaymentsOfDebt contextRef="d_2019-02-01_2020-01-31" decimals="-3" id="c59148312" unitRef="iso4217-usd">322634000</us-gaap:RepaymentsOfDebt>
  <us-gaap:RepaymentsOfDebt contextRef="d_2018-02-01_2019-01-31" decimals="-3" id="c59148313" unitRef="iso4217-usd">78659000</us-gaap:RepaymentsOfDebt>
  <us-gaap:RepaymentsOfDebt contextRef="d_2017-02-01_2018-01-31" decimals="-3" id="c59148314" unitRef="iso4217-usd">43000000</us-gaap:RepaymentsOfDebt>
  <us-gaap:ResearchAndDevelopmentExpense contextRef="d_2019-02-01_2020-01-31" decimals="-3" id="c59148140" unitRef="iso4217-usd">53513000</us-gaap:ResearchAndDevelopmentExpense>
  <us-gaap:ResearchAndDevelopmentExpense contextRef="d_2018-02-01_2019-01-31" decimals="-3" id="c59148141" unitRef="iso4217-usd">47872000</us-gaap:ResearchAndDevelopmentExpense>
  <us-gaap:ResearchAndDevelopmentExpense contextRef="d_2017-02-01_2018-01-31" decimals="-3" id="c59148142" unitRef="iso4217-usd">41804000</us-gaap:ResearchAndDevelopmentExpense>
  <us-gaap:ResearchDevelopmentAndComputerSoftwarePolicyTextBlock contextRef="d_2019-02-01_2020-01-31" id="c59148375">&lt;div style="display: inline; font-family: times new roman; font-size: 10pt"&gt;&lt;div style="display: inline; font-family: times new roman; font-size: 10pt"&gt;&lt;div style="display: inline; font-family: times new roman; font-size: 10pt"&gt;&lt;div style="display: inline; font-family: times new roman; font-size: 10pt"&gt;&lt;div style="display: inline; font-family: times new roman; font-size: 10pt"&gt;&lt;div style="display: inline; font-family: times new roman; font-size: 10pt"&gt;&lt;div style="display: inline; font-family: times new roman; font-size: 10pt"&gt;&lt;div style="display: inline; font-family: times new roman; font-size: 10pt"&gt;&lt;div style="display: inline; font-family: times new roman; font-size: 10pt"&gt;&lt;div style="display: inline; font-family: times new roman; font-size: 10pt"&gt;&lt;div style=" font: italic bold 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;Research and development costs&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;To date, we have &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;not&lt;/div&gt; capitalized any costs related to research and development of our computer software products. Costs incurred between the dates that the product is considered to be technologically feasible and is considered to be ready for general release to customers have historically been expensed as they have &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;not&lt;/div&gt; been significant.&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;</us-gaap:ResearchDevelopmentAndComputerSoftwarePolicyTextBlock>
  <us-gaap:RestructuringCharges contextRef="d_2019-02-01_2020-02-01" id="c59150352" unitRef="iso4217-usd" xs:nil="true"/>
  <us-gaap:RestructuringCharges contextRef="d_2018-02-01_2019-01-31" decimals="-3" id="c59150353" unitRef="iso4217-usd">20000</us-gaap:RestructuringCharges>
  <us-gaap:RestructuringCharges contextRef="d_2017-02-01_2018-01-31" decimals="-3" id="c59150354" unitRef="iso4217-usd">523000</us-gaap:RestructuringCharges>
  <us-gaap:RetainedEarningsAccumulatedDeficit contextRef="i_2018-02-01_AdjustmentsForNewAccountingPronouncementsAxis-AccountingStandardsUpdate201409Member" decimals="-3" id="c59148489" unitRef="iso4217-usd">3600000</us-gaap:RetainedEarningsAccumulatedDeficit>
  <us-gaap:RetainedEarningsAccumulatedDeficit contextRef="i_2020-01-31" decimals="-3" id="c59148121" unitRef="iso4217-usd">-135770000</us-gaap:RetainedEarningsAccumulatedDeficit>
  <us-gaap:RetainedEarningsAccumulatedDeficit contextRef="i_2019-01-31" decimals="-3" id="c59148122" unitRef="iso4217-usd">-172767000</us-gaap:RetainedEarningsAccumulatedDeficit>
  <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax contextRef="d_2019-02-01_2020-01-31" decimals="-3" id="c59148127" unitRef="iso4217-usd">325791000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
  <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax contextRef="d_2018-02-01_2019-01-31" decimals="-3" id="c59148128" unitRef="iso4217-usd">275171000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
  <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax contextRef="d_2017-02-01_2018-01-31" decimals="-3" id="c59148129" unitRef="iso4217-usd">237439000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
  <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax contextRef="d_2019-02-01_2020-01-31_StatementGeographicalAxis-US" decimals="-3" id="c59150392" unitRef="iso4217-usd">202814000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
  <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax contextRef="d_2018-02-01_2019-01-31_StatementGeographicalAxis-US" decimals="-3" id="c59150393" unitRef="iso4217-usd">165115000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
  <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax contextRef="d_2017-02-01_2018-01-31_StatementGeographicalAxis-US" decimals="-3" id="c59150394" unitRef="iso4217-usd">133263000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
  <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax contextRef="d_2019-02-01_2020-01-31_StatementGeographicalAxis-EMEAMember" decimals="-3" id="c59150395" unitRef="iso4217-usd">82596000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
  <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax contextRef="d_2018-02-01_2019-01-31_StatementGeographicalAxis-EMEAMember" decimals="-3" id="c59150396" unitRef="iso4217-usd">80094000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
  <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax contextRef="d_2017-02-01_2018-01-31_StatementGeographicalAxis-EMEAMember" decimals="-3" id="c59150397" unitRef="iso4217-usd">77576000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
  <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax contextRef="d_2019-02-01_2020-01-31_StatementGeographicalAxis-CA" decimals="-3" id="c59150398" unitRef="iso4217-usd">27304000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
  <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax contextRef="d_2018-02-01_2019-01-31_StatementGeographicalAxis-CA" decimals="-3" id="c59150399" unitRef="iso4217-usd">18167000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
  <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax contextRef="d_2017-02-01_2018-01-31_StatementGeographicalAxis-CA" decimals="-3" id="c59150400" unitRef="iso4217-usd">15667000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
  <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax contextRef="d_2019-02-01_2020-01-31_StatementGeographicalAxis-AsiaPacificMember" decimals="-3" id="c59150401" unitRef="iso4217-usd">13077000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
  <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax contextRef="d_2018-02-01_2019-01-31_StatementGeographicalAxis-AsiaPacificMember" decimals="-3" id="c59150402" unitRef="iso4217-usd">11795000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
  <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax contextRef="d_2017-02-01_2018-01-31_StatementGeographicalAxis-AsiaPacificMember" decimals="-3" id="c59150403" unitRef="iso4217-usd">10933000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
  <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax contextRef="d_2019-02-01_2020-01-31_ProductOrServiceAxis-ServiceMember" decimals="-3" id="c59150408" unitRef="iso4217-usd">284654000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
  <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax contextRef="d_2018-02-01_2019-01-31_ProductOrServiceAxis-ServiceMember" decimals="-3" id="c59150409" unitRef="iso4217-usd">241543000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
  <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax contextRef="d_2017-02-01_2018-01-31_ProductOrServiceAxis-ServiceMember" decimals="-3" id="c59150410" unitRef="iso4217-usd">204376000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
  <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax contextRef="d_2019-02-01_2020-01-31_ProductOrServiceAxis-ProfessionalServicesAndOtherMember" decimals="-3" id="c59150411" unitRef="iso4217-usd">33555000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
  <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax contextRef="d_2018-02-01_2019-01-31_ProductOrServiceAxis-ProfessionalServicesAndOtherMember" decimals="-3" id="c59150412" unitRef="iso4217-usd">27774000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
  <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax contextRef="d_2017-02-01_2018-01-31_ProductOrServiceAxis-ProfessionalServicesAndOtherMember" decimals="-3" id="c59150413" unitRef="iso4217-usd">24918000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
  <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax contextRef="d_2019-02-01_2020-01-31_ProductOrServiceAxis-LicenseMember" decimals="-3" id="c59150414" unitRef="iso4217-usd">7582000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
  <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax contextRef="d_2018-02-01_2019-01-31_ProductOrServiceAxis-LicenseMember" decimals="-3" id="c59150415" unitRef="iso4217-usd">5854000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
  <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax contextRef="d_2017-02-01_2018-01-31_ProductOrServiceAxis-LicenseMember" decimals="-3" id="c59150416" unitRef="iso4217-usd">8145000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
  <us-gaap:RevenueFromContractWithCustomerPolicyTextBlock contextRef="d_2019-02-01_2020-01-31" id="c59148373">&lt;div style="display: inline; font-family: times new roman; font-size: 10pt"&gt;&lt;div style="display: inline; font-family: times new roman; font-size: 10pt"&gt;&lt;div style="display: inline; font-family: times new roman; font-size: 10pt"&gt;&lt;div style="display: inline; font-family: times new roman; font-size: 10pt"&gt;&lt;div style="display: inline; font-family: times new roman; font-size: 10pt"&gt;&lt;div style="display: inline; font-family: times new roman; font-size: 10pt"&gt;&lt;div style="display: inline; font-family: times new roman; font-size: 10pt"&gt;&lt;div style="display: inline; font-family: times new roman; font-size: 10pt"&gt;&lt;div style="display: inline; font-family: times new roman; font-size: 10pt"&gt;&lt;div style="display: inline; font-family: times new roman; font-size: 10pt"&gt;&lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&lt;div style="display: inline; font-weight: bold;"&gt;&lt;div style="display: inline; font-style: italic;"&gt;Revenue recognition&lt;/div&gt;&lt;/div&gt;&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;Revenue is recognized upon transfer of control of promised goods or services to customers in an amount that reflects the consideration we expect to receive in exchange for those goods or services. We enter into contracts that can include various combinations of goods and services, which are generally capable of being distinct within the context of the contract and accounted for as separate performance obligations. A product or service is distinct if the customer can benefit from it on its own or together with other readily available resources and the promise to transfer the good or service is separately identifiable from other promises in the contractual arrangement with the customer. Non-distinct goods and services are combined with other goods or services until they are distinct as a bundle and therefore form a single performance obligation.&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&amp;nbsp;&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;The consideration (including any discounts) is allocated between separate goods and services in a bundle on a relative basis based on their SSP. The SSP reflects the price we would charge for a specific product or service if it was sold separately in similar circumstances and to similar customers. Revenue is recognized net of any taxes collected from customers, which are subsequently remitted to governmental authorities. In addition to these general policies, the specific revenue recognition policies for each major category of revenue are included below.&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&amp;nbsp;&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&lt;div style="display: inline; text-decoration: underline;"&gt;License&lt;/div&gt;&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;Revenues for distinct licenses for on-premise or hosted software are derived from perpetual licenses granted to our customers for the right to use our software products. License revenues are billed on the effective date of a contract and revenue is recognized at the point in time when the customer is provided control of the respective software.&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&amp;nbsp;&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&lt;div style="display: inline; text-decoration: underline;"&gt;Services&lt;/div&gt;&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;Services, which allow customers to access hosted software over a contract term without taking possession of the software, is provided on a subscription and/or transactional fee basis. Revenues from hosted software subscriptions and maintenance are typically billed annually in advance and revenue is recognized on a ratable basis over the contract term beginning on the date that our service is made available to the customer. Transaction fees are typically billed and recognized as revenue on a monthly basis based on the customer usage for that period.&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&amp;nbsp;&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&lt;div style="display: inline; text-decoration: underline;"&gt;Professional Services &amp;amp; Other&lt;/div&gt;&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;Professional services are comprised of consulting, implementation and training services related to our services and products. These services are generally considered to be separate performance obligations as they provide incremental benefit to customers beyond providing access to the software. Professional services are typically billed on a time and materials basis and revenue is recognized over time as the services are performed. For professional services contracts billed on a fixed price basis, revenue is recognized over time based on the proportion of services performed. Revenue related to customer reimbursement of travel related expenses is recognized on a gross basis as incurred. Other revenues include hardware revenue and is generally billed, and revenue is recognized, when control of the product has transferred under the terms of an enforceable contract.&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&amp;nbsp;&lt;/div&gt;&lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&lt;div style="display: inline; font-weight: bold;"&gt;&lt;div style="display: inline; font-style: italic;"&gt;Costs to obtain a contract with a customer&lt;/div&gt;&lt;/div&gt;&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;We recognize an asset for the incremental costs of obtaining a contract with a customer if we expect the costs to be recoverable. We have determined that certain sales incentive programs meet the requirements to be capitalized. These capitalized costs are amortized consistent with the pattern of transfer to the customer for the goods and services to which the asset relates, including specifically identifiable contract renewals. The period of benefit including renewals is determined to be generally between &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;four&lt;/div&gt; to &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;six&lt;/div&gt; years, taking into consideration our customer contracts, our technology, renewal behaviors and other factors. Amortization of the asset is included in sales and marketing expenses in the consolidated statements of operations. Applying the practical expedient, we recognize the incremental costs of obtaining contracts as an expense when incurred if the amortization period of the assets that we otherwise would have recognized is &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;one&lt;/div&gt; year or less.&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&amp;nbsp;&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&lt;div style="display: inline; font-weight: bold;"&gt;&lt;div style="display: inline; font-style: italic;"&gt;Contract assets and liabilities&lt;/div&gt;&lt;/div&gt;&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&lt;div style="display: inline; color: black"&gt;The payment terms and conditions in our customer contracts &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt; may &lt;/div&gt;vary from the timing of revenue recognition. In some cases, customers pay in advance of delivery of products or services; in other cases, payment is due as services are performed or in arrears following delivery. Timing differences between revenue recognition and invoicing result in unbilled receivables, contract assets, or deferred revenue. Receivables are accrued when revenue is recognized prior to invoicing but the right to payment is unconditional (i.e., only the passage of time is required). This occurs most commonly when software term licenses recognized at a point in time are paid for periodically over the license term. Contract assets result when amounts allocated to distinct performance obligations are recognized when or as control of a product or service is transferred to the customer, but invoicing is contingent on performance of other performance obligations or on completion of contractual milestones and is presented as other receivables. Contract assets are transferred to receivables when the rights become unconditional, typically upon invoicing of the related performance obligations in the contract or upon achieving the requisite project milestone. &lt;/div&gt;Contract liabilities primarily relate to the advance consideration received from customers and is presented as deferred revenue. &lt;div style="display: inline; color: black"&gt;Deferred revenue results from customer payments in advance of our satisfaction of the associated performance obligation(s) and relates primarily to prepaid maintenance or other recurring services. Deferred revenues are relieved as revenue is recognized. Contract assets and deferred revenues are reported on a contract-by-contract basis at the end of each reporting period.&lt;/div&gt;&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&amp;nbsp;&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&lt;div style="display: inline; font-weight: bold;"&gt;&lt;div style="display: inline; font-style: italic;"&gt;Revenue judgments and estimates&lt;/div&gt;&lt;/div&gt;&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;Our contracts with customers often include promises to transfer multiple goods and services to a customer. Determining whether goods and services are considered distinct performance obligations that should be accounted for separately versus together &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt; may &lt;/div&gt;require judgment. Judgment is also needed in assessing the ability to collect the corresponding receivables.&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&amp;nbsp;&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;Significant judgment is required to determine the SSP for each distinct performance obligation, which is needed to determine whether there is a discount that needs to be allocated based on the relative SSP of the various goods and services. In order to determine the SSP of its promised goods or services, we conduct a regular analysis to determine whether various goods or services have an observable standalone selling price. If the Company does &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;not&lt;/div&gt; have an observable SSP for a particular good or service, then SSP for that particular good or service is estimated using reasonably available information and maximizing observable inputs with approaches including historical pricing, cost plus a margin, adjusted market assessment, and the residual approach.&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;</us-gaap:RevenueFromContractWithCustomerPolicyTextBlock>
  <us-gaap:RevenueFromContractWithCustomerTextBlock contextRef="d_2019-02-01_2020-01-31" id="s1506301">&lt;div style="display: inline; font-family: times new roman; font-size: 10pt"&gt;&lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&lt;div style="display: inline; font-weight: bold;"&gt;Note &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;19&lt;/div&gt; &amp;#x2013; Contract Balances, Performance Obligations and Contract Costs&lt;/div&gt;&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"&gt;&amp;nbsp;&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"&gt;&lt;div style="display: inline; text-decoration: underline;"&gt;Deferred Revenue&lt;/div&gt;&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"&gt;The following table presents the changes in the deferred revenue balance as follows:&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"&gt;&amp;nbsp;&lt;/div&gt; &lt;div&gt; &lt;table style="border-collapse: collapse; font: 10pt Times New Roman, Times, Serif; min-width: 700px;" cellspacing="0" cellpadding="0"&gt;  &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td style="padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;div style="display: inline; font-weight: bold;"&gt;Deferred Revenue&lt;/div&gt;&lt;/div&gt;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; white-space: nowrap; border-bottom: Black 1pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td style="width: 84%; text-indent: -0.5in; padding-left: 0.5in"&gt;Balance at January 31, 2018&lt;/td&gt; &lt;td style="width: 2%"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 1%; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 12%; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;32,113&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; width: 1%; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td style="text-align: left; padding-left: 15pt"&gt;Recognition of previously deferred revenue&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;(27,252&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;)&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td style="padding-left: 15pt"&gt;Deferral of revenue&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;29,423&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td style="text-align: left; padding-left: 15pt"&gt;Increases from business combinations, net&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;1,789&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td style="text-align: left; padding-bottom: 1pt; padding-left: 15pt"&gt;Effect of movements in foreign exchange&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;(982&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left"&gt;)&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td style="text-indent: -0.5in; padding-left: 0.5in"&gt;Balance at January 31, 2019&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;35,091&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td style="text-align: left; padding-left: 15pt"&gt;Recognition of previously deferred revenue&lt;/td&gt; &lt;td style="font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;(30,580&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; font-weight: bold; text-align: left"&gt;)&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td style="padding-left: 15pt"&gt;Deferral of revenue&lt;/td&gt; &lt;td style="font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;37,408&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td style="text-align: left; padding-left: 15pt"&gt;Increases from business combinations, net&lt;/td&gt; &lt;td style="font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;551&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td style="text-align: left; padding-bottom: 1pt; padding-left: 15pt"&gt;Effect of movements in foreign exchange&lt;/td&gt; &lt;td style="font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;(407&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; font-weight: bold; text-align: left"&gt;)&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td style="padding-bottom: 1pt; text-indent: -15pt; padding-left: 15pt"&gt;Balance at January 31, 2020&lt;/td&gt; &lt;td style="font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;42,063&lt;/div&gt;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; white-space: nowrap; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td style="padding-left: 15pt"&gt;Current&lt;/td&gt; &lt;td style="font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;41,143&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td style="padding-bottom: 1pt; padding-left: 15pt"&gt;Long-term&lt;/td&gt; &lt;td style="font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;920&lt;/div&gt;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; white-space: nowrap; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt;  &lt;/table&gt; &lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"&gt;&amp;nbsp;&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"&gt;&lt;div style="display: inline; text-decoration: underline;"&gt;Performance Obligations&lt;/div&gt;&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;As of &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt; January 31, 2020, &lt;/div&gt;approximately &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;$216.9&lt;/div&gt; million of revenue is expected to be recognized in the future related to performance obligations that are unsatisfied (or partially unsatisfied) at the end of the reporting period. We expect to recognize revenue on approximately &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;80%&lt;/div&gt; of these remaining performance obligations over the next &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;24&lt;/div&gt; months with the balance recognized thereafter.&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&amp;nbsp;&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&lt;div style="display: inline; text-decoration: underline;"&gt;Contract Assets&lt;/div&gt;&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"&gt;The following table presents the changes in the contract assets balance as follows:&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&amp;nbsp;&lt;/div&gt; &lt;div&gt; &lt;table cellpadding="0" cellspacing="0" style="border-collapse: collapse; font: 10pt Times New Roman, Times, Serif; min-width: 700px;"&gt;  &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td style="padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;div style="display: inline; font-weight: bold;"&gt;Contract Assets&lt;/div&gt;&lt;/div&gt;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; white-space: nowrap; border-bottom: Black 1pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td style="text-indent: -0.5in; padding-left: 0.5in"&gt;Balance at January 31, 2018&lt;/td&gt; &lt;td style="font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;&amp;#x2013;&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td style="width: 84%; text-align: left; padding-bottom: 1pt; padding-left: 15pt"&gt;Adjustment for adoption of ASC 606&lt;/td&gt; &lt;td style="width: 2%"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 1%; border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 12%; border-bottom: Black 1pt solid; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;495&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; width: 1%; border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td style="text-indent: -0.5in; padding-left: 0.5in"&gt;Balance at February 1, 2018&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;495&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td style="text-align: left; padding-left: 15pt"&gt;Transfers to trade receivables from contract assets&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;(266&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;)&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td style="text-align: left; padding-left: 15pt"&gt;Increases as a result of delivered term licenses recognized as revenue during the period, net of amounts transferred to trade receivables&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;606&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td style="text-align: left; padding-bottom: 1pt; padding-left: 15pt"&gt;Effect of movements in foreign exchange&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;(23&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left"&gt;)&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td style="text-indent: -0.5in; padding-left: 0.5in"&gt;Balance at January 31, 2019&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;812&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td style="text-align: left; padding-left: 15pt"&gt;Transfers to trade receivables from contract assets&lt;/td&gt; &lt;td style="font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;(490&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; font-weight: bold; text-align: left"&gt;)&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td style="text-align: left; padding-left: 15pt"&gt;Increases as a result of delivered term licenses recognized as revenue during the period, net of amounts transferred to trade receivables&lt;/td&gt; &lt;td style="font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;791&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td style="text-align: left; padding-bottom: 1pt; padding-left: 15pt"&gt;Effect of movements in foreign exchange&lt;/td&gt; &lt;td style="font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;(6&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; font-weight: bold; text-align: left"&gt;)&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td style="padding-bottom: 1pt; text-indent: -15pt; padding-left: 15pt"&gt;Balance at January 31, 2020&lt;/td&gt; &lt;td style="font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;1,107&lt;/div&gt;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; white-space: nowrap; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt;  &lt;/table&gt; &lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&amp;nbsp;&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&lt;/div&gt; &lt;!-- Field: Page; Sequence: 38 --&gt;   &lt;!-- Field: /Page --&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&amp;nbsp;&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&lt;div style="display: inline; text-decoration: underline;"&gt;Contract Costs&lt;/div&gt;&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;Capitalized contract costs net of accumulated amortization is &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;$9.8&lt;/div&gt; million at &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt; January 31, 2020 (&lt;/div&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;$7.3&lt;/div&gt; million at &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt; January 31, 2019). &lt;/div&gt;Capitalized contract costs are amortized consistent with the pattern of transfer to the customer for the goods and services to which the asset relates. &lt;div style="display: inline; color: black"&gt;The total contract cost amortization included in sales and marketing expenses was &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;$2.5&lt;/div&gt; million and &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;$1.8&lt;/div&gt; million for the years ended &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt; January 31, 2020 &lt;/div&gt;and &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt; January 31, 2019, &lt;/div&gt;respectively. There was &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;&lt;/div&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;no&lt;/div&gt; &lt;/div&gt;impairment loss in relation to the costs capitalized during the years ended &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt; January 31, 2020 &lt;/div&gt;and &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt; January 31, 2019, &lt;/div&gt;respectively.&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;</us-gaap:RevenueFromContractWithCustomerTextBlock>
  <us-gaap:RevenueRemainingPerformanceObligation contextRef="i_2020-01-31_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis-RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis.domain-2020-02-01" decimals="-3" id="c59150315" unitRef="iso4217-usd">216900000</us-gaap:RevenueRemainingPerformanceObligation>
  <us-gaap:RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1 contextRef="i_2020-01-31_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis-RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis.domain-2020-02-01" id="c59150317">P2Y</us-gaap:RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1>
  <us-gaap:RevenueRemainingPerformanceObligationPercentage contextRef="i_2020-01-31_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis-RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis.domain-2020-02-01" decimals="1" id="c59150316" unitRef="xbrli-pure">0.8</us-gaap:RevenueRemainingPerformanceObligationPercentage>
  <us-gaap:RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability contextRef="d_2019-02-01_2020-01-31" decimals="-3" id="c59149719" unitRef="iso4217-usd">6439000</us-gaap:RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability>
  <us-gaap:ScheduleOfAccountsNotesLoansAndFinancingReceivableTextBlock contextRef="d_2019-02-01_2020-01-31" id="c-6">&lt;div style="display: inline; font-family: times new roman; font-size: 10pt"&gt;&lt;table cellpadding="0" cellspacing="0" style="border-collapse: collapse; font: 10pt Times New Roman, Times, Serif; min-; min-width: 700px;"&gt; &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;div style="display: inline; font-weight: bold;"&gt;January 31,&lt;/div&gt;&lt;/div&gt;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; white-space: nowrap; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; text-align: right"&gt;&lt;div style="display: inline; font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;January 31,&lt;/div&gt;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td style="padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: right"&gt;2020&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;2019&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td style="width: 68%; text-align: left"&gt;Trade receivables&lt;/td&gt; &lt;td style="width: 2%; font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 1%; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 12%; font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;37,121&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; width: 1%; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 2%"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 1%; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 12%; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;33,350&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; width: 1%; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td style="text-align: left; padding-bottom: 1pt"&gt;Less: Allowance for doubtful accounts&lt;/td&gt; &lt;td style="font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;(2,003&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; font-weight: bold; text-align: left"&gt;)&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;(1,857&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left"&gt;)&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td style="padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;35,118&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;31,493&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;/table&gt;&lt;/div&gt;</us-gaap:ScheduleOfAccountsNotesLoansAndFinancingReceivableTextBlock>
  <us-gaap:ScheduleOfAccruedLiabilitiesTableTextBlock contextRef="d_2019-02-01_2020-01-31" id="c-11">&lt;div style="display: inline; font-family: times new roman; font-size: 10pt"&gt;&lt;table cellpadding="0" cellspacing="0" style="border-collapse: collapse; font: 10pt Times New Roman, Times, Serif; min-; min-width: 700px;"&gt; &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td style="text-align: right"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;div style="display: inline; font-weight: bold;"&gt;January 31,&lt;/div&gt;&lt;/div&gt;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; white-space: nowrap; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; text-align: right"&gt;&lt;div style="display: inline; font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;January 31,&lt;/div&gt;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td style="text-align: right; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: right"&gt;2020&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;2019&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td style="width: 68%; text-align: left"&gt;Accrued compensation and benefits&lt;/td&gt; &lt;td style="width: 2%; font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 1%; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 12%; font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;20,613&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; width: 1%; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 2%"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 1%; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 12%; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;16,771&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; width: 1%; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td style="text-align: left"&gt;Accrued professional fees&lt;/td&gt; &lt;td style="font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;1,010&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;1,137&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td style="text-align: left; padding-bottom: 1pt"&gt;Other accrued liabilities&lt;/td&gt; &lt;td style="font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;13,253&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;11,484&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td style="padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;34,876&lt;/div&gt;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; white-space: nowrap; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;29,392&lt;/div&gt;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;/table&gt;&lt;/div&gt;</us-gaap:ScheduleOfAccruedLiabilitiesTableTextBlock>
  <us-gaap:ScheduleOfAcquiredFiniteLivedIntangibleAssetsByMajorClassTextBlock contextRef="d_2019-02-01_2020-01-31" id="c-3">&lt;div style="display: inline; font-family: times new roman; font-size: 10pt"&gt;&lt;table cellpadding="0" cellspacing="0" style="border-collapse: collapse; font: 10pt Times New Roman, Times, Serif; min-; min-width: 700px;"&gt; &lt;tr style="vertical-align: bottom"&gt; &lt;td style="padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-weight: bold;"&gt;&amp;nbsp;&lt;/div&gt;&lt;div style="display: inline; font-weight: bold;"&gt;Visual &lt;br /&gt; Compliance &lt;br /&gt; (in years)&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold; border-bottom: Black 1pt solid"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-weight: bold;"&gt;&amp;nbsp;&lt;/div&gt;&lt;div style="display: inline; font-weight: bold;"&gt;&amp;nbsp;&lt;/div&gt;&lt;div style="display: inline; font-weight: bold;"&gt;CORE &lt;br /&gt; (in years)&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold; border-bottom: Black 1pt solid"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-weight: bold;"&gt;&amp;nbsp;&lt;/div&gt;&lt;div style="display: inline; font-weight: bold;"&gt;&amp;nbsp;&lt;/div&gt;&lt;div style="display: inline; font-weight: bold;"&gt;STEPcom&lt;br /&gt; (in years)&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold; border-bottom: Black 1pt solid"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-weight: bold;"&gt;&amp;nbsp;&lt;/div&gt;&lt;div style="display: inline; font-weight: bold;"&gt;Best &lt;br /&gt; Transport &lt;br /&gt; (in years)&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td style="width: 52%; text-align: left"&gt;&amp;nbsp;&amp;nbsp;Customer agreements and relationships&lt;/td&gt; &lt;td style="width: 1%"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 1%; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 9%; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;14&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; width: 1%; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 1%"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 1%; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 9%; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;13&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; width: 1%; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 1%"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 1%; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 9%; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;9&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; width: 1%; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 1%"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 1%; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 9%; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;12&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; width: 1%; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&amp;nbsp;Existing technology&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;7&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;6&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;N/A&lt;/div&gt;&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;6&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&amp;nbsp;Trade names&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;5&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;8&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;3&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;3&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&amp;nbsp;Non-compete covenants&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;5&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;5&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;3&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;2&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;/table&gt;&lt;/div&gt;&lt;div style="display: inline; font-family: times new roman; font-size: 10pt"&gt;&lt;table cellpadding="0" cellspacing="0" style="border-collapse: collapse; font: 10pt Times New Roman, Times, Serif; min-; min-width: 700px;"&gt; &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td style="padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;&lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: right"&gt;&lt;div style="display: inline; font-weight: bold;"&gt;Aljex &lt;br /&gt; (in years)&lt;/div&gt;&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold; border-bottom: Black 1pt solid"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;div style="display: inline; font-weight: bold;"&gt;Velocity Mail &lt;br /&gt; (in years)&lt;/div&gt;&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;&lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: right"&gt;&lt;div style="display: inline; font-weight: bold;"&gt;PinPoint &lt;br /&gt; (in years)&lt;/div&gt;&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td style="width: 55%; text-align: left"&gt;&amp;nbsp;&amp;nbsp;Customer agreements and relationships&lt;/td&gt; &lt;td style="width: 2%"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 1%; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 11%; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;13&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; width: 1%; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 2%"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 1%; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 11%; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;12&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; width: 1%; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 2%"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 1%; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 11%; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;9&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; width: 1%; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&amp;nbsp;Existing technology&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;5&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;5&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;N/A&lt;/div&gt;&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&amp;nbsp;Trade names&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;8&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;4&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;8&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&amp;nbsp;Non-compete covenants&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;5&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;5&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;5&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;/table&gt;&lt;/div&gt;&lt;div style="display: inline; font-family: times new roman; font-size: 10pt"&gt;&lt;table cellpadding="0" cellspacing="0" style="border-collapse: collapse; font: 10pt Times New Roman, Times, Serif; min-; min-width: 700px;"&gt; &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td style="padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: right"&gt;&lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: right"&gt;&lt;div style="display: inline; font-weight: bold;"&gt;ShipRush &lt;br /&gt; (in years)&lt;/div&gt;&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold; border-bottom: Black 1pt solid"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: right"&gt;&lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: right"&gt;&lt;div style="display: inline; font-weight: bold;"&gt;PCSTrac &lt;br /&gt; (in years)&lt;/div&gt;&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold; border-bottom: Black 1pt solid"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: right"&gt;&lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: right"&gt;&lt;div style="display: inline; font-weight: bold;"&gt;MacroPoint &lt;br /&gt; (in years)&lt;/div&gt;&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td style="width: 55%; text-align: left"&gt;&amp;nbsp;&amp;nbsp;Customer agreements and relationships&lt;/td&gt; &lt;td style="width: 2%"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 1%; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 11%; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;9&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; width: 1%; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 2%"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 1%; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 11%; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;13&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; width: 1%; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 2%"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 1%; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 11%; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;12&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; width: 1%; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&amp;nbsp;Existing technology&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;5&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;5&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;5&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&amp;nbsp;Trade names&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;8&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;4&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;8&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&amp;nbsp;Non-compete covenants&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;5&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;5&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;5&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;/table&gt;&lt;/div&gt;</us-gaap:ScheduleOfAcquiredFiniteLivedIntangibleAssetsByMajorClassTextBlock>
  <us-gaap:ScheduleOfBusinessAcquisitionsByAcquisitionTextBlock contextRef="d_2019-02-01_2020-01-31" id="c-2">&lt;div style="display: inline; font-family: times new roman; font-size: 10pt"&gt;&lt;table style="border-collapse: collapse; font: 10pt Times New Roman, Times, Serif; min-; min-width: 700px;" cellspacing="0" cellpadding="0"&gt; &lt;tr style="vertical-align: bottom"&gt; &lt;td style="padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;div style="display: inline; font-weight: bold;"&gt;Visual &lt;br /&gt; Compliance&lt;/div&gt;&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold; border-bottom: Black 1pt solid"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-weight: bold;"&gt;&amp;nbsp;&lt;/div&gt;&lt;div style="display: inline; font-weight: bold;"&gt;&amp;nbsp;&lt;/div&gt;&lt;div style="display: inline; font-weight: bold;"&gt;CORE&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold; border-bottom: Black 1pt solid"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-weight: bold;"&gt;&amp;nbsp;&lt;/div&gt;&lt;div style="display: inline; font-weight: bold;"&gt;STEP-&lt;br /&gt; com&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold; border-bottom: Black 1pt solid"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-weight: bold;"&gt;&amp;nbsp;&lt;/div&gt;&lt;div style="display: inline; font-weight: bold;"&gt;Best-&lt;br /&gt; Transport&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold; border-bottom: Black 1pt solid"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-weight: bold;"&gt;&amp;nbsp;&lt;/div&gt;&lt;div style="display: inline; font-weight: bold;"&gt;&amp;nbsp;&lt;/div&gt;&lt;div style="display: inline; font-weight: bold;"&gt;Total&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td&gt;Purchase price consideration:&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td style="width: 45%; text-align: left; padding-left: 12pt"&gt;Cash, less cash acquired related to Visual Compliance ($170), CORE ($213), STEPcom ($2,700) and BestTransport ($507)&lt;/td&gt; &lt;td style="width: 1%"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 1%; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 8%; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;239,863&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; width: 1%; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 1%"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 1%; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 8%; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;21,833&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; width: 1%; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 1%"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 1%; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 8%; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;18,639&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; width: 1%; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 1%"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 1%; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 8%; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;11,718&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; width: 1%; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 1%"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 1%; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 8%; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;292,053&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; width: 1%; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td style="padding-left: 12pt"&gt;Common shares issued&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;9,045&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;&amp;#x2013;&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;&amp;#x2013;&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;&amp;#x2013;&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;9,045&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td style="text-align: left; padding-left: 12pt"&gt;Contingent consideration&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;&amp;#x2013;&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;1,450&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;&amp;#x2013;&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;&amp;#x2013;&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;1,450&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td style="text-align: left; padding-bottom: 1pt; padding-left: 12pt"&gt;Net working capital adjustments payable / (receivable)&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;1,147&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;62&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;250&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;&amp;#x2013;&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;1,459&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td style="padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;250,055&lt;/div&gt;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;23,345&lt;/div&gt;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;18,889&lt;/div&gt;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;11,718&lt;/div&gt;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;304,007&lt;/div&gt;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td style="text-align: left"&gt;Allocated to:&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td style="text-align: left; padding-left: 12pt"&gt;Current assets, excluding cash acquired&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;6,403&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;689&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;1,470&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;815&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;9,377&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td style="text-align: left; padding-left: 12pt"&gt;Property and equipment&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;30&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;2,048&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;257&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;35&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;2,370&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td style="text-align: left; padding-left: 12pt"&gt;Deferred income tax asset&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;30,924&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;&amp;#x2013;&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;&amp;#x2013;&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;&amp;#x2013;&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;30,924&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td style="text-align: left; padding-left: 12pt"&gt;Right-of-use assets&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;1,188&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;68&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;232&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;194&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;1,682&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td style="text-align: left; padding-left: 12pt"&gt;Current liabilities&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;(840&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;)&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;(352&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;)&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;(874&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;)&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;(284&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;)&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;(2,350&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;)&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td style="text-align: left; padding-left: 12pt"&gt;Deferred revenue&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;(10,267&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;)&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;(278&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;)&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;(813&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;)&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;(9&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;)&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;(11,367&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;)&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td style="text-align: left; padding-left: 12pt"&gt;Lease obligations&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;(1,188&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;)&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;(68&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;)&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;(232&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;)&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;(194&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;)&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;(1,682&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;)&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td style="text-align: left; padding-bottom: 1pt; padding-left: 12pt"&gt;Deferred income tax liability&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;(282&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left"&gt;)&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;(3,332&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left"&gt;)&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;(2,316&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left"&gt;)&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;(1,352&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left"&gt;)&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;(7,282&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left"&gt;)&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td style="text-align: left; padding-bottom: 1pt"&gt;Net tangible assets (liabilities) assumed&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;25,968&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;(1,225&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left"&gt;)&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;(2,276&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left"&gt;)&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;(795&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left"&gt;)&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;21,672&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td style="text-align: left"&gt;Finite life intangible assets acquired:&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td style="text-align: left; padding-left: 10pt"&gt;Customer agreements and relationships&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;32,186&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;4,600&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;10,839&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;3,000&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;50,625&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td style="text-align: left; padding-left: 10pt"&gt;Existing technology&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;69,422&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;6,800&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;&amp;#x2013;&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;3,800&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;80,022&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td style="text-align: left; padding-left: 10pt"&gt;Trade names&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;528&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;200&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;102&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;50&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;880&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td style="text-align: left; padding-left: 10pt"&gt;Non-compete covenants&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;3,166&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;300&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;205&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;150&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;3,821&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td style="padding-bottom: 1pt"&gt;Goodwill&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;118,785&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;12,670&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;10,019&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;5,513&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;146,987&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td style="padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;250,055&lt;/div&gt;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;23,345&lt;/div&gt;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;18,889&lt;/div&gt;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;11,718&lt;/div&gt;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;304,007&lt;/div&gt;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;/table&gt;&lt;/div&gt;&lt;div style="display: inline; font-family: times new roman; font-size: 10pt"&gt;&lt;table cellpadding="0" cellspacing="0" style="border-collapse: collapse; font: 10pt Times New Roman, Times, Serif; min-; min-width: 700px;"&gt; &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td style="padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold"&gt;&lt;div style="display: inline; font-style: italic;"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;div style="display: inline; font-weight: bold;"&gt;Aljex&lt;/div&gt;&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold; border-bottom: Black 1pt solid"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;div style="display: inline; font-weight: bold;"&gt;Velocity Mail&lt;/div&gt;&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;&lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 3pt 0pt 0; text-align: right"&gt;&lt;div style="display: inline; font-weight: bold;"&gt;&amp;nbsp;&lt;/div&gt;&lt;/div&gt;&lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 3pt 0pt 0; text-align: right"&gt;&lt;div style="display: inline; font-weight: bold;"&gt;PinPoint&lt;/div&gt;&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold; border-bottom: Black 1pt solid"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;div style="display: inline; font-weight: bold;"&gt;Total&lt;/div&gt;&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td&gt;Purchase price consideration:&lt;/td&gt; &lt;td&gt;&lt;div style="display: inline; font-style: italic;"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td style="width: 52%; text-align: left; padding-left: 12pt"&gt;Cash, less cash acquired related to Aljex ($193), Velocity Mail (nil) and PinPoint ($769)&lt;/td&gt; &lt;td style="width: 1%"&gt;&lt;div style="display: inline; font-style: italic;"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;td style="width: 1%; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 9%; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;32,382&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; width: 1%; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 1%"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 1%; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 9%; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;26,107&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; width: 1%; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 1%"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 1%; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 9%; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;9,443&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; width: 1%; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 1%"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 1%; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 9%; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;67,932&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; width: 1%; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td style="padding-left: 12pt"&gt;Common shares issued&lt;/td&gt; &lt;td&gt;&lt;div style="display: inline; font-style: italic;"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;&amp;#x2013;&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;&amp;#x2013;&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;1,536&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;1,536&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td style="text-align: left; padding-left: 12pt"&gt;Contingent consideration&lt;/td&gt; &lt;td&gt;&lt;div style="display: inline; font-style: italic;"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;&amp;#x2013;&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;&amp;#x2013;&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;714&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;714&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td style="text-align: left; padding-bottom: 1pt; padding-left: 12pt"&gt;Net working capital adjustments (receivable) / payable&lt;/td&gt; &lt;td&gt;&lt;div style="display: inline; font-style: italic;"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;(152&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left"&gt;)&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;(102&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left"&gt;)&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;36&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;(218&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left"&gt;)&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td style="padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&lt;div style="display: inline; font-style: italic;"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;32,230&lt;/div&gt;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;26,005&lt;/div&gt;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;11,729&lt;/div&gt;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;69,964&lt;/div&gt;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td style="text-align: left"&gt;Allocated to:&lt;/td&gt; &lt;td&gt;&lt;div style="display: inline; font-style: italic;"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td style="text-align: left; padding-left: 12pt"&gt;Current assets, excluding cash acquired&lt;/td&gt; &lt;td&gt;&lt;div style="display: inline; font-style: italic;"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;607&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;1,407&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;599&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;2,613&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td style="text-align: left; padding-left: 12pt"&gt;Other long-term assets&lt;/td&gt; &lt;td&gt;&lt;div style="display: inline; font-style: italic;"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;&amp;#x2013;&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;501&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;&amp;#x2013;&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;501&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td style="text-align: left; padding-left: 12pt"&gt;Current liabilities&lt;/td&gt; &lt;td&gt;&lt;div style="display: inline; font-style: italic;"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;(266&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;)&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;(81&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;)&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;(559&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;)&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;(906&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;)&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td style="text-align: left; padding-left: 12pt"&gt;Deferred revenue&lt;/td&gt; &lt;td&gt;&lt;div style="display: inline; font-style: italic;"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;(1,024&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;)&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;(70&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;)&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;(574&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;)&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;(1,668&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;)&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td style="text-align: left; padding-bottom: 1pt; padding-left: 12pt"&gt;Deferred income tax liability&lt;/td&gt; &lt;td&gt;&lt;div style="display: inline; font-style: italic;"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;(4,200&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left"&gt;)&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;&amp;#x2013;&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;(2,077&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left"&gt;)&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;(6,277&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left"&gt;)&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td style="text-align: left"&gt;Net tangible (liabilities) assets assumed&lt;/td&gt; &lt;td&gt;&lt;div style="display: inline; font-style: italic;"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;(4,883&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;)&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;1,757&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;(2,611&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;)&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;(5,737&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;)&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;Finite life intangible assets acquired:&lt;/td&gt; &lt;td&gt;&lt;div style="display: inline; font-style: italic;"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td style="text-align: left; padding-left: 13.45pt"&gt;Customer agreements and relationships&lt;/td&gt; &lt;td&gt;&lt;div style="display: inline; font-style: italic;"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;5,300&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;7,800&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;7,758&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;20,858&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td style="text-align: left; padding-left: 13.45pt"&gt;Existing technology&lt;/td&gt; &lt;td&gt;&lt;div style="display: inline; font-style: italic;"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;12,400&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;7,600&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;&amp;#x2013;&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;20,000&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td style="padding-left: 13.45pt"&gt;Tradenames&lt;/td&gt; &lt;td&gt;&lt;div style="display: inline; font-style: italic;"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;280&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;100&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;207&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;587&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td style="text-align: left; padding-left: 13.45pt"&gt;Non-compete covenants&lt;/td&gt; &lt;td&gt;&lt;div style="display: inline; font-style: italic;"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;230&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;300&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;69&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;599&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td style="padding-bottom: 1pt"&gt;Goodwill&lt;/td&gt; &lt;td&gt;&lt;div style="display: inline; font-style: italic;"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;18,903&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;8,448&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;6,306&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;33,657&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td style="padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&lt;div style="display: inline; font-style: italic;"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;32,230&lt;/div&gt;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;26,005&lt;/div&gt;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;11,729&lt;/div&gt;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;69,964&lt;/div&gt;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;/table&gt;&lt;/div&gt;&lt;div style="display: inline; font-family: times new roman; font-size: 10pt"&gt;&lt;table cellpadding="0" cellspacing="0" style="border-collapse: collapse; font: 10pt Times New Roman, Times, Serif; min-; min-width: 700px;"&gt; &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td style="padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-weight: bold;"&gt;ShipRush&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold; border-bottom: Black 1pt solid"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;div style="display: inline; font-weight: bold;"&gt;PCSTrac&lt;/div&gt;&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold; border-bottom: Black 1pt solid"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;div style="display: inline; font-weight: bold;"&gt;MacroPoint&lt;/div&gt;&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold; border-bottom: Black 1pt solid"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;div style="display: inline; font-weight: bold;"&gt;Total&lt;/div&gt;&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td&gt;Purchase price consideration:&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td style="width: 52%; text-align: left; padding-left: 12pt"&gt;Cash, less cash acquired related to ShipRush ($253), PCSTrac (nil) and MacroPoint ($2,098)&lt;/td&gt; &lt;td style="width: 1%"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 1%; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 9%; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;14,198&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; width: 1%; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 1%"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 1%; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 9%; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;11,492&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; width: 1%; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 1%"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 1%; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 9%; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;86,177&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; width: 1%; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 1%"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 1%; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 9%; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;111,867&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; width: 1%; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td style="padding-left: 12pt"&gt;Common shares issued&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;&amp;#x2013;&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;&amp;#x2013;&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;20,000&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;20,000&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td style="text-align: left; padding-left: 12pt"&gt;Contingent consideration&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;1,233&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;&amp;#x2013;&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;&amp;#x2013;&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;1,233&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td style="text-align: left; padding-bottom: 1pt; padding-left: 12pt"&gt;Net working capital adjustments payable&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;88&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;40&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;163&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;291&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td style="padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;15,519&lt;/div&gt;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;11,532&lt;/div&gt;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;106,340&lt;/div&gt;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;133,391&lt;/div&gt;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td style="text-align: left"&gt;Allocated to:&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td style="text-align: left; padding-left: 12pt"&gt;Current assets, excluding cash acquired&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;461&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;467&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;2,127&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;3,055&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td style="text-align: left; padding-left: 12pt"&gt;Current liabilities&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;(266&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;)&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;(10&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;)&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;(1,693&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;)&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;(1,969&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;)&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td style="text-align: left; padding-bottom: 1pt; padding-left: 12pt"&gt;Deferred revenue&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;(609&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left"&gt;)&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;&amp;#x2013;&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;(5,787&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left"&gt;)&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;(6,396&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left"&gt;)&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td style="text-align: left"&gt;Net tangible (liabilities) assets assumed&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;(414&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;)&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;457&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;(5,353&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;)&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;(5,310&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;)&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;Finite life intangible assets acquired:&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td style="text-align: left; padding-left: 13.45pt"&gt;Customer agreements and relationships&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;2,400&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;1,850&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;26,030&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;30,280&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td style="text-align: left; padding-left: 13.45pt"&gt;Existing technology&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;4,710&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;3,270&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;17,170&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;25,150&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td style="text-align: left; padding-left: 13.45pt"&gt;In-process research and development&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;&amp;#x2013;&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;&amp;#x2013;&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;290&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;290&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td style="padding-left: 13.45pt"&gt;Tradenames&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;120&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;60&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;570&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;750&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td style="text-align: left; padding-left: 13.45pt"&gt;Non-compete covenants&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;100&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;80&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;2,420&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;2,600&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td style="padding-bottom: 1pt"&gt;Goodwill&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;8,603&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;5,815&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;65,213&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;79,631&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td style="padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;15,519&lt;/div&gt;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;11,532&lt;/div&gt;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;106,340&lt;/div&gt;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;133,391&lt;/div&gt;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;/table&gt;&lt;/div&gt;</us-gaap:ScheduleOfBusinessAcquisitionsByAcquisitionTextBlock>
  <us-gaap:ScheduleOfCashFlowSupplementalDisclosuresTableTextBlock contextRef="d_2019-02-01_2020-01-31" id="c-34">&lt;div style="display: inline; font-family: times new roman; font-size: 10pt"&gt;&lt;table style="border-collapse: collapse; font: 10pt Times New Roman, Times, Serif; min-; min-width: 700px;" cellspacing="0" cellpadding="0"&gt; &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td style="font-style: italic"&gt;Year Ended&lt;/td&gt; &lt;td style="font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;div style="display: inline; font-weight: bold;"&gt;January 31,&lt;/div&gt;&lt;/div&gt;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; white-space: nowrap; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; text-align: right"&gt;&lt;div style="display: inline; font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;January 31,&lt;/div&gt;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; text-align: right"&gt;&lt;div style="display: inline; font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;January 31,&lt;/div&gt;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td style="padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: right"&gt;2020&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;2019&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;2018&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td style="width: 55%; text-align: left"&gt;Trade accounts receivable&lt;/td&gt; &lt;td style="width: 2%; font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 1%; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 11%; font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;3,733&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; width: 1%; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 2%"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 1%; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 11%; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;(135&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; width: 1%; text-align: left"&gt;)&lt;/td&gt; &lt;td style="width: 2%"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 1%; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 11%; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;(1,963&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; width: 1%; text-align: left"&gt;)&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td style="text-align: left"&gt;Other accounts receivable&lt;/td&gt; &lt;td style="font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;(2,547&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; font-weight: bold; text-align: left"&gt;)&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;(451&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;)&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;16&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td style="text-align: left"&gt;Prepaid expenses and other&lt;/td&gt; &lt;td style="font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;(5,942&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; font-weight: bold; text-align: left"&gt;)&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;(4,466&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;)&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;(1,772&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;)&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td&gt;Inventory&lt;/td&gt; &lt;td style="font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;(345&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; font-weight: bold; text-align: left"&gt;)&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;74&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;52&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td style="text-align: left"&gt;Accounts payable&lt;/td&gt; &lt;td style="font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;1,768&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;(1,065&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;)&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;1,428&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td style="text-align: left"&gt;Accrued liabilities&lt;/td&gt; &lt;td style="font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;3,265&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;2,570&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;(592&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;)&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td style="text-align: left"&gt;Income taxes payable&lt;/td&gt; &lt;td style="font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;(1,550&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; font-weight: bold; text-align: left"&gt;)&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;(2,423&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;)&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;6,326&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td style="text-align: left"&gt;Operating leases&lt;/td&gt; &lt;td style="font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;546&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;&amp;#x2013;&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;&amp;#x2013;&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td style="text-align: left; padding-bottom: 1pt"&gt;Deferred revenue&lt;/td&gt; &lt;td style="font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;(4,184&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; font-weight: bold; text-align: left"&gt;)&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;2,047&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;902&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td style="padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;(5,256&lt;/div&gt;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; white-space: nowrap; font-weight: bold; text-align: left"&gt;)&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;(3,849&lt;/div&gt;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; white-space: nowrap; text-align: left"&gt;)&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;4,397&lt;/div&gt;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;/table&gt;&lt;/div&gt;</us-gaap:ScheduleOfCashFlowSupplementalDisclosuresTableTextBlock>
  <us-gaap:ScheduleOfCommonStockOutstandingRollForwardTableTextBlock contextRef="d_2019-02-01_2020-01-31" id="c-16">&lt;div style="display: inline; font-family: times new roman; font-size: 10pt"&gt;&lt;table cellpadding="0" cellspacing="0" style="border-collapse: collapse; font: 10pt Times New Roman, Times, Serif; min-; min-width: 700px;"&gt; &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;div style="display: inline; font-weight: bold;"&gt;January 31,&lt;/div&gt;&lt;/div&gt;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; white-space: nowrap; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; text-align: right"&gt;&lt;div style="display: inline; font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;January 31,&lt;/div&gt;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; text-align: right"&gt;&lt;div style="display: inline; font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;January 31,&lt;/div&gt;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td style="font-style: italic; padding-bottom: 1pt"&gt;(thousands of shares)&lt;/td&gt; &lt;td style="font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: right"&gt;2020&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;2019&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;2018&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td style="width: 58%; text-align: left"&gt;Balance, beginning of year&lt;/td&gt; &lt;td style="width: 2%; font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 1%; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 10%; font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;76,865&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; width: 1%; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 2%"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 1%; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 10%; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;76,773&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; width: 1%; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 2%"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 1%; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 10%; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;75,875&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; width: 1%; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td style="padding-left: 12pt"&gt;Shares issued:&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td style="text-align: left; padding-left: 16.5pt"&gt;Stock options and share units exercised&lt;/td&gt; &lt;td style="font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;95&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;46&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;141&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td style="padding-left: 16.5pt"&gt;Issuance of common shares&lt;/td&gt; &lt;td style="font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;6,900&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;&amp;#x2013;&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;&amp;#x2013;&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td style="text-align: left; padding-bottom: 1pt; padding-left: 16.5pt"&gt;Acquisitions (Note 3)&lt;/td&gt; &lt;td style="font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;296&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;46&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;757&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td style="text-align: left; padding-bottom: 1pt"&gt;Balance, end of year&lt;/td&gt; &lt;td style="font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;84,156&lt;/div&gt;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; white-space: nowrap; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;76,865&lt;/div&gt;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;76,773&lt;/div&gt;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;/table&gt;&lt;/div&gt;</us-gaap:ScheduleOfCommonStockOutstandingRollForwardTableTextBlock>
  <us-gaap:ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock contextRef="d_2019-02-01_2020-01-31" id="c-27">&lt;div style="display: inline; font-family: times new roman; font-size: 10pt"&gt;&lt;table cellpadding="0" cellspacing="0" style="border-collapse: collapse; font: 10pt Times New Roman, Times, Serif; min-; min-width: 700px;"&gt; &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td style="font-style: italic"&gt;Year Ended&lt;/td&gt; &lt;td style="font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;div style="display: inline; font-weight: bold;"&gt;January 31,&lt;/div&gt;&lt;/div&gt;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; white-space: nowrap; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; text-align: right"&gt;&lt;div style="display: inline; font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;January 31,&lt;/div&gt;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; text-align: right"&gt;&lt;div style="display: inline; font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;January 31,&lt;/div&gt;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td style="padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: right"&gt;2020&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;2019&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;2018&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td style="text-align: left"&gt;Current income tax expense&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td style="width: 55%; padding-left: 12pt"&gt;Canada&lt;/td&gt; &lt;td style="width: 2%; font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 1%; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 11%; font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;1,020&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; width: 1%; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 2%"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 1%; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 11%; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;3,037&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; width: 1%; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 2%"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 1%; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 11%; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;1,243&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; width: 1%; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td style="text-align: left; padding-left: 12pt"&gt;United States&lt;/td&gt; &lt;td style="font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;3,496&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;1,298&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;494&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td style="text-align: left; padding-bottom: 1pt; padding-left: 12pt"&gt;Other countries&lt;/td&gt; &lt;td style="font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;779&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;1,707&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;4,835&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td style="padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;5,295&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;6,042&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;6,572&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td style="text-align: left"&gt;Deferred income tax expense (recovery)&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td style="padding-left: 12pt"&gt;Canada&lt;/td&gt; &lt;td style="font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;5,008&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;2,531&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;2,051&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td style="text-align: left; padding-left: 12pt"&gt;United States&lt;/td&gt; &lt;td style="font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;1,390&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;67&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;1,876&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td style="text-align: left; padding-bottom: 1pt; padding-left: 12pt"&gt;Other countries&lt;/td&gt; &lt;td style="font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;(655&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; font-weight: bold; text-align: left"&gt;)&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;(407&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left"&gt;)&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;(2,630&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left"&gt;)&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td style="padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;5,743&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;2,191&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;1,297&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td style="padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;11,038&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;8,233&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;7,869&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;/table&gt;&lt;/div&gt;</us-gaap:ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock>
  <us-gaap:ScheduleOfDebtInstrumentsTextBlock contextRef="d_2019-02-01_2020-01-31" id="c-12">&lt;div style="display: inline; font-family: times new roman; font-size: 10pt"&gt;&lt;table cellpadding="0" cellspacing="0" style="border-collapse: collapse; font: 10pt Times New Roman, Times, Serif; min-; min-width: 700px;"&gt; &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td style="text-align: right"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;div style="display: inline; font-weight: bold;"&gt;January 31,&lt;/div&gt;&lt;/div&gt;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; white-space: nowrap; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; text-align: right"&gt;&lt;div style="display: inline; font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;January 31,&lt;/div&gt;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td style="text-align: right; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: right"&gt;2020&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;2019&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td style="width: 68%; text-align: left; padding-bottom: 1pt"&gt;Credit facility&lt;/td&gt; &lt;td style="width: 2%; font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 1%; border-bottom: Black 1pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 12%; border-bottom: Black 1pt solid; font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;&amp;#x2013;&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; width: 1%; border-bottom: Black 1pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 2%; border-bottom: Black 1pt solid"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 1%; border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 12%; border-bottom: Black 1pt solid; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;25,464&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; width: 1%; border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td style="text-align: left; padding-bottom: 1pt"&gt;Available for use&lt;/td&gt; &lt;td style="font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;350,000&lt;/div&gt;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; white-space: nowrap; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;324,536&lt;/div&gt;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;/table&gt;&lt;/div&gt;</us-gaap:ScheduleOfDebtInstrumentsTextBlock>
  <us-gaap:ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock contextRef="d_2019-02-01_2020-01-31" id="c-28">&lt;div style="display: inline; font-family: times new roman; font-size: 10pt"&gt;&lt;table cellpadding="0" cellspacing="0" style="border-collapse: collapse; font: 10pt Times New Roman, Times, Serif; min-; min-width: 700px;"&gt; &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;div style="display: inline; font-weight: bold;"&gt;January 31,&lt;/div&gt;&lt;/div&gt;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; white-space: nowrap; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; text-align: right"&gt;&lt;div style="display: inline; font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;January 31,&lt;/div&gt;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td style="padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: right"&gt;2020&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;2019&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td&gt;Assets&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td style="width: 68%; text-align: left; padding-left: 12pt"&gt;Accrued liabilities not currently deductible&lt;/td&gt; &lt;td style="width: 2%; font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 1%; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 12%; font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;14,838&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; width: 1%; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 2%"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 1%; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 12%; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;11,483&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; width: 1%; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td style="text-align: left; padding-left: 12pt"&gt;Accumulated net operating losses&lt;/td&gt; &lt;td style="font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;10,579&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;11,081&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td style="text-align: left; padding-left: 12pt"&gt;Difference between tax and accounting basis of property and equipment&lt;/td&gt; &lt;td style="font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;33,929&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;&amp;#x2013;&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td style="text-align: left; padding-bottom: 1pt; padding-left: 12pt"&gt;Research and development and other tax credits and expenses&lt;/td&gt; &lt;td style="font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;756&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;911&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td style="text-align: left"&gt;Total deferred income tax assets&lt;/td&gt; &lt;td style="font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;60,102&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;23,475&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td&gt;Liabilities&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td style="text-align: left; padding-left: 12pt"&gt;Difference between tax and accounting basis of intangible assets&lt;/td&gt; &lt;td style="font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;(41,381&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; font-weight: bold; text-align: left"&gt;)&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;(23,974&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;)&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td style="text-align: left; padding-left: 12.7pt"&gt;Difference between tax and accounting basis of property and equipment&lt;/td&gt; &lt;td style="font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;&amp;#x2013;&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;(909&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;)&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td style="text-align: left; padding-bottom: 1pt; padding-left: 12.7pt"&gt;Other temporary differences&lt;/td&gt; &lt;td style="font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;(1,716&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; font-weight: bold; text-align: left"&gt;)&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;(574&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left"&gt;)&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td style="text-align: left; padding-bottom: 1pt"&gt;Total deferred income tax liabilities&lt;/td&gt; &lt;td style="font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;(43,097&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; font-weight: bold; text-align: left"&gt;)&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;(25,457&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left"&gt;)&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td style="text-align: left"&gt;Net deferred income taxes&lt;/td&gt; &lt;td style="font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;17,005&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;(1,982&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;)&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td style="text-align: left; padding-bottom: 1pt; padding-left: 12pt"&gt;Valuation allowance&lt;/td&gt; &lt;td style="font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;(10,470&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; font-weight: bold; text-align: left"&gt;)&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;(9,927&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left"&gt;)&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td style="text-align: left; padding-bottom: 1pt"&gt;Net deferred income taxes, net of valuation allowance&lt;/td&gt; &lt;td style="font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;6,535&lt;/div&gt;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; white-space: nowrap; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;(11,909&lt;/div&gt;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; white-space: nowrap; text-align: left"&gt;)&lt;/td&gt; &lt;/tr&gt; &lt;/table&gt;&lt;/div&gt;</us-gaap:ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock>
  <us-gaap:ScheduleOfDerivativeAssetsAtFairValueTableTextBlock contextRef="d_2019-02-01_2020-01-31" id="c-5">&lt;div style="display: inline; font-family: times new roman; font-size: 10pt"&gt;&lt;table cellpadding="0" cellspacing="0" style="border-collapse: collapse; font: 10pt Times New Roman, Times, Serif; min-; min-width: 700px;"&gt; &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td style="padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;div style="display: inline; font-weight: bold;"&gt;Fair Value of Derivatives Designated as Hedge Instruments&lt;/div&gt;&lt;/div&gt;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; white-space: nowrap; border-bottom: Black 1pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; font-weight: bold; border-bottom: Black 1pt solid"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;div style="display: inline; font-weight: bold;"&gt;Fair Value of Derivatives Not Designated As Hedge Instruments&lt;/div&gt;&lt;/div&gt;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; white-space: nowrap; border-bottom: Black 1pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; font-weight: bold; border-bottom: Black 1pt solid"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;div style="display: inline; font-weight: bold;"&gt;Fair Value&lt;/div&gt;&lt;/div&gt;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; white-space: nowrap; border-bottom: Black 1pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td style="text-align: left"&gt;Derivative assets:&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td style="width: 55%; text-align: left; padding-bottom: 1pt"&gt;Equity contracts&lt;/td&gt; &lt;td style="width: 2%; font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; width: 1%; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; width: 11%; font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;&amp;#x2013;&lt;/div&gt;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; white-space: nowrap; width: 1%; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; width: 2%; font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; width: 1%; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; width: 11%; font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;5,656&lt;/div&gt;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; white-space: nowrap; width: 1%; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; width: 2%; font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; width: 1%; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; width: 11%; font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;5,656&lt;/div&gt;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; white-space: nowrap; width: 1%; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;/table&gt;&lt;/div&gt;&lt;div style="display: inline; font-family: times new roman; font-size: 10pt"&gt;&lt;table cellpadding="0" cellspacing="0" style="border-collapse: collapse; font: 10pt Times New Roman, Times, Serif; min-; min-width: 700px;"&gt; &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td style="padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;div style="display: inline; font-weight: bold;"&gt;Fair Value of Derivatives Designated as Hedge Instruments&lt;/div&gt;&lt;/div&gt;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; white-space: nowrap; border-bottom: Black 1pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; font-weight: bold; border-bottom: Black 1pt solid"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;div style="display: inline; font-weight: bold;"&gt;Fair Value of Derivatives Not Designated As Hedge Instruments&lt;/div&gt;&lt;/div&gt;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; white-space: nowrap; border-bottom: Black 1pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; font-weight: bold; border-bottom: Black 1pt solid"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;div style="display: inline; font-weight: bold;"&gt;Fair Value&lt;/div&gt;&lt;/div&gt;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; white-space: nowrap; border-bottom: Black 1pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td style="text-align: left"&gt;Derivative assets:&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td style="width: 55%; text-align: left; padding-bottom: 1pt"&gt;Equity contracts&lt;/td&gt; &lt;td style="width: 2%; font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; width: 1%; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; width: 11%; font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;&amp;#x2013;&lt;/div&gt;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; white-space: nowrap; width: 1%; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; width: 2%"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; width: 1%; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; width: 11%; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;2,794&lt;/div&gt;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; white-space: nowrap; width: 1%; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; width: 2%"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; width: 1%; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; width: 11%; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;2,794&lt;/div&gt;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; white-space: nowrap; width: 1%; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;/table&gt;&lt;/div&gt;</us-gaap:ScheduleOfDerivativeAssetsAtFairValueTableTextBlock>
  <us-gaap:ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock contextRef="d_2019-02-01_2020-01-31" id="c-17">&lt;div style="display: inline; font-family: times new roman; font-size: 10pt"&gt;&lt;table cellpadding="0" cellspacing="0" style="border-collapse: collapse; font: 10pt Times New Roman, Times, Serif; min-; min-width: 700px;"&gt; &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td style="font-style: italic; padding-bottom: 1pt"&gt;Year Ended&lt;/td&gt; &lt;td style="font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;div style="display: inline; font-weight: bold;"&gt;January 31, 2020&lt;/div&gt;&lt;/div&gt;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; white-space: nowrap; border-bottom: Black 1pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; text-align: right"&gt;&lt;div style="display: inline; font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;January 31, 2019&lt;/div&gt;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; white-space: nowrap; border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; text-align: right"&gt;&lt;div style="display: inline; font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;January 31, 2018&lt;/div&gt;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; white-space: nowrap; border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td style="width: 58%; text-align: left; padding-bottom: 1pt"&gt;Net income for purposes of calculating basic and diluted earnings per share&lt;/td&gt; &lt;td style="width: 2%; font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 1%; border-bottom: Black 1pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 10%; border-bottom: Black 1pt solid; font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;36,997&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; width: 1%; border-bottom: Black 1pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 2%; border-bottom: Black 1pt solid"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 1%; border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 10%; border-bottom: Black 1pt solid; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;31,277&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; width: 1%; border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 2%; border-bottom: Black 1pt solid"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 1%; border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 10%; border-bottom: Black 1pt solid; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;26,879&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; width: 1%; border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td&gt;Weighted average shares outstanding&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;81,659&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;76,832&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;76,324&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td style="text-align: left"&gt;Dilutive effect of employee stock options&lt;/td&gt; &lt;td style="font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;318&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;205&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;167&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td style="text-align: left; padding-bottom: 1pt"&gt;Dilutive effect of restricted and performance share units&lt;/td&gt; &lt;td style="font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;890&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;754&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;621&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td style="text-align: left; padding-bottom: 1pt"&gt;Weighted average common and common equivalent shares outstanding&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;82,867&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;77,791&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;77,112&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td&gt;Earnings per share&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td style="padding-left: 12pt"&gt;Basic&lt;/td&gt; &lt;td style="font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;0.45&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;0.41&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;0.35&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td style="padding-bottom: 1pt; padding-left: 12pt"&gt;Diluted&lt;/td&gt; &lt;td style="font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;0.45&lt;/div&gt;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; white-space: nowrap; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;0.40&lt;/div&gt;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;0.35&lt;/div&gt;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;/table&gt;&lt;/div&gt;</us-gaap:ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock>
  <us-gaap:ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock contextRef="d_2019-02-01_2020-01-31" id="c-29">&lt;div style="display: inline; font-family: times new roman; font-size: 10pt"&gt;&lt;table cellpadding="0" cellspacing="0" style="border-collapse: collapse; font: 10pt Times New Roman, Times, Serif; min-; min-width: 700px;"&gt; &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td style="font-style: italic"&gt;Year Ended&lt;/td&gt; &lt;td style="font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;div style="display: inline; font-weight: bold;"&gt;January 31,&lt;/div&gt;&lt;/div&gt;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; white-space: nowrap; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; text-align: right"&gt;&lt;div style="display: inline; font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;January 31,&lt;/div&gt;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; text-align: right"&gt;&lt;div style="display: inline; font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;January 31,&lt;/div&gt;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td style="padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: right"&gt;2020&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;2019&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;2018&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td style="width: 55%; text-align: left"&gt;Income before income taxes&lt;/td&gt; &lt;td style="width: 2%; font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 1%; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 11%; font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;48,033&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; width: 1%; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 2%"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 1%; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 11%; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;39,510&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; width: 1%; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 2%"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 1%; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 11%; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;34,748&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; width: 1%; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td style="text-align: left"&gt;Combined basic Canadian statutory rates&lt;/td&gt; &lt;td style="font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;26.5&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; font-weight: bold; text-align: left"&gt;%&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;26.5&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;%&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;26.5&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;%&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td style="text-align: left"&gt;Income tax expense based on the above rates&lt;/td&gt; &lt;td style="font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;12,729&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;10,470&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;9,207&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td style="text-align: left"&gt;Increase (decrease) in income taxes resulting from:&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td style="text-align: left; padding-left: 12pt"&gt;Permanent differences including amortization of intangible assets&lt;/td&gt; &lt;td style="font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;(673&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; font-weight: bold; text-align: left"&gt;)&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;(133&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;)&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;(1,870&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;)&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td style="text-align: left; padding-left: 12pt"&gt;Effect of differences between Canadian and foreign tax rates&lt;/td&gt; &lt;td style="font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;(274&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; font-weight: bold; text-align: left"&gt;)&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;(172&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;)&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;595&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td style="text-align: left; padding-left: 12pt"&gt;Effect of rate changes on current year timing differences&lt;/td&gt; &lt;td style="font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;(609&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; font-weight: bold; text-align: left"&gt;)&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;(245&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;)&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;(571&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;)&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td style="text-align: left; padding-left: 12pt"&gt;Adjustments relating to previous periods&lt;/td&gt; &lt;td style="font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;94&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;(973&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;)&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;(152&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;)&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td style="text-align: left; padding-left: 12pt"&gt;Increase (decrease) in accruals for uncertain tax positions&lt;/td&gt; &lt;td style="font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;(1,042&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; font-weight: bold; text-align: left"&gt;)&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;(515&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;)&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;1,954&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td style="text-align: left; padding-left: 12pt"&gt;Valuation allowance&lt;/td&gt; &lt;td style="font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;692&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;(344&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;)&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;(1,564&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;)&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td style="text-align: left; padding-left: 12pt"&gt;Stock based compensation&lt;/td&gt; &lt;td style="font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;352&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;231&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;(135&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;)&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td style="text-align: left; padding-left: 12pt"&gt;Deferred tax charges&lt;/td&gt; &lt;td style="font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;&amp;#x2013;&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;&amp;#x2013;&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;179&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td style="text-align: left; padding-bottom: 1pt; padding-left: 12pt"&gt;Other, including foreign exchange&lt;/td&gt; &lt;td style="font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;(231&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; font-weight: bold; text-align: left"&gt;)&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;(86&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left"&gt;)&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;226&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td style="text-align: left; padding-bottom: 1pt"&gt;Income tax expense&lt;/td&gt; &lt;td style="font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;11,038&lt;/div&gt;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; white-space: nowrap; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;8,233&lt;/div&gt;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;7,869&lt;/div&gt;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;/table&gt;&lt;/div&gt;</us-gaap:ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock>
  <us-gaap:ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTextBlock contextRef="d_2019-02-01_2020-01-31" id="c-18">&lt;div style="display: inline; font-family: times new roman; font-size: 10pt"&gt;&lt;table cellpadding="0" cellspacing="0" style="border-collapse: collapse; font: 10pt Times New Roman, Times, Serif; min-; min-width: 700px;"&gt; &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td style="font-style: italic"&gt;Year Ended&lt;/td&gt; &lt;td style="font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;div style="display: inline; font-weight: bold;"&gt;January 31,&lt;/div&gt;&lt;/div&gt;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; white-space: nowrap; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; text-align: right"&gt;&lt;div style="display: inline; font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;January 31,&lt;/div&gt;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; text-align: right"&gt;&lt;div style="display: inline; font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;January 31,&lt;/div&gt;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td style="padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: right"&gt;2020&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;2019&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;2018&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td style="width: 58%"&gt;Cost of revenues&lt;/td&gt; &lt;td style="width: 2%; font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 1%; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 10%; font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;220&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; width: 1%; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 2%"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 1%; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 10%; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;160&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; width: 1%; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 2%"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 1%; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 10%; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;90&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; width: 1%; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td style="text-align: left"&gt;Sales and marketing&lt;/td&gt; &lt;td style="font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;706&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;436&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;246&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td style="text-align: left"&gt;Research and development&lt;/td&gt; &lt;td style="font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;281&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;184&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;85&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td style="text-align: left; padding-bottom: 1pt"&gt;General and administrative&lt;/td&gt; &lt;td style="font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;3,702&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;2,930&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;2,386&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td style="text-align: left; padding-bottom: 1pt"&gt;Effect on net income&lt;/td&gt; &lt;td style="font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;4,909&lt;/div&gt;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; white-space: nowrap; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;3,710&lt;/div&gt;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;2,807&lt;/div&gt;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;/table&gt;&lt;/div&gt;</us-gaap:ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTextBlock>
  <us-gaap:ScheduleOfEntityWideDisclosureOnGeographicAreasLongLivedAssetsInIndividualForeignCountriesByCountryTextBlock contextRef="d_2019-02-01_2020-01-31" id="c-37">&lt;div style="display: inline; font-family: times new roman; font-size: 10pt"&gt;&lt;table cellpadding="0" cellspacing="0" style="border-collapse: collapse; font: 10pt Times New Roman, Times, Serif; min-; min-width: 700px;"&gt; &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;div style="display: inline; font-weight: bold;"&gt;January 31,&lt;/div&gt;&lt;/div&gt;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; white-space: nowrap; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; text-align: right"&gt;&lt;div style="display: inline; font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;January 31,&lt;/div&gt;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td style="padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: right"&gt;2020&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;2019&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td style="font-weight: normal; text-align: left"&gt;Total long-lived assets&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td style="width: 68%; text-align: left; padding-left: 7.5pt"&gt;United States&lt;/td&gt; &lt;td style="width: 2%; font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 1%; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 12%; font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;114,980&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; width: 1%; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 2%"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 1%; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 12%; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;119,958&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; width: 1%; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td style="text-align: left; padding-left: 7.5pt"&gt;Europe, Middle-East and Africa&lt;/td&gt; &lt;td style="font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;31,299&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;28,433&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td style="padding-left: 7.5pt"&gt;Canada&lt;/td&gt; &lt;td style="font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;111,264&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;40,413&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td style="padding-bottom: 1pt; padding-left: 7.5pt"&gt;Asia-Pacific&lt;/td&gt; &lt;td style="font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;13,144&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;&amp;#x2013;&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td style="padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;270,687&lt;/div&gt;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; white-space: nowrap; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;188,804&lt;/div&gt;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;/table&gt;&lt;/div&gt;</us-gaap:ScheduleOfEntityWideDisclosureOnGeographicAreasLongLivedAssetsInIndividualForeignCountriesByCountryTextBlock>
  <us-gaap:ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock contextRef="d_2019-02-01_2020-01-31" id="c-9">&lt;div style="display: inline; font-family: times new roman; font-size: 10pt"&gt;&lt;table cellpadding="0" cellspacing="0" style="border-collapse: collapse; font: 10pt Times New Roman, Times, Serif; min-; min-width: 700px;"&gt; &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td style="text-align: right"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;div style="display: inline; font-weight: bold;"&gt;January 31,&lt;/div&gt;&lt;/div&gt;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; white-space: nowrap; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; text-align: right"&gt;&lt;div style="display: inline; font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;January 31,&lt;/div&gt;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td style="text-align: right; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: right"&gt;2020&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;2019&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td&gt;Cost&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td style="width: 68%; text-align: left; padding-left: 12pt"&gt;Customer agreements and relationships&lt;/td&gt; &lt;td style="width: 2%; font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 1%; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 12%; font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;226,514&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; width: 1%; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 2%"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 1%; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 12%; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;177,224&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; width: 1%; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td style="text-align: left; padding-left: 12pt"&gt;Existing technology&lt;/td&gt; &lt;td style="font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;262,614&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;184,641&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td style="text-align: left; padding-left: 12pt"&gt;Trade names&lt;/td&gt; &lt;td style="font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;8,582&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;7,754&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td style="text-align: left; padding-bottom: 1pt; padding-left: 12pt"&gt;Non-compete covenants&lt;/td&gt; &lt;td style="font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;9,985&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;6,173&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;507,695&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;375,792&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td style="text-align: left"&gt;Accumulated amortization&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td style="text-align: left; padding-left: 12pt"&gt;Customer agreements and relationships&lt;/td&gt; &lt;td style="font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;98,241&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;82,028&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td style="text-align: left; padding-left: 12pt"&gt;Existing technology&lt;/td&gt; &lt;td style="font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;142,757&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;110,051&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td style="text-align: left; padding-left: 12pt"&gt;Trade names&lt;/td&gt; &lt;td style="font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;5,124&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;4,456&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td style="text-align: left; padding-bottom: 1pt; padding-left: 12pt"&gt;Non-compete covenants&lt;/td&gt; &lt;td style="font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;4,617&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;3,065&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td style="padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;250,739&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;199,600&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td style="padding-bottom: 1pt"&gt;Net&lt;/td&gt; &lt;td style="font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;256,956&lt;/div&gt;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; white-space: nowrap; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;176,192&lt;/div&gt;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;/table&gt;&lt;/div&gt;</us-gaap:ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock>
  <us-gaap:ScheduleOfIncomeBeforeIncomeTaxDomesticAndForeignTableTextBlock contextRef="d_2019-02-01_2020-01-31" id="c-26">&lt;div style="display: inline; font-family: times new roman; font-size: 10pt"&gt;&lt;table cellpadding="0" cellspacing="0" style="border-collapse: collapse; font: 10pt Times New Roman, Times, Serif; min-; min-width: 700px;"&gt; &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td style="font-style: italic"&gt;Year Ended&lt;/td&gt; &lt;td style="font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;div style="display: inline; font-weight: bold;"&gt;January 31,&lt;/div&gt;&lt;/div&gt;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; white-space: nowrap; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; text-align: right"&gt;&lt;div style="display: inline; font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;January 31,&lt;/div&gt;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; text-align: right"&gt;&lt;div style="display: inline; font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;January 31,&lt;/div&gt;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td style="padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: right"&gt;2020&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;2019&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;2018&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td style="width: 55%"&gt;Canada&lt;/td&gt; &lt;td style="width: 2%; font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 1%; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 11%; font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;19,557&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; width: 1%; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 2%"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 1%; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 11%; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;16,715&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; width: 1%; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 2%"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 1%; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 11%; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;17,964&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; width: 1%; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td style="text-align: left"&gt;United States&lt;/td&gt; &lt;td style="font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;19,962&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;11,077&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;6,203&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td style="text-align: left; padding-bottom: 1pt"&gt;Other countries&lt;/td&gt; &lt;td style="font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;8,516&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;11,718&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;10,581&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td style="padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;48,035&lt;/div&gt;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; white-space: nowrap; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;39,510&lt;/div&gt;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;34,748&lt;/div&gt;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;/table&gt;&lt;/div&gt;</us-gaap:ScheduleOfIncomeBeforeIncomeTaxDomesticAndForeignTableTextBlock>
  <us-gaap:ScheduleOfNonvestedShareActivityTableTextBlock contextRef="d_2019-02-01_2020-01-31" id="c-22">&lt;div style="display: inline; font-family: times new roman; font-size: 10pt"&gt;&lt;table cellpadding="0" cellspacing="0" style="border-collapse: collapse; font: 10pt Times New Roman, Times, Serif; min-; min-width: 700px;"&gt; &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td style="text-align: center; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;div style="display: inline; font-weight: bold;"&gt;Number of Stock Options Outstanding&lt;/div&gt;&lt;/div&gt;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; white-space: nowrap; border-bottom: Black 1pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; text-align: right"&gt;&lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: right"&gt;&lt;div style="display: inline; font-weight: bold;"&gt;Weighted-Average Grant-Date Fair Value per Share&lt;/div&gt;&lt;/div&gt;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; white-space: nowrap; border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td style="width: 68%"&gt;Balance at January 31, 2018&lt;/td&gt; &lt;td style="width: 2%"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 1%; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 12%; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;276,067&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; width: 1%; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 2%"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 1%; text-align: left"&gt;$&lt;/td&gt; &lt;td style="width: 12%; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;4.98&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; width: 1%; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td style="padding-left: 12pt"&gt;Granted&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;272,144&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;$&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;7.10&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td style="padding-left: 12pt"&gt;Vested&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;(219,043&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;)&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;$&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;5.56&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td style="padding-bottom: 1pt; padding-left: 12pt"&gt;Forfeited&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;(3,950&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left"&gt;)&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;$&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;6.41&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td&gt;Balance at January 31, 2019&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;325,218&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;$&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;6.18&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td style="padding-left: 12pt"&gt;Granted&lt;/td&gt; &lt;td style="font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;367,173&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold; text-align: left"&gt;$&lt;/td&gt; &lt;td style="font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;8.99&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td style="padding-left: 12pt"&gt;Vested&lt;/td&gt; &lt;td style="font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;(259,269&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; font-weight: bold; text-align: left"&gt;)&lt;/td&gt; &lt;td style="font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold; text-align: left"&gt;$&lt;/td&gt; &lt;td style="font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;6.96&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td style="padding-bottom: 1pt; padding-left: 12pt"&gt;Forfeited&lt;/td&gt; &lt;td style="font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;(23,469&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; font-weight: bold; text-align: left"&gt;)&lt;/td&gt; &lt;td style="font-weight: bold; border-bottom: Black 1pt solid"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: left"&gt;$&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;7.69&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td style="padding-bottom: 1pt"&gt;Balance at January 31, 2020&lt;/td&gt; &lt;td style="font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;409,653&lt;/div&gt;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; white-space: nowrap; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: left"&gt;$&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;8.03&lt;/div&gt;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; white-space: nowrap; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;/table&gt;&lt;/div&gt;</us-gaap:ScheduleOfNonvestedShareActivityTableTextBlock>
  <us-gaap:ScheduleOfOtherOperatingCostAndExpenseByComponentTextBlock contextRef="d_2019-02-01_2020-01-31" id="c-33">&lt;div style="display: inline; font-family: times new roman; font-size: 10pt"&gt;&lt;table cellpadding="0" cellspacing="0" style="border-collapse: collapse; font: 10pt Times New Roman, Times, Serif; min-; min-width: 700px;"&gt; &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td style="font-style: italic"&gt;Year Ended&lt;/td&gt; &lt;td style="font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;div style="display: inline; font-weight: bold;"&gt;January 31,&lt;/div&gt;&lt;/div&gt;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; white-space: nowrap; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; text-align: right"&gt;&lt;div style="display: inline; font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;January 31,&lt;/div&gt;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; text-align: right"&gt;&lt;div style="display: inline; font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;January 31,&lt;/div&gt;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td style="padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: right"&gt;2020&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;2019&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;2018&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td style="width: 55%; text-align: left"&gt;Acquisition-related costs&lt;/td&gt; &lt;td style="width: 2%; font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 1%; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 11%; font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;3,797&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; width: 1%; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 2%"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 1%; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 11%; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;3,778&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; width: 1%; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 2%"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 1%; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 11%; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;3,471&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; width: 1%; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td style="text-align: left; padding-bottom: 1pt"&gt;Restructuring plans&lt;/td&gt; &lt;td style="font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;&amp;#x2013;&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;20&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;523&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td style="padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;3,797&lt;/div&gt;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; white-space: nowrap; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;3,798&lt;/div&gt;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;3,994&lt;/div&gt;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;/table&gt;&lt;/div&gt;</us-gaap:ScheduleOfOtherOperatingCostAndExpenseByComponentTextBlock>
  <us-gaap:ScheduleOfRevenueFromExternalCustomersAttributedToForeignCountriesByGeographicAreaTextBlock contextRef="d_2019-02-01_2020-01-31" id="c-35">&lt;div style="display: inline; font-family: times new roman; font-size: 10pt"&gt;&lt;table cellpadding="0" cellspacing="0" style="border-collapse: collapse; font: 10pt Times New Roman, Times, Serif; min-; min-width: 700px;"&gt; &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td style="font-style: italic"&gt;Year Ended&lt;/td&gt; &lt;td style="font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;div style="display: inline; font-weight: bold;"&gt;January 31,&lt;/div&gt;&lt;/div&gt;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; white-space: nowrap; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; text-align: right"&gt;&lt;div style="display: inline; font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;January 31,&lt;/div&gt;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; text-align: right"&gt;&lt;div style="display: inline; font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;January 31,&lt;/div&gt;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td style="padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: right"&gt;2020&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;2019&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;2018&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td&gt;Revenues&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td style="width: 55%; text-align: left; padding-left: 12pt"&gt;United States&lt;/td&gt; &lt;td style="width: 2%; font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 1%; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 11%; font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;202,814&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; width: 1%; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 2%"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 1%; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 11%; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;165,115&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; width: 1%; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 2%"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 1%; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 11%; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;133,263&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; width: 1%; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td style="text-align: left; padding-left: 12pt"&gt;Europe, Middle-East and Africa&lt;/td&gt; &lt;td style="font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;82,596&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;80,094&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;77,576&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td style="padding-left: 12pt"&gt;Canada&lt;/td&gt; &lt;td style="font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;27,304&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;18,167&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;15,667&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td style="text-align: left; padding-bottom: 1pt; padding-left: 12pt"&gt;Asia Pacific&lt;/td&gt; &lt;td style="font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;13,077&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;11,795&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;10,933&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td style="padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;325,791&lt;/div&gt;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; white-space: nowrap; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;275,171&lt;/div&gt;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;237,439&lt;/div&gt;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;/table&gt;&lt;/div&gt;</us-gaap:ScheduleOfRevenueFromExternalCustomersAttributedToForeignCountriesByGeographicAreaTextBlock>
  <us-gaap:ScheduleOfSegmentReportingInformationBySegmentTextBlock contextRef="d_2019-02-01_2020-01-31" id="c-36">&lt;div style="display: inline; font-family: times new roman; font-size: 10pt"&gt;&lt;table cellpadding="0" cellspacing="0" style="border-collapse: collapse; font: 10pt Times New Roman, Times, Serif; min-; min-width: 700px;"&gt; &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td style="font-style: italic"&gt;Year Ended&lt;/td&gt; &lt;td style="font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;div style="display: inline; font-weight: bold;"&gt;January 31,&lt;/div&gt;&lt;/div&gt;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; white-space: nowrap; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; text-align: right"&gt;&lt;div style="display: inline; font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;January 31,&lt;/div&gt;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; text-align: right"&gt;&lt;div style="display: inline; font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;January 31,&lt;/div&gt;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td style="padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: right"&gt;2020&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;2019&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;2018&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td&gt;Revenues&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td style="width: 55%; padding-left: 12pt"&gt;Services&lt;/td&gt; &lt;td style="width: 2%; font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 1%; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 11%; font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;284,654&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; width: 1%; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 2%"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 1%; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 11%; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;241,543&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; width: 1%; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 2%"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 1%; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 11%; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;204,376&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; width: 1%; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td style="text-align: left; padding-left: 12pt"&gt;Professional services and other&lt;/td&gt; &lt;td style="font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;33,555&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;27,774&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;24,918&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td style="padding-bottom: 1pt; padding-left: 12pt"&gt;Licenses&lt;/td&gt; &lt;td style="font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;7,582&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;5,854&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;8,145&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td style="padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;325,791&lt;/div&gt;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; white-space: nowrap; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;275,171&lt;/div&gt;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;237,439&lt;/div&gt;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;/table&gt;&lt;/div&gt;</us-gaap:ScheduleOfSegmentReportingInformationBySegmentTextBlock>
  <us-gaap:ScheduleOfShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeTextBlock contextRef="d_2019-02-01_2020-01-31" id="c-21">&lt;div style="display: inline; font-family: times new roman; font-size: 10pt"&gt;&lt;table cellpadding="0" cellspacing="0" style="border-collapse: collapse; font: 10pt Times New Roman, Times, Serif; min-; min-width: 700px;"&gt; &lt;tr style="vertical-align: bottom"&gt; &lt;td style="text-align: center"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt; &lt;td colspan="11" style="font-weight: bold; text-align: center; border-bottom: Black 1pt solid"&gt;Options Outstanding&lt;/td&gt; &lt;td style="font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt; &lt;td colspan="7" style="font-weight: bold; text-align: center; border-bottom: Black 1pt solid"&gt;Options Exercisable&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td style="font-style: italic; padding-bottom: 1pt"&gt;Range of Exercise Prices&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;&lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: right"&gt;Weighted&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: right"&gt;Average Exercise Price&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;&lt;div style="display: inline; font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;Number of Stock Options &lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;&lt;div style="display: inline; font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;Weighted Average Remaining Contractual Life (years)&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;&lt;div style="display: inline; font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;Weighted Average Exercise Price&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;&lt;div style="display: inline; font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;Number of Stock Options&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td style="width: 45%; padding-left: 12pt"&gt;$11.43 &amp;#x2013; $11.59&lt;/td&gt; &lt;td style="width: 1%"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;td style="width: 1%; text-align: left"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;$&lt;/div&gt;&lt;/td&gt; &lt;td style="width: 8%; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;11.57&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; width: 1%; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 1%"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 1%; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 8%; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;126,500&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; width: 1%; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 1%"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 1%; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 8%; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;1.4&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; width: 1%; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 1%"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 1%; text-align: left"&gt;$&lt;/td&gt; &lt;td style="width: 8%; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;11.57&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; width: 1%; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 1%"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 1%; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 8%; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;126,500&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; width: 1%; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td style="padding-left: 12pt"&gt;$18.71 &amp;#x2013; $22.57&lt;/td&gt; &lt;td&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;td style="text-align: left"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;$&lt;/div&gt;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;21.17&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;397,014&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;3.8&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;$&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;21.08&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;357,014&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td style="padding-left: 12pt"&gt;$25.91 &amp;#x2013; $27.50&lt;/td&gt; &lt;td&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;td style="text-align: left"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;$&lt;/div&gt;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;27.49&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;247,935&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;5.2&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;$&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;27.49&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;140,461&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td style="padding-bottom: 1pt; padding-left: 12pt"&gt;$38.04 &amp;#x2013; $39.70&lt;/td&gt; &lt;td&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;$&lt;/div&gt;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;38.07&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;356,373&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;6.2&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;$&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;38.06&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;94,194&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td style="padding-bottom: 1pt; padding-left: 12pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: left"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;$&lt;/div&gt;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;26.82&lt;/div&gt;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; white-space: nowrap; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;1,127,822&lt;/div&gt;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; white-space: nowrap; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;4.6&lt;/div&gt;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; white-space: nowrap; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: left"&gt;$&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;22.88&lt;/div&gt;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; white-space: nowrap; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;718,169&lt;/div&gt;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; white-space: nowrap; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;/table&gt;&lt;/div&gt;</us-gaap:ScheduleOfShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeTextBlock>
  <us-gaap:ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock contextRef="d_2019-02-01_2020-01-31" id="c-20">&lt;div style="display: inline; font-family: times new roman; font-size: 10pt"&gt;&lt;table cellpadding="0" cellspacing="0" style="border-collapse: collapse; font: 10pt Times New Roman, Times, Serif; min-; min-width: 700px;"&gt; &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td style="text-align: center; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; text-align: right"&gt;&lt;div style="display: inline; font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;Number of Stock Options Outstanding&lt;/div&gt;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; white-space: nowrap; border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; text-align: right"&gt;&lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: right"&gt;Weighted-&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: right"&gt;Average Exercise&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: right"&gt;Price&lt;/div&gt;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; white-space: nowrap; border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; text-align: right"&gt;&lt;div style="display: inline; font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;Weighted- Average Remaining Contractual Life (years)&lt;/div&gt;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; white-space: nowrap; border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; text-align: right"&gt;&lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: right"&gt;Aggregate Intrinsic&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: right"&gt;Value&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: right"&gt;(in millions)&lt;/div&gt;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; white-space: nowrap; border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td style="width: 48%"&gt;Balance at January 31, 2018&lt;/td&gt; &lt;td style="width: 2%"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 1%; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 9%; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;657,209&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; width: 1%; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 2%"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 1%; text-align: left"&gt;$&lt;/td&gt; &lt;td style="width: 9%; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;18.21&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; width: 1%; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 2%"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 1%; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 9%; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;4.9&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; width: 1%; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 2%"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 1%; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 9%; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;5.7&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; width: 1%; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td style="padding-left: 15.1pt"&gt;Granted&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;272,144&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;$&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;27.96&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td style="padding-left: 15.1pt"&gt;Exercised&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;(46,065&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;)&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;$&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;11.75&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td style="padding-bottom: 1pt; padding-left: 15.1pt"&gt;Forfeited&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;(3,950&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left"&gt;)&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;$&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;26.43&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td&gt;Balance at January 31, 2019&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;879,338&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;$&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;21.41&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;4.7&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;8.7&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td style="text-indent: 2.75pt; padding-left: 12.25pt"&gt;Granted&lt;/td&gt; &lt;td style="font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;367,173&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold; text-align: left"&gt;$&lt;/td&gt; &lt;td style="font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;38.06&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td style="text-indent: 2.75pt; padding-left: 12pt"&gt;Exercised&lt;/td&gt; &lt;td style="font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;(94,970&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; font-weight: bold; text-align: left"&gt;)&lt;/td&gt; &lt;td style="font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold; text-align: left"&gt;$&lt;/td&gt; &lt;td style="font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;15.62&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td style="padding-bottom: 1pt; text-indent: 2.75pt; padding-left: 12pt"&gt;Forfeited&lt;/td&gt; &lt;td style="font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;(23,719&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; font-weight: bold; text-align: left"&gt;)&lt;/td&gt; &lt;td style="font-weight: bold; border-bottom: Black 1pt solid"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: left"&gt;$&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;31.93&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td style="padding-bottom: 1pt"&gt;Balance at January 31, 2020&lt;/td&gt; &lt;td style="font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;1,127,822&lt;/div&gt;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; white-space: nowrap; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: left"&gt;$&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;26.82&lt;/div&gt;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; white-space: nowrap; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;4.6&lt;/div&gt;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; white-space: nowrap; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;20.2&lt;/div&gt;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; white-space: nowrap; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td style="text-align: left; padding-bottom: 1pt"&gt;Vested or expected to vest at January 31, 2020&lt;/td&gt; &lt;td style="font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;1,127,822&lt;/div&gt;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; white-space: nowrap; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: left"&gt;$&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;26.82&lt;/div&gt;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; white-space: nowrap; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;4.6&lt;/div&gt;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; white-space: nowrap; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;20.2&lt;/div&gt;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; white-space: nowrap; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td style="padding-bottom: 1pt"&gt;Exercisable at January 31, 2020&lt;/td&gt; &lt;td style="font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;718,169&lt;/div&gt;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; white-space: nowrap; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: left"&gt;$&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;22.88&lt;/div&gt;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; white-space: nowrap; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;4.0&lt;/div&gt;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; white-space: nowrap; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;15.7&lt;/div&gt;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; white-space: nowrap; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;/table&gt;&lt;/div&gt;</us-gaap:ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock>
  <us-gaap:ScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsTableTextBlock contextRef="d_2019-02-01_2020-01-31" id="c-19">&lt;div style="display: inline; font-family: times new roman; font-size: 10pt"&gt;&lt;table cellpadding="0" cellspacing="0" style="border-collapse: collapse; font: 10pt Times New Roman, Times, Serif; min-; min-width: 700px;"&gt; &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td style="font-style: italic; padding-bottom: 1pt"&gt;Year Ended&lt;/td&gt; &lt;td style="font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;div style="display: inline; font-weight: bold;"&gt;January 31, 2020&lt;/div&gt;&lt;/div&gt;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; white-space: nowrap; border-bottom: Black 1pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; text-align: right"&gt;&lt;div style="display: inline; font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;January 31, 2019&lt;/div&gt;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; white-space: nowrap; border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; text-align: right"&gt;&lt;div style="display: inline; font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;January 31, 2018&lt;/div&gt;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; white-space: nowrap; border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&amp;nbsp;Expected dividend yield (%)&lt;/td&gt; &lt;td style="font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;&amp;#x2013;&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;&amp;#x2013;&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;&amp;#x2013;&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td style="width: 58%; text-align: left"&gt;&amp;nbsp;&amp;nbsp;Expected volatility (%)&lt;/td&gt; &lt;td style="width: 2%; font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 1%; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 10%; font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;23.5&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; width: 1%; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 2%"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 1%; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 10%; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;23.6&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; width: 1%; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 2%"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 1%; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 10%; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;23.5&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; width: 1%; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&amp;nbsp;Risk-free rate (%)&lt;/td&gt; &lt;td style="font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;1.4&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;2.0&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;1.0&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&amp;nbsp;Expected option life (years)&lt;/td&gt; &lt;td style="font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;5&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;5&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;5&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;/table&gt;&lt;/div&gt;</us-gaap:ScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsTableTextBlock>
  <us-gaap:ScheduleOfSharebasedCompensationRestrictedStockAndRestrictedStockUnitsActivityTableTextBlock contextRef="d_2019-02-01_2020-01-31" id="c-24">&lt;div style="display: inline; font-family: times new roman; font-size: 10pt"&gt;&lt;table cellpadding="0" cellspacing="0" style="border-collapse: collapse; font: 10pt Times New Roman, Times, Serif; min-; min-width: 700px;"&gt; &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td style="text-align: center; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;div style="display: inline; font-weight: bold;"&gt;Number of RSUs Outstanding&lt;/div&gt;&lt;/div&gt;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; white-space: nowrap; border-bottom: Black 1pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; text-align: right"&gt;&lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: right"&gt;&lt;div style="display: inline; font-weight: bold;"&gt;Weighted-&lt;/div&gt;&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: right"&gt;&lt;div style="display: inline; font-weight: bold;"&gt;Average Granted Date Fair Value&lt;/div&gt;&lt;/div&gt;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; white-space: nowrap; border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; font-weight: bold; border-bottom: Black 1pt solid"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;div style="display: inline; font-weight: bold;"&gt;Weighted- Average Remaining Contractual Life (years)&lt;/div&gt;&lt;/div&gt;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; white-space: nowrap; border-bottom: Black 1pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; text-align: right"&gt;&lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: right"&gt;&lt;div style="display: inline; font-weight: bold;"&gt;Aggregate Intrinsic&lt;/div&gt;&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: right"&gt;&lt;div style="display: inline; font-weight: bold;"&gt;Value&lt;/div&gt;&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: right"&gt;&lt;div style="display: inline; font-weight: bold;"&gt;(in millions)&lt;/div&gt;&lt;/div&gt;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; white-space: nowrap; border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td style="width: 52%"&gt;Balance at January 31, 2018&lt;/td&gt; &lt;td style="width: 1%"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 1%; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 9%; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;299,020&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; width: 1%; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 1%"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 1%; text-align: left"&gt;$&lt;/td&gt; &lt;td style="width: 9%; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;12.80&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; width: 1%; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 1%"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 1%; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 9%; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;6.1&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; width: 1%; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 1%"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 1%; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 9%; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;8.1&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; width: 1%; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td style="padding-bottom: 1pt; padding-left: 12.25pt"&gt;Granted&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;38,046&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;$&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;27.96&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td&gt;Balance at January 31, 2019&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;337,066&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;$&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;14.42&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;5.6&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;10.6&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td style="padding-bottom: 1pt; padding-left: 12.25pt"&gt;Granted&lt;/td&gt; &lt;td style="font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;37,611&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold; border-bottom: Black 1pt solid"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: left"&gt;$&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;38.04&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td style="padding-bottom: 1pt"&gt;Balance at January 31, 2020&lt;/td&gt; &lt;td style="font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;374,677&lt;/div&gt;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; white-space: nowrap; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: left"&gt;$&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;16.57&lt;/div&gt;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; white-space: nowrap; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;5.0&lt;/div&gt;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; white-space: nowrap; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;16.8&lt;/div&gt;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; white-space: nowrap; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td style="text-align: left; padding-bottom: 1pt"&gt;Vested or expected to vest at January 31, 2020&lt;/td&gt; &lt;td style="font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;374,677&lt;/div&gt;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; white-space: nowrap; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: left"&gt;$&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;16.57&lt;/div&gt;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; white-space: nowrap; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;5.0&lt;/div&gt;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; white-space: nowrap; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;16.8&lt;/div&gt;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; white-space: nowrap; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td style="padding-bottom: 1pt"&gt;Exercisable at January 31, 2020&lt;/td&gt; &lt;td style="font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;336,921&lt;/div&gt;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; white-space: nowrap; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: left"&gt;$&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;14.56&lt;/div&gt;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; white-space: nowrap; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;4.6&lt;/div&gt;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; white-space: nowrap; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;15.1&lt;/div&gt;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; white-space: nowrap; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;/table&gt;&lt;/div&gt;</us-gaap:ScheduleOfSharebasedCompensationRestrictedStockAndRestrictedStockUnitsActivityTableTextBlock>
  <us-gaap:ScheduleOfUnrecognizedTaxBenefitsRollForwardTableTextBlock contextRef="d_2019-02-01_2020-01-31" id="c-31">&lt;div style="display: inline; font-family: times new roman; font-size: 10pt"&gt;&lt;table style="border-collapse: collapse; font: 10pt Times New Roman, Times, Serif; min-; min-width: 700px;" cellspacing="0" cellpadding="0"&gt; &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;div style="display: inline; font-weight: bold;"&gt;January 31,&lt;/div&gt;&lt;/div&gt;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; white-space: nowrap; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; text-align: right"&gt;&lt;div style="display: inline; font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;January 31,&lt;/div&gt;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td style="padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: right"&gt;2020&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;2019&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td style="width: 68%; text-align: left"&gt;Liability, beginning of year&lt;/td&gt; &lt;td style="width: 2%; font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 1%; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 12%; font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;7,824&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; width: 1%; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 2%"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 1%; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 12%; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;8,977&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; width: 1%; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td style="text-align: left; padding-left: 12pt"&gt;Gross increases &amp;#x2013; current period&lt;/td&gt; &lt;td style="font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;139&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;493&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td style="text-align: left; padding-bottom: 1pt; padding-left: 12pt"&gt;Lapsing due to statutes of limitations&lt;/td&gt; &lt;td style="font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;(1,313&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; font-weight: bold; text-align: left"&gt;)&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;(1,646&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left"&gt;)&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td style="text-align: left; padding-bottom: 1pt"&gt;Liability, end of year&lt;/td&gt; &lt;td style="font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;6,650&lt;/div&gt;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; white-space: nowrap; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;7,824&lt;/div&gt;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;/table&gt;&lt;/div&gt;</us-gaap:ScheduleOfUnrecognizedTaxBenefitsRollForwardTableTextBlock>
  <us-gaap:SegmentReportingDisclosureTextBlock contextRef="d_2019-02-01_2020-01-31" id="s1506308">&lt;div style="display: inline; font-family: times new roman; font-size: 10pt"&gt;&lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"&gt;&lt;div style="display: inline; font-weight: bold;"&gt;Note &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;22&lt;/div&gt; - Segmented Information&lt;/div&gt;&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"&gt;&amp;nbsp;&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;We review our operating results, assess our performance, make decisions about resources, and generate discrete financial information at the single enterprise level. Accordingly, we have determined that we operate in &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;one&lt;/div&gt; reportable business segment providing logistics technology solutions. The following tables provide our disaggregated revenue information by geographic location of customer and revenue type:&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&amp;nbsp;&lt;/div&gt; &lt;div&gt; &lt;table cellpadding="0" cellspacing="0" style="border-collapse: collapse; font: 10pt Times New Roman, Times, Serif; min-width: 700px;"&gt;  &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td style="font-style: italic"&gt;Year Ended&lt;/td&gt; &lt;td style="font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;div style="display: inline; font-weight: bold;"&gt;January 31,&lt;/div&gt;&lt;/div&gt;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; white-space: nowrap; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; text-align: right"&gt;&lt;div style="display: inline; font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;January 31,&lt;/div&gt;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; text-align: right"&gt;&lt;div style="display: inline; font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;January 31,&lt;/div&gt;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td style="padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: right"&gt;2020&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;2019&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;2018&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td&gt;Revenues&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td style="width: 55%; text-align: left; padding-left: 12pt"&gt;United States&lt;/td&gt; &lt;td style="width: 2%; font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 1%; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 11%; font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;202,814&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; width: 1%; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 2%"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 1%; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 11%; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;165,115&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; width: 1%; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 2%"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 1%; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 11%; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;133,263&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; width: 1%; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td style="text-align: left; padding-left: 12pt"&gt;Europe, Middle-East and Africa&lt;/td&gt; &lt;td style="font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;82,596&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;80,094&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;77,576&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td style="padding-left: 12pt"&gt;Canada&lt;/td&gt; &lt;td style="font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;27,304&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;18,167&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;15,667&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td style="text-align: left; padding-bottom: 1pt; padding-left: 12pt"&gt;Asia Pacific&lt;/td&gt; &lt;td style="font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;13,077&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;11,795&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;10,933&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td style="padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;325,791&lt;/div&gt;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; white-space: nowrap; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;275,171&lt;/div&gt;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;237,439&lt;/div&gt;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt;  &lt;/table&gt; &lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&amp;nbsp;&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"&gt;&amp;nbsp;&lt;/div&gt; &lt;div&gt; &lt;table cellpadding="0" cellspacing="0" style="border-collapse: collapse; font: 10pt Times New Roman, Times, Serif; min-width: 700px;"&gt;  &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td style="font-style: italic"&gt;Year Ended&lt;/td&gt; &lt;td style="font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;div style="display: inline; font-weight: bold;"&gt;January 31,&lt;/div&gt;&lt;/div&gt;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; white-space: nowrap; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; text-align: right"&gt;&lt;div style="display: inline; font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;January 31,&lt;/div&gt;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; text-align: right"&gt;&lt;div style="display: inline; font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;January 31,&lt;/div&gt;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td style="padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: right"&gt;2020&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;2019&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;2018&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td&gt;Revenues&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td style="width: 55%; padding-left: 12pt"&gt;Services&lt;/td&gt; &lt;td style="width: 2%; font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 1%; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 11%; font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;284,654&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; width: 1%; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 2%"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 1%; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 11%; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;241,543&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; width: 1%; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 2%"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 1%; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 11%; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;204,376&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; width: 1%; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td style="text-align: left; padding-left: 12pt"&gt;Professional services and other&lt;/td&gt; &lt;td style="font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;33,555&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;27,774&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;24,918&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td style="padding-bottom: 1pt; padding-left: 12pt"&gt;Licenses&lt;/td&gt; &lt;td style="font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;7,582&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;5,854&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;8,145&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td style="padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;325,791&lt;/div&gt;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; white-space: nowrap; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;275,171&lt;/div&gt;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;237,439&lt;/div&gt;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt;  &lt;/table&gt; &lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&lt;div style="display: inline; font-weight: bold;"&gt;&amp;nbsp;&lt;/div&gt;&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;License revenues are derived from perpetual licenses granted to our customers to use our software products. Services revenues are comprised of ongoing transactional and/or subscription fees for use of our services and products by our customers and maintenance, which include revenues associated with maintenance and support of our services and products. Professional services and other revenues are comprised of professional services revenues from consulting, implementation and training services related to our services and products, hardware revenues and other revenues.&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&amp;nbsp;&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;The following table provides information by geographic area of operation for our long-lived assets. Long-lived assets represent property and equipment and intangible assets that are attributed to geographic areas.&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&amp;nbsp;&lt;/div&gt; &lt;div&gt; &lt;table cellpadding="0" cellspacing="0" style="border-collapse: collapse; font: 10pt Times New Roman, Times, Serif; min-width: 700px;"&gt;  &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;div style="display: inline; font-weight: bold;"&gt;January 31,&lt;/div&gt;&lt;/div&gt;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; white-space: nowrap; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; text-align: right"&gt;&lt;div style="display: inline; font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;January 31,&lt;/div&gt;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td style="padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: right"&gt;2020&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;2019&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td style="font-weight: normal; text-align: left"&gt;Total long-lived assets&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td style="width: 68%; text-align: left; padding-left: 7.5pt"&gt;United States&lt;/td&gt; &lt;td style="width: 2%; font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 1%; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 12%; font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;114,980&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; width: 1%; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 2%"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 1%; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 12%; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;119,958&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; width: 1%; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td style="text-align: left; padding-left: 7.5pt"&gt;Europe, Middle-East and Africa&lt;/td&gt; &lt;td style="font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;31,299&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;28,433&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td style="padding-left: 7.5pt"&gt;Canada&lt;/td&gt; &lt;td style="font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;111,264&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;40,413&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td style="padding-bottom: 1pt; padding-left: 7.5pt"&gt;Asia-Pacific&lt;/td&gt; &lt;td style="font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;13,144&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;&amp;#x2013;&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td style="padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;270,687&lt;/div&gt;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; white-space: nowrap; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;188,804&lt;/div&gt;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt;  &lt;/table&gt; &lt;/div&gt;&lt;/div&gt;</us-gaap:SegmentReportingDisclosureTextBlock>
  <us-gaap:SellingAndMarketingExpense contextRef="d_2019-02-01_2020-01-31" decimals="-3" id="c59148137" unitRef="iso4217-usd">40389000</us-gaap:SellingAndMarketingExpense>
  <us-gaap:SellingAndMarketingExpense contextRef="d_2018-02-01_2019-01-31" decimals="-3" id="c59148138" unitRef="iso4217-usd">36873000</us-gaap:SellingAndMarketingExpense>
  <us-gaap:SellingAndMarketingExpense contextRef="d_2017-02-01_2018-01-31" decimals="-3" id="c59148139" unitRef="iso4217-usd">33128000</us-gaap:SellingAndMarketingExpense>
  <us-gaap:ShareBasedCompensation contextRef="d_2019-02-01_2020-01-31" decimals="-3" id="c59148280" unitRef="iso4217-usd">4909000</us-gaap:ShareBasedCompensation>
  <us-gaap:ShareBasedCompensation contextRef="d_2018-02-01_2019-01-31" decimals="-3" id="c59148281" unitRef="iso4217-usd">3710000</us-gaap:ShareBasedCompensation>
  <us-gaap:ShareBasedCompensation contextRef="d_2017-02-01_2018-01-31" decimals="-3" id="c59148282" unitRef="iso4217-usd">2807000</us-gaap:ShareBasedCompensation>
  <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1 contextRef="d_2019-02-01_2020-01-31_AwardTypeAxis-EmployeeStockOptionMember" id="c59148430">P5Y</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1>
  <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1 contextRef="d_2019-02-01_2020-01-31_AwardTypeAxis-EmployeeStockOptionMember_RangeAxis-MinimumMember_TitleOfIndividualAxis-DirectorsAndOfficersMember" id="c59148432">P3Y</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1>
  <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1 contextRef="d_2019-02-01_2020-01-31_AwardTypeAxis-EmployeeStockOptionMember_RangeAxis-MaximumMember_TitleOfIndividualAxis-DirectorsAndOfficersMember" id="c59148433">P5Y</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1>
  <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1 contextRef="d_2019-02-01_2020-01-31_AwardTypeAxis-PerformanceSharesMember" id="c59148437">P3Y</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1>
  <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1 contextRef="d_2019-02-01_2020-01-31_AwardTypeAxis-RestrictedStockUnitsRSUMember" id="c59148440">P3Y</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1>
  <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod contextRef="d_2018-02-01_2019-01-31_AwardTypeAxis-PerformanceSharesMember" decimals="INF" id="c59150038" unitRef="xbrli-shares">54351</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod>
  <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod contextRef="d_2019-02-01_2020-01-31_AwardTypeAxis-PerformanceSharesMember" decimals="INF" id="c59150050" unitRef="xbrli-shares">53729</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod>
  <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod contextRef="d_2018-02-01_2019-01-31_AwardTypeAxis-RestrictedStockUnitsRSUMember" decimals="INF" id="c59150074" unitRef="xbrli-shares">38046</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod>
  <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod contextRef="d_2019-02-01_2020-01-31_AwardTypeAxis-RestrictedStockUnitsRSUMember" decimals="INF" id="c59150082" unitRef="xbrli-shares">37611</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod>
  <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue contextRef="d_2018-02-01_2019-01-31_AwardTypeAxis-PerformanceSharesMember" decimals="INF" id="c59150039" unitRef="iso4217-usd-per-xbrli-shares">35.23</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue>
  <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue contextRef="d_2019-02-01_2020-01-31_AwardTypeAxis-PerformanceSharesMember" decimals="INF" id="c59150051" unitRef="iso4217-usd-per-xbrli-shares">53.65</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue>
  <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue contextRef="d_2018-02-01_2019-01-31_AwardTypeAxis-RestrictedStockUnitsRSUMember" decimals="INF" id="c59150075" unitRef="iso4217-usd-per-xbrli-shares">27.96</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue>
  <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue contextRef="d_2019-02-01_2020-01-31_AwardTypeAxis-RestrictedStockUnitsRSUMember" decimals="INF" id="c59150083" unitRef="iso4217-usd-per-xbrli-shares">38.04</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue>
  <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue contextRef="i_2018-01-31_AwardTypeAxis-PerformanceSharesMember" decimals="INF" id="c59150035" unitRef="iso4217-usd-per-xbrli-shares">15.91</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue>
  <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue contextRef="i_2019-01-31_AwardTypeAxis-PerformanceSharesMember" decimals="INF" id="c59150047" unitRef="iso4217-usd-per-xbrli-shares">18.02</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue>
  <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue contextRef="i_2020-01-31_AwardTypeAxis-PerformanceSharesMember" decimals="INF" id="c59150059" unitRef="iso4217-usd-per-xbrli-shares">21.19</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue>
  <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue contextRef="i_2018-01-31_AwardTypeAxis-RestrictedStockUnitsRSUMember" decimals="INF" id="c59150071" unitRef="iso4217-usd-per-xbrli-shares">12.80</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue>
  <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue contextRef="i_2019-01-31_AwardTypeAxis-RestrictedStockUnitsRSUMember" decimals="INF" id="c59150079" unitRef="iso4217-usd-per-xbrli-shares">14.42</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue>
  <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue contextRef="i_2020-01-31_AwardTypeAxis-RestrictedStockUnitsRSUMember" decimals="INF" id="c59150087" unitRef="iso4217-usd-per-xbrli-shares">16.57</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue>
  <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsOutstandingWeightedAverageRemainingContractualTerms contextRef="d_2017-02-01_2018-01-31_AwardTypeAxis-PerformanceSharesMember" id="c59150036">P6Y36D</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsOutstandingWeightedAverageRemainingContractualTerms>
  <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsOutstandingWeightedAverageRemainingContractualTerms contextRef="d_2018-02-01_2019-01-31_AwardTypeAxis-PerformanceSharesMember" id="c59150048">P5Y182D</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsOutstandingWeightedAverageRemainingContractualTerms>
  <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsOutstandingWeightedAverageRemainingContractualTerms contextRef="d_2019-02-01_2020-01-31_AwardTypeAxis-PerformanceSharesMember" id="c59150060">P5Y</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsOutstandingWeightedAverageRemainingContractualTerms>
  <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsOutstandingWeightedAverageRemainingContractualTerms contextRef="d_2017-02-01_2018-01-31_AwardTypeAxis-RestrictedStockUnitsRSUMember" id="c59150072">P6Y36D</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsOutstandingWeightedAverageRemainingContractualTerms>
  <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsOutstandingWeightedAverageRemainingContractualTerms contextRef="d_2018-02-01_2019-01-31_AwardTypeAxis-RestrictedStockUnitsRSUMember" id="c59150080">P5Y219D</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsOutstandingWeightedAverageRemainingContractualTerms>
  <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsOutstandingWeightedAverageRemainingContractualTerms contextRef="d_2019-02-01_2020-01-31_AwardTypeAxis-RestrictedStockUnitsRSUMember" id="c59150088">P5Y</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsOutstandingWeightedAverageRemainingContractualTerms>
  <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodTotalFairValue contextRef="d_2019-02-01_2020-01-31_AwardTypeAxis-PerformanceSharesMember" decimals="-3" id="c59149882" unitRef="iso4217-usd">2600000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodTotalFairValue>
  <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodTotalFairValue contextRef="d_2019-02-01_2020-01-31_AwardTypeAxis-RestrictedStockUnitsRSUMember" decimals="-3" id="c59149886" unitRef="iso4217-usd">1100000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodTotalFairValue>
  <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate contextRef="d_2019-02-01_2020-01-31" id="c59149925" unitRef="xbrli-pure" xs:nil="true"/>
  <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate contextRef="d_2018-02-01_2019-01-31" id="c59149926" unitRef="xbrli-pure" xs:nil="true"/>
  <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate contextRef="d_2017-02-01_2018-01-31" id="c59149927" unitRef="xbrli-pure" xs:nil="true"/>
  <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate contextRef="d_2019-02-01_2020-01-31" decimals="3" id="c59149928" unitRef="xbrli-pure">0.235</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate>
  <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate contextRef="d_2018-02-01_2019-01-31" decimals="3" id="c59149929" unitRef="xbrli-pure">0.236</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate>
  <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate contextRef="d_2017-02-01_2018-01-31" decimals="3" id="c59149930" unitRef="xbrli-pure">0.235</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate>
  <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate contextRef="d_2019-02-01_2020-01-31" decimals="3" id="c59149931" unitRef="xbrli-pure">0.014</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate>
  <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate contextRef="d_2018-02-01_2019-01-31" decimals="3" id="c59149932" unitRef="xbrli-pure">0.02</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate>
  <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate contextRef="d_2017-02-01_2018-01-31" decimals="3" id="c59149933" unitRef="xbrli-pure">0.01</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate>
  <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsOutstandingNumber contextRef="i_2018-01-31_AwardTypeAxis-PerformanceSharesMember" decimals="INF" id="c59150034" unitRef="xbrli-shares">440520</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsOutstandingNumber>
  <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsOutstandingNumber contextRef="i_2019-01-31_AwardTypeAxis-PerformanceSharesMember" decimals="INF" id="c59150046" unitRef="xbrli-shares">530383</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsOutstandingNumber>
  <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsOutstandingNumber contextRef="i_2020-01-31_AwardTypeAxis-PerformanceSharesMember" decimals="INF" id="c59150058" unitRef="xbrli-shares">629874</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsOutstandingNumber>
  <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsOutstandingNumber contextRef="i_2018-01-31_AwardTypeAxis-RestrictedStockUnitsRSUMember" decimals="INF" id="c59150070" unitRef="xbrli-shares">299020</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsOutstandingNumber>
  <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsOutstandingNumber contextRef="i_2019-01-31_AwardTypeAxis-RestrictedStockUnitsRSUMember" decimals="INF" id="c59150078" unitRef="xbrli-shares">337066</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsOutstandingNumber>
  <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsOutstandingNumber contextRef="i_2020-01-31_AwardTypeAxis-RestrictedStockUnitsRSUMember" decimals="INF" id="c59150086" unitRef="xbrli-shares">374677</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsOutstandingNumber>
  <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant contextRef="i_2020-01-31_AwardTypeAxis-EmployeeStockOptionMember_PlanNameAxis-OptionsGrantedOutsideOfShareholderApprovedStockOptionPlanMember" decimals="INF" id="c59149857" unitRef="xbrli-shares">3661684</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant>
  <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber contextRef="i_2020-01-31" decimals="INF" id="c59149977" unitRef="xbrli-shares">718169</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber>
  <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice contextRef="i_2020-01-31" decimals="INF" id="c59149978" unitRef="iso4217-usd-per-xbrli-shares">22.88</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice>
  <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue contextRef="d_2019-02-01_2020-01-31" decimals="-3" id="c59149875" unitRef="iso4217-usd">2000000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue>
  <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue contextRef="d_2018-02-01_2019-01-31" decimals="-3" id="c59149876" unitRef="iso4217-usd">800000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue>
  <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue contextRef="d_2017-02-01_2018-01-31" decimals="-3" id="c59149877" unitRef="iso4217-usd">2500000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue>
  <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresInPeriod contextRef="d_2018-02-01_2019-01-31" decimals="INF" id="c59149949" unitRef="xbrli-shares">3950</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresInPeriod>
  <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresInPeriod contextRef="d_2019-02-01_2020-01-31" decimals="INF" id="c59149965" unitRef="xbrli-shares">23719</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresInPeriod>
  <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross contextRef="d_2019-02-01_2020-01-31" decimals="INF" id="c59149865" unitRef="xbrli-shares">367173</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross>
  <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross contextRef="d_2018-02-01_2019-01-31" decimals="INF" id="c59149866" unitRef="xbrli-shares">272144</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross>
  <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross contextRef="d_2017-02-01_2018-01-31" decimals="INF" id="c59149867" unitRef="xbrli-shares">274500</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross>
  <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross contextRef="d_2018-02-01_2019-01-31_PlanNameAxis-ShareholderapprovedStockOptionPlanMember" decimals="INF" id="c59150018" unitRef="xbrli-shares">272144</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross>
  <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross contextRef="d_2019-02-01_2020-01-31_PlanNameAxis-ShareholderapprovedStockOptionPlanMember" decimals="INF" id="c59150026" unitRef="xbrli-shares">367173</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross>
  <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue contextRef="d_2019-02-01_2020-01-31" decimals="INF" id="c59149870" unitRef="iso4217-usd-per-xbrli-shares">8.99</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue>
  <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue contextRef="d_2018-02-01_2019-01-31" decimals="INF" id="c59149871" unitRef="iso4217-usd-per-xbrli-shares">7.10</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue>
  <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue contextRef="d_2017-02-01_2018-01-31" decimals="INF" id="c59149872" unitRef="iso4217-usd-per-xbrli-shares">5.26</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue>
  <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue contextRef="d_2018-02-01_2019-01-31_PlanNameAxis-ShareholderapprovedStockOptionPlanMember" decimals="INF" id="c59150019" unitRef="iso4217-usd-per-xbrli-shares">7.10</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue>
  <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue contextRef="d_2019-02-01_2020-01-31_PlanNameAxis-ShareholderapprovedStockOptionPlanMember" decimals="INF" id="c59150027" unitRef="iso4217-usd-per-xbrli-shares">8.99</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue>
  <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue contextRef="i_2018-01-31" decimals="-5" id="c59149940" unitRef="iso4217-usd">5700000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue>
  <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue contextRef="i_2019-01-31" decimals="-5" id="c59149956" unitRef="iso4217-usd">8700000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue>
  <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue contextRef="i_2020-01-31" decimals="-5" id="c59149972" unitRef="iso4217-usd">20200000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue>
  <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber contextRef="i_2020-01-31_PlanNameAxis-OptionsGrantedOutsideOfShareholderApprovedStockOptionPlanMember" decimals="INF" id="c59149856" unitRef="xbrli-shares">1021322</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber>
  <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber contextRef="i_2020-01-31_PlanNameAxis-OutsideOfShareholderapprovedStockOptionPlanMember" decimals="INF" id="c59149858" unitRef="xbrli-shares">106500</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber>
  <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber contextRef="i_2018-01-31" decimals="INF" id="c59149937" unitRef="xbrli-shares">657209</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber>
  <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber contextRef="i_2019-01-31" decimals="INF" id="c59149953" unitRef="xbrli-shares">879338</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber>
  <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber contextRef="i_2020-01-31" decimals="INF" id="c59149969" unitRef="xbrli-shares">1127822</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber>
  <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice contextRef="i_2018-01-31" decimals="INF" id="c59149938" unitRef="iso4217-usd-per-xbrli-shares">18.21</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice>
  <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice contextRef="i_2019-01-31" decimals="INF" id="c59149954" unitRef="iso4217-usd-per-xbrli-shares">21.41</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice>
  <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice contextRef="i_2020-01-31" decimals="INF" id="c59149970" unitRef="iso4217-usd-per-xbrli-shares">26.82</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice>
  <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestExercisableNumber contextRef="i_2020-01-31_AwardTypeAxis-RestrictedStockUnitsRSUMember" decimals="INF" id="c59150090" unitRef="xbrli-shares">374677</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestExercisableNumber>
  <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingAggregateIntrinsicValue contextRef="i_2020-01-31" decimals="-5" id="c59149976" unitRef="iso4217-usd">20200000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingAggregateIntrinsicValue>
  <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingAggregateIntrinsicValue contextRef="i_2020-01-31_AwardTypeAxis-PerformanceSharesMember" decimals="-5" id="c59150065" unitRef="iso4217-usd">28200000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingAggregateIntrinsicValue>
  <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingAggregateIntrinsicValue contextRef="i_2020-01-31_AwardTypeAxis-RestrictedStockUnitsRSUMember" decimals="-5" id="c59150093" unitRef="iso4217-usd">16800000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingAggregateIntrinsicValue>
  <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingNumber contextRef="i_2020-01-31" decimals="INF" id="c59149973" unitRef="xbrli-shares">1127822</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingNumber>
  <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingNumber contextRef="i_2020-01-31_AwardTypeAxis-PerformanceSharesMember" decimals="INF" id="c59150062" unitRef="xbrli-shares">629874</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingNumber>
  <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageExercisePrice contextRef="i_2020-01-31" decimals="INF" id="c59149974" unitRef="iso4217-usd-per-xbrli-shares">26.82</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageExercisePrice>
  <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageExercisePrice contextRef="i_2020-01-31_AwardTypeAxis-PerformanceSharesMember" decimals="INF" id="c59150063" unitRef="iso4217-usd-per-xbrli-shares">21.19</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageExercisePrice>
  <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageExercisePrice contextRef="i_2020-01-31_AwardTypeAxis-RestrictedStockUnitsRSUMember" decimals="INF" id="c59150091" unitRef="iso4217-usd-per-xbrli-shares">16.57</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageExercisePrice>
  <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardSharesIssuedInPeriod contextRef="d_2018-02-01_2019-01-31_AwardTypeAxis-PerformanceSharesMember" decimals="INF" id="c59150042" unitRef="xbrli-shares">35512</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardSharesIssuedInPeriod>
  <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardSharesIssuedInPeriod contextRef="d_2019-02-01_2020-01-31_AwardTypeAxis-PerformanceSharesMember" decimals="INF" id="c59150054" unitRef="xbrli-shares">45762</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardSharesIssuedInPeriod>
  <us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice contextRef="d_2018-02-01_2019-01-31" decimals="INF" id="c59149946" unitRef="iso4217-usd-per-xbrli-shares">11.75</us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice>
  <us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice contextRef="d_2019-02-01_2020-01-31" decimals="INF" id="c59149962" unitRef="iso4217-usd-per-xbrli-shares">15.62</us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice>
  <us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsForfeituresInPeriodWeightedAverageExercisePrice contextRef="d_2018-02-01_2019-01-31" decimals="INF" id="c59149950" unitRef="iso4217-usd-per-xbrli-shares">26.43</us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsForfeituresInPeriodWeightedAverageExercisePrice>
  <us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsForfeituresInPeriodWeightedAverageExercisePrice contextRef="d_2019-02-01_2020-01-31" decimals="INF" id="c59149966" unitRef="iso4217-usd-per-xbrli-shares">31.93</us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsForfeituresInPeriodWeightedAverageExercisePrice>
  <us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice contextRef="d_2018-02-01_2019-01-31" decimals="INF" id="c59149942" unitRef="iso4217-usd-per-xbrli-shares">27.96</us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice>
  <us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice contextRef="d_2019-02-01_2020-01-31" decimals="INF" id="c59149958" unitRef="iso4217-usd-per-xbrli-shares">38.06</us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice>
  <us-gaap:ShareBasedCompensationOptionAndIncentivePlansPolicy contextRef="d_2019-02-01_2020-01-31" id="c59148377">&lt;div style="display: inline; font-family: times new roman; font-size: 10pt"&gt;&lt;div style="display: inline; font-family: times new roman; font-size: 10pt"&gt;&lt;div style="display: inline; font-family: times new roman; font-size: 10pt"&gt;&lt;div style="display: inline; font-family: times new roman; font-size: 10pt"&gt;&lt;div style="display: inline; font-family: times new roman; font-size: 10pt"&gt;&lt;div style="display: inline; font-family: times new roman; font-size: 10pt"&gt;&lt;div style="display: inline; font-family: times new roman; font-size: 10pt"&gt;&lt;div style="display: inline; font-family: times new roman; font-size: 10pt"&gt;&lt;div style="display: inline; font-family: times new roman; font-size: 10pt"&gt;&lt;div style="display: inline; font-family: times new roman; font-size: 10pt"&gt;&lt;div style=" font: italic bold 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;Stock-based compensation plans&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&lt;div style="display: inline; text-decoration: underline;"&gt;Stock Options&lt;/div&gt;&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;We maintain stock option plans for non-employee directors, officers, employees and other service providers. Options to purchase our common shares are granted at an exercise price equal to the fair market value of our common shares as of the date of grant. This fair market value is determined using the closing price of our common shares on the TSX on the day immediately preceding the date of the grant.&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&amp;nbsp;&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;Employee stock options generally vest over a &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;five&lt;/div&gt;-year period starting from the grant date and expire &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;seven&lt;/div&gt; years from the grant date. Non-employee directors&amp;#x2019; and officers&amp;#x2019; stock options generally have quarterly vesting over a &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;three&lt;/div&gt; to &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;five&lt;/div&gt;-year period. We issue new shares from treasury upon the exercise of a stock option.&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&amp;nbsp;&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;The fair value of employee stock option grants that are ultimately expected to vest are amortized to expense in our consolidated statement of operations based on the straight-line attribution method. The fair value of stock option grants is calculated using the Black-Scholes Merton option-pricing model. Expected volatility is based on historical volatility of our common stock and other factors. The risk-free interest rates are based on Government of Canada average bond yields for a period consistent with the expected life of the option in effect at the time of the grant. The expected option life is based on the historical life of our granted options and other factors.&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&amp;nbsp;&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;Effective as of &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt; February 1, 2017, &lt;/div&gt;the Company adopted a change in accounting policy in accordance with ASU &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;2016&lt;/div&gt;-&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;09&lt;/div&gt; to account for forfeitures as they occur. The change was applied on a modified retrospective basis, and &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;no&lt;/div&gt; prior periods were restated as a result of this change in accounting policy.&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&amp;nbsp;&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&lt;div style="display: inline; text-decoration: underline;"&gt;Performance &amp;amp; Restricted Share Units&lt;/div&gt;&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;We maintain a performance and restricted share unit plan pursuant to which certain of our officers are eligible to receive grants of performance share units (&amp;#x201c;PSUs&amp;#x201d;) and restricted share units (&amp;#x201c;RSUs&amp;#x201d;).&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&amp;nbsp;&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;PSUs vest at the end of a &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;three&lt;/div&gt;-year performance period. The ultimate number of PSUs that vest is based on the total shareholder return (&amp;#x201c;TSR&amp;#x201d;) of our Company relative to the TSR of companies comprising a peer index group. TSR is calculated based on the weighted-average closing price of shares for the &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;five&lt;/div&gt; trading days preceding the beginning and end of the performance period. The fair value of PSUs is expensed to stock-based compensation expense over the vesting period. PSUs expire &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;ten&lt;/div&gt; years from the grant date. New shares are issued from treasury upon the redemption of a PSU.&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&amp;nbsp;&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;PSUs are measured at fair value estimated using a Monte Carlo Simulation approach. Expected volatility is based on historical volatility of our common stock and other factors. The risk-free interest rates are based on the Government of Canada average bond yields for a period consistent with the expected life of the PSUs at the time of the grant. The expected PSU life is based on the historical life of our stock options and other factors.&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&amp;nbsp;&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;RSUs vest annually over a &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;three&lt;/div&gt;-year period starting from the grant date and expire &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;ten&lt;/div&gt; years from the grant date. We issue new shares from treasury upon the redemption of an RSU.&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&amp;nbsp;&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;RSUs are measured at fair value based on the closing price of our common shares for the day preceding the date of the grant and will be expensed to stock-based compensation expense over the vesting period.&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&amp;nbsp;&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&lt;/div&gt; &lt;!-- Field: Page; Sequence: 12 --&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&lt;div style="display: inline; text-decoration: underline;"&gt;Deferred Share Unit Plan&lt;/div&gt;&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;Our board of directors adopted a deferred share unit plan effective as of &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt; June 28, 2004, &lt;/div&gt;pursuant to which non-employee directors are eligible to receive grants of deferred share units (&amp;#x201c;DSUs&amp;#x201d;), each of which has an initial value equal to the weighted-average closing price of our common shares for the &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;five&lt;/div&gt; trading days preceding the grant date. The plan allows each director to choose to receive, in the form of DSUs, all, &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;none&lt;/div&gt; or a percentage of the eligible director&amp;#x2019;s fees which would otherwise be payable in cash. If a director has invested less than the minimum amount of equity in Descartes, as prescribed from time to time by the board of directors, then the director must take at least &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;50%&lt;/div&gt; of the base annual fee for serving as a director in the form of DSUs. Each DSU fully vests upon award but is distributed only when the director ceases to be a member of the board of directors. Vested units are settled in cash based on our common share price when conversion takes place. Fair value of the liability is based on the closing price of our common shares at the balance sheet date.&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&amp;nbsp;&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&lt;div style="display: inline; text-decoration: underline;"&gt;Cash-Settled Restricted Share Unit Plan&lt;/div&gt;&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;Our board of directors adopted a cash-settled restricted share unit plan effective as of &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt; May 23, 2007, &lt;/div&gt;pursuant to which certain of our employees and non-employee directors are eligible to receive grants of cash-settled restricted share units (&amp;#x201c;CRSUs&amp;#x201d;), each of which has an initial value equal to the weighted-average closing price of our common shares for the &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;five&lt;/div&gt; trading days preceding the date of the grant. The CRSUs generally vest based on continued employment and have annual vesting over &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;three&lt;/div&gt; to &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;five&lt;/div&gt;-year periods. Vested units are settled in cash based on our common share price when conversion takes place, which is within &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;30&lt;/div&gt; days following a vesting date and in any event prior to &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt; December 31&lt;/div&gt;&lt;div style="display: inline; bottom:.33em; font-size: 82%; position: relative; vertical-align: baseline;"&gt;st&lt;/div&gt; of the calendar year in which a vesting date occurs. Fair value of the liability is based on the closing price of our common shares at the balance sheet date.&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;</us-gaap:ShareBasedCompensationOptionAndIncentivePlansPolicy>
  <us-gaap:ShareBasedCompensationPerformanceSharesAwardOutstandingActivityTableTextBlock contextRef="d_2019-02-01_2020-01-31" id="c-23">&lt;div style="display: inline; font-family: times new roman; font-size: 10pt"&gt;&lt;table cellpadding="0" cellspacing="0" style="border-collapse: collapse; font: 10pt Times New Roman, Times, Serif; min-; min-width: 700px;"&gt; &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td style="text-align: center; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;div style="display: inline; font-weight: bold;"&gt;Number of PSUs Outstanding&lt;/div&gt;&lt;/div&gt;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; white-space: nowrap; border-bottom: Black 1pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; text-align: right"&gt;&lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: right"&gt;&lt;div style="display: inline; font-weight: bold;"&gt;Weighted-&lt;/div&gt;&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: right"&gt;&lt;div style="display: inline; font-weight: bold;"&gt;Average Granted Date Fair Value&lt;/div&gt;&lt;/div&gt;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; white-space: nowrap; border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; font-weight: bold; border-bottom: Black 1pt solid"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;div style="display: inline; font-weight: bold;"&gt;Weighted- Average Remaining Contractual Life (years)&lt;/div&gt;&lt;/div&gt;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; white-space: nowrap; border-bottom: Black 1pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; text-align: right"&gt;&lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: right"&gt;&lt;div style="display: inline; font-weight: bold;"&gt;Aggregate Intrinsic&lt;/div&gt;&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: right"&gt;&lt;div style="display: inline; font-weight: bold;"&gt;Value&lt;/div&gt;&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: right"&gt;&lt;div style="display: inline; font-weight: bold;"&gt;(in millions)&lt;/div&gt;&lt;/div&gt;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; white-space: nowrap; border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td style="width: 52%"&gt;Balance at January 31, 2018&lt;/td&gt; &lt;td style="width: 1%"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 1%; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 9%; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;440,520&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; width: 1%; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 1%"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 1%; text-align: left"&gt;$&lt;/td&gt; &lt;td style="width: 9%; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;15.91&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; width: 1%; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 1%"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 1%; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 9%; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;6.1&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; width: 1%; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 1%"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 1%; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 9%; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;11.9&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; width: 1%; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td style="padding-left: 12.25pt"&gt;Granted&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;54,351&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;$&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;35.23&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td style="text-align: left; padding-bottom: 1pt; padding-left: 12.25pt"&gt;Performance units issued&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;35,512&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;$&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;19.59&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td&gt;Balance at January 31, 2019&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;530,383&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;$&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;18.02&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;5.5&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;16.6&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td style="padding-left: 12.25pt"&gt;Granted&lt;/td&gt; &lt;td style="font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;53,729&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold; text-align: left"&gt;$&lt;/td&gt; &lt;td style="font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;53.65&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td style="text-align: left; padding-bottom: 1pt; padding-left: 12.25pt"&gt;Performance units issued&lt;/td&gt; &lt;td style="font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;45,762&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold; border-bottom: Black 1pt solid"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: left"&gt;$&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;23.24&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td style="padding-bottom: 1pt"&gt;Balance at January 31, 2020&lt;/td&gt; &lt;td style="font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;629,874&lt;/div&gt;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; white-space: nowrap; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: left"&gt;$&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;21.19&lt;/div&gt;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; white-space: nowrap; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;5.0&lt;/div&gt;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; white-space: nowrap; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;28.2&lt;/div&gt;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; white-space: nowrap; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td style="text-align: left; padding-bottom: 1pt"&gt;Vested or expected to vest at January 31, 2020&lt;/td&gt; &lt;td style="font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;629,874&lt;/div&gt;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; white-space: nowrap; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: left"&gt;$&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;21.19&lt;/div&gt;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; white-space: nowrap; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;5.0&lt;/div&gt;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; white-space: nowrap; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;28.2&lt;/div&gt;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; white-space: nowrap; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td style="padding-bottom: 1pt"&gt;Exercisable at January 31, 2020&lt;/td&gt; &lt;td style="font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;521,794&lt;/div&gt;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; white-space: nowrap; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: left"&gt;$&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;16.45&lt;/div&gt;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; white-space: nowrap; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;4.3&lt;/div&gt;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; white-space: nowrap; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;23.4&lt;/div&gt;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; white-space: nowrap; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;/table&gt;&lt;/div&gt;</us-gaap:ShareBasedCompensationPerformanceSharesAwardOutstandingActivityTableTextBlock>
  <us-gaap:ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeLowerRangeLimit contextRef="d_2019-02-01_2020-01-31_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeAxis-Range1Member" decimals="INF" id="c59149981" unitRef="iso4217-usd-per-xbrli-shares">11.43</us-gaap:ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeLowerRangeLimit>
  <us-gaap:ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeLowerRangeLimit contextRef="d_2019-02-01_2020-01-31_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeAxis-Range2Member" decimals="INF" id="c59149988" unitRef="iso4217-usd-per-xbrli-shares">18.71</us-gaap:ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeLowerRangeLimit>
  <us-gaap:ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeLowerRangeLimit contextRef="d_2019-02-01_2020-01-31_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeAxis-Range3Member" decimals="INF" id="c59149995" unitRef="iso4217-usd-per-xbrli-shares">25.91</us-gaap:ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeLowerRangeLimit>
  <us-gaap:ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeLowerRangeLimit contextRef="d_2019-02-01_2020-01-31_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeAxis-Range4Member" decimals="INF" id="c59150002" unitRef="iso4217-usd-per-xbrli-shares">38.04</us-gaap:ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeLowerRangeLimit>
  <us-gaap:ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeNumberOfExercisableOptions contextRef="i_2020-01-31_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeAxis-Range1Member" decimals="INF" id="c59149987" unitRef="xbrli-shares">126500</us-gaap:ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeNumberOfExercisableOptions>
  <us-gaap:ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeNumberOfExercisableOptions contextRef="i_2020-01-31_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeAxis-Range2Member" decimals="INF" id="c59149994" unitRef="xbrli-shares">357014</us-gaap:ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeNumberOfExercisableOptions>
  <us-gaap:ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeNumberOfExercisableOptions contextRef="i_2020-01-31_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeAxis-Range3Member" decimals="INF" id="c59150001" unitRef="xbrli-shares">140461</us-gaap:ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeNumberOfExercisableOptions>
  <us-gaap:ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeNumberOfExercisableOptions contextRef="i_2020-01-31_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeAxis-Range4Member" decimals="INF" id="c59150008" unitRef="xbrli-shares">94194</us-gaap:ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeNumberOfExercisableOptions>
  <us-gaap:ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeNumberOfExercisableOptions contextRef="i_2020-01-31" decimals="INF" id="c59150015" unitRef="xbrli-shares">718169</us-gaap:ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeNumberOfExercisableOptions>
  <us-gaap:ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeNumberOfOutstandingOptions contextRef="i_2020-01-31_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeAxis-Range1Member" decimals="INF" id="c59149984" unitRef="xbrli-shares">126500</us-gaap:ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeNumberOfOutstandingOptions>
  <us-gaap:ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeNumberOfOutstandingOptions contextRef="i_2020-01-31_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeAxis-Range2Member" decimals="INF" id="c59149991" unitRef="xbrli-shares">397014</us-gaap:ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeNumberOfOutstandingOptions>
  <us-gaap:ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeNumberOfOutstandingOptions contextRef="i_2020-01-31_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeAxis-Range3Member" decimals="INF" id="c59149998" unitRef="xbrli-shares">247935</us-gaap:ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeNumberOfOutstandingOptions>
  <us-gaap:ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeNumberOfOutstandingOptions contextRef="i_2020-01-31_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeAxis-Range4Member" decimals="INF" id="c59150005" unitRef="xbrli-shares">356373</us-gaap:ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeNumberOfOutstandingOptions>
  <us-gaap:ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeNumberOfOutstandingOptions contextRef="i_2020-01-31" decimals="INF" id="c59150012" unitRef="xbrli-shares">1127822</us-gaap:ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeNumberOfOutstandingOptions>
  <us-gaap:ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeUpperRangeLimit contextRef="d_2019-02-01_2020-01-31_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeAxis-Range1Member" decimals="INF" id="c59149982" unitRef="iso4217-usd-per-xbrli-shares">11.59</us-gaap:ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeUpperRangeLimit>
  <us-gaap:ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeUpperRangeLimit contextRef="d_2019-02-01_2020-01-31_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeAxis-Range2Member" decimals="INF" id="c59149989" unitRef="iso4217-usd-per-xbrli-shares">22.57</us-gaap:ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeUpperRangeLimit>
  <us-gaap:ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeUpperRangeLimit contextRef="d_2019-02-01_2020-01-31_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeAxis-Range3Member" decimals="INF" id="c59149996" unitRef="iso4217-usd-per-xbrli-shares">27.50</us-gaap:ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeUpperRangeLimit>
  <us-gaap:ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeUpperRangeLimit contextRef="d_2019-02-01_2020-01-31_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeAxis-Range4Member" decimals="INF" id="c59150003" unitRef="iso4217-usd-per-xbrli-shares">39.70</us-gaap:ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeUpperRangeLimit>
  <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsAggregateIntrinsicValueOutstanding contextRef="i_2018-01-31_AwardTypeAxis-PerformanceSharesMember" decimals="-5" id="c59150037" unitRef="iso4217-usd">11900000</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsAggregateIntrinsicValueOutstanding>
  <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsAggregateIntrinsicValueOutstanding contextRef="i_2019-01-31_AwardTypeAxis-PerformanceSharesMember" decimals="-5" id="c59150049" unitRef="iso4217-usd">16600000</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsAggregateIntrinsicValueOutstanding>
  <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsAggregateIntrinsicValueOutstanding contextRef="i_2020-01-31_AwardTypeAxis-PerformanceSharesMember" decimals="-5" id="c59150061" unitRef="iso4217-usd">28200000</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsAggregateIntrinsicValueOutstanding>
  <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsAggregateIntrinsicValueOutstanding contextRef="i_2018-01-31_AwardTypeAxis-RestrictedStockUnitsRSUMember" decimals="-5" id="c59150073" unitRef="iso4217-usd">8100000</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsAggregateIntrinsicValueOutstanding>
  <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsAggregateIntrinsicValueOutstanding contextRef="i_2019-01-31_AwardTypeAxis-RestrictedStockUnitsRSUMember" decimals="-5" id="c59150081" unitRef="iso4217-usd">10600000</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsAggregateIntrinsicValueOutstanding>
  <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsAggregateIntrinsicValueOutstanding contextRef="i_2020-01-31_AwardTypeAxis-RestrictedStockUnitsRSUMember" decimals="-5" id="c59150089" unitRef="iso4217-usd">16800000</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsAggregateIntrinsicValueOutstanding>
  <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardExpirationPeriod contextRef="d_2019-02-01_2020-01-31_AwardTypeAxis-EmployeeStockOptionMember" id="c59148431">P7Y</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardExpirationPeriod>
  <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardExpirationPeriod contextRef="d_2019-02-01_2020-01-31_AwardTypeAxis-PerformanceSharesMember" id="c59148439">P10Y</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardExpirationPeriod>
  <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardExpirationPeriod contextRef="d_2019-02-01_2020-01-31_AwardTypeAxis-RestrictedStockUnitsRSUMember" id="c59148441">P10Y</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardExpirationPeriod>
  <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1 contextRef="d_2019-02-01_2020-01-31" id="c59149934">P5Y</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1>
  <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1 contextRef="d_2018-02-01_2019-01-31" id="c59149935">P5Y</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1>
  <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1 contextRef="d_2017-02-01_2018-01-31" id="c59149936">P5Y</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1>
  <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableIntrinsicValue1 contextRef="i_2020-01-31" decimals="-5" id="c59149980" unitRef="iso4217-usd">15700000</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableIntrinsicValue1>
  <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageRemainingContractualTerm1 contextRef="d_2019-02-01_2020-01-31" id="c59149979">P4Y</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageRemainingContractualTerm1>
  <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedNumberOfShares contextRef="i_2018-01-31_PlanNameAxis-ShareholderapprovedStockOptionPlanMember" decimals="INF" id="c59150016" unitRef="xbrli-shares">276067</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedNumberOfShares>
  <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedNumberOfShares contextRef="i_2019-01-31_PlanNameAxis-ShareholderapprovedStockOptionPlanMember" decimals="INF" id="c59150024" unitRef="xbrli-shares">325218</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedNumberOfShares>
  <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedNumberOfShares contextRef="i_2020-01-31_PlanNameAxis-ShareholderapprovedStockOptionPlanMember" decimals="INF" id="c59150032" unitRef="xbrli-shares">409653</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedNumberOfShares>
  <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedOptionsForfeitedNumberOfShares contextRef="d_2018-02-01_2019-01-31_PlanNameAxis-ShareholderapprovedStockOptionPlanMember" decimals="INF" id="c59150022" unitRef="xbrli-shares">3950</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedOptionsForfeitedNumberOfShares>
  <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedOptionsForfeitedNumberOfShares contextRef="d_2019-02-01_2020-01-31_PlanNameAxis-ShareholderapprovedStockOptionPlanMember" decimals="INF" id="c59150030" unitRef="xbrli-shares">23469</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedOptionsForfeitedNumberOfShares>
  <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedOptionsForfeitedWeightedAverageGrantDateFairValue contextRef="d_2018-02-01_2019-01-31_PlanNameAxis-ShareholderapprovedStockOptionPlanMember" decimals="INF" id="c59150023" unitRef="iso4217-usd-per-xbrli-shares">6.41</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedOptionsForfeitedWeightedAverageGrantDateFairValue>
  <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedOptionsForfeitedWeightedAverageGrantDateFairValue contextRef="d_2019-02-01_2020-01-31_PlanNameAxis-ShareholderapprovedStockOptionPlanMember" decimals="INF" id="c59150031" unitRef="iso4217-usd-per-xbrli-shares">7.69</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedOptionsForfeitedWeightedAverageGrantDateFairValue>
  <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedWeightedAverageGrantDateFairValue contextRef="i_2018-01-31_PlanNameAxis-ShareholderapprovedStockOptionPlanMember" decimals="INF" id="c59150017" unitRef="iso4217-usd-per-xbrli-shares">4.98</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedWeightedAverageGrantDateFairValue>
  <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedWeightedAverageGrantDateFairValue contextRef="i_2019-01-31_PlanNameAxis-ShareholderapprovedStockOptionPlanMember" decimals="INF" id="c59150025" unitRef="iso4217-usd-per-xbrli-shares">6.18</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedWeightedAverageGrantDateFairValue>
  <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedWeightedAverageGrantDateFairValue contextRef="i_2020-01-31_PlanNameAxis-ShareholderapprovedStockOptionPlanMember" decimals="INF" id="c59150033" unitRef="iso4217-usd-per-xbrli-shares">8.03</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedWeightedAverageGrantDateFairValue>
  <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2 contextRef="d_2017-02-01_2018-01-31" id="c59149939">P4Y328D</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2>
  <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2 contextRef="d_2018-02-01_2019-01-31" id="c59149955">P4Y255D</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2>
  <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2 contextRef="d_2019-02-01_2020-01-31" id="c59149971">P4Y219D</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2>
  <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageRemainingContractualTerm1 contextRef="d_2019-02-01_2020-01-31" id="c59149975">P4Y219D</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageRemainingContractualTerm1>
  <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageRemainingContractualTerm1 contextRef="d_2019-02-01_2020-01-31_AwardTypeAxis-PerformanceSharesMember" id="c59150064">P5Y</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageRemainingContractualTerm1>
  <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageRemainingContractualTerm1 contextRef="d_2019-02-01_2020-01-31_AwardTypeAxis-RestrictedStockUnitsRSUMember" id="c59150092">P5Y</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageRemainingContractualTerm1>
  <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedInPeriodFairValue1 contextRef="d_2019-02-01_2020-01-31_AwardTypeAxis-EmployeeStockOptionMember" decimals="-3" id="c59149862" unitRef="iso4217-usd">1900000</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedInPeriodFairValue1>
  <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedNumberOfShares contextRef="d_2018-02-01_2019-01-31_PlanNameAxis-ShareholderapprovedStockOptionPlanMember" decimals="INF" id="c59150020" unitRef="xbrli-shares">219043</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedNumberOfShares>
  <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedNumberOfShares contextRef="d_2019-02-01_2020-01-31_PlanNameAxis-ShareholderapprovedStockOptionPlanMember" decimals="INF" id="c59150028" unitRef="xbrli-shares">259269</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedNumberOfShares>
  <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedWeightedAverageGrantDateFairValue contextRef="d_2018-02-01_2019-01-31_PlanNameAxis-ShareholderapprovedStockOptionPlanMember" decimals="INF" id="c59150021" unitRef="iso4217-usd-per-xbrli-shares">5.56</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedWeightedAverageGrantDateFairValue>
  <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedWeightedAverageGrantDateFairValue contextRef="d_2019-02-01_2020-01-31_PlanNameAxis-ShareholderapprovedStockOptionPlanMember" decimals="INF" id="c59150029" unitRef="iso4217-usd-per-xbrli-shares">6.96</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedWeightedAverageGrantDateFairValue>
  <us-gaap:SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeExercisableOptionsWeightedAverageExercisePrice1 contextRef="i_2020-01-31_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeAxis-Range1Member" decimals="INF" id="c59149986" unitRef="iso4217-usd-per-xbrli-shares">11.57</us-gaap:SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeExercisableOptionsWeightedAverageExercisePrice1>
  <us-gaap:SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeExercisableOptionsWeightedAverageExercisePrice1 contextRef="i_2020-01-31_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeAxis-Range2Member" decimals="INF" id="c59149993" unitRef="iso4217-usd-per-xbrli-shares">21.08</us-gaap:SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeExercisableOptionsWeightedAverageExercisePrice1>
  <us-gaap:SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeExercisableOptionsWeightedAverageExercisePrice1 contextRef="i_2020-01-31_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeAxis-Range3Member" decimals="INF" id="c59150000" unitRef="iso4217-usd-per-xbrli-shares">27.49</us-gaap:SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeExercisableOptionsWeightedAverageExercisePrice1>
  <us-gaap:SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeExercisableOptionsWeightedAverageExercisePrice1 contextRef="i_2020-01-31_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeAxis-Range4Member" decimals="INF" id="c59150007" unitRef="iso4217-usd-per-xbrli-shares">38.06</us-gaap:SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeExercisableOptionsWeightedAverageExercisePrice1>
  <us-gaap:SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeExercisableOptionsWeightedAverageExercisePrice1 contextRef="i_2020-01-31" decimals="INF" id="c59150014" unitRef="iso4217-usd-per-xbrli-shares">22.88</us-gaap:SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeExercisableOptionsWeightedAverageExercisePrice1>
  <us-gaap:SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingOptionsWeightedAverageExercisePriceBeginningBalance1 contextRef="i_2020-01-31_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeAxis-Range1Member" decimals="INF" id="c59149983" unitRef="iso4217-usd-per-xbrli-shares">11.57</us-gaap:SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingOptionsWeightedAverageExercisePriceBeginningBalance1>
  <us-gaap:SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingOptionsWeightedAverageExercisePriceBeginningBalance1 contextRef="i_2020-01-31_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeAxis-Range2Member" decimals="INF" id="c59149990" unitRef="iso4217-usd-per-xbrli-shares">21.17</us-gaap:SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingOptionsWeightedAverageExercisePriceBeginningBalance1>
  <us-gaap:SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingOptionsWeightedAverageExercisePriceBeginningBalance1 contextRef="i_2020-01-31_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeAxis-Range3Member" decimals="INF" id="c59149997" unitRef="iso4217-usd-per-xbrli-shares">27.49</us-gaap:SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingOptionsWeightedAverageExercisePriceBeginningBalance1>
  <us-gaap:SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingOptionsWeightedAverageExercisePriceBeginningBalance1 contextRef="i_2020-01-31_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeAxis-Range4Member" decimals="INF" id="c59150004" unitRef="iso4217-usd-per-xbrli-shares">38.07</us-gaap:SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingOptionsWeightedAverageExercisePriceBeginningBalance1>
  <us-gaap:SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingOptionsWeightedAverageExercisePriceBeginningBalance1 contextRef="i_2020-01-31" decimals="INF" id="c59150011" unitRef="iso4217-usd-per-xbrli-shares">26.82</us-gaap:SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingOptionsWeightedAverageExercisePriceBeginningBalance1>
  <us-gaap:SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingOptionsWeightedAverageRemainingContractualTerm2 contextRef="d_2019-02-01_2020-01-31_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeAxis-Range1Member" id="c59149985">P1Y146D</us-gaap:SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingOptionsWeightedAverageRemainingContractualTerm2>
  <us-gaap:SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingOptionsWeightedAverageRemainingContractualTerm2 contextRef="d_2019-02-01_2020-01-31_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeAxis-Range2Member" id="c59149992">P3Y292D</us-gaap:SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingOptionsWeightedAverageRemainingContractualTerm2>
  <us-gaap:SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingOptionsWeightedAverageRemainingContractualTerm2 contextRef="d_2019-02-01_2020-01-31_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeAxis-Range3Member" id="c59149999">P5Y73D</us-gaap:SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingOptionsWeightedAverageRemainingContractualTerm2>
  <us-gaap:SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingOptionsWeightedAverageRemainingContractualTerm2 contextRef="d_2019-02-01_2020-01-31_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeAxis-Range4Member" id="c59150006">P6Y73D</us-gaap:SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingOptionsWeightedAverageRemainingContractualTerm2>
  <us-gaap:SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingOptionsWeightedAverageRemainingContractualTerm2 contextRef="d_2019-02-01_2020-01-31" id="c59150013">P4Y219D</us-gaap:SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingOptionsWeightedAverageRemainingContractualTerm2>
  <us-gaap:SharesIssuedPricePerShare contextRef="i_2019-06-10" decimals="INF" id="c59149787" unitRef="iso4217-usd-per-xbrli-shares">35.50</us-gaap:SharesIssuedPricePerShare>
  <us-gaap:ShortTermLeaseCost contextRef="d_2019-02-01_2020-01-31" decimals="-3" id="c59149716" unitRef="iso4217-usd">866000</us-gaap:ShortTermLeaseCost>
  <us-gaap:SignificantAccountingPoliciesTextBlock contextRef="d_2019-02-01_2020-01-31" id="s1506246">&lt;div style="display: inline; font-family: times new roman; font-size: 10pt"&gt;&lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"&gt;&lt;div style="display: inline; font-weight: bold;"&gt;Note &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;2&lt;/div&gt; &amp;#x2013; Basis of Presentation&lt;/div&gt;&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"&gt;&amp;nbsp;&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&lt;/div&gt; &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;&lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;The accompanying consolidated financial statements are presented in United States (&amp;#x201c;US&amp;#x201d;) dollars and are prepared in accordance with generally accepted accounting principles in the US (&amp;#x201c;GAAP&amp;#x201d;) and the rules and regulations of the Canadian Securities Administrators and the US Securities and Exchange Commission (&amp;#x201c;SEC&amp;#x201d;) for the preparation of consolidated financial statements.&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&amp;nbsp;&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;Our fiscal year commences on &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt; February 1&lt;/div&gt;&lt;div style="display: inline; bottom:.33em; font-size: 82%; position: relative; vertical-align: baseline;"&gt;st&lt;/div&gt; of each year and ends on &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt; January 31&lt;/div&gt;&lt;div style="display: inline; bottom:.33em; font-size: 82%; position: relative; vertical-align: baseline;"&gt;st&lt;/div&gt; of the following year. Our fiscal year, which ends on &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt; January 31, 2020, &lt;/div&gt;is referred to as the &amp;#x201c;current fiscal year&amp;#x201d;, &amp;#x201c;fiscal &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;2020&amp;#x201d;,&lt;/div&gt; &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;&amp;#x201c;2020&amp;#x201d;&lt;/div&gt; or using similar words. Our previous fiscal year, which ended on &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt; January 31, 2019, &lt;/div&gt;is referred to as the &amp;#x201c;previous fiscal year&amp;#x201d;, &amp;#x201c;fiscal &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;2019&amp;#x201d;,&lt;/div&gt; &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;&amp;#x201c;2019&amp;#x201d;&lt;/div&gt; or using similar words. Other fiscal years are referenced by the applicable year during which the fiscal year ends. For example, &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;&amp;#x201c;2021&amp;#x201d;&lt;/div&gt; refers to the annual period ending &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt; January 31, 2021 &lt;/div&gt;and the &amp;#x201c;fourth quarter of &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;2021&amp;#x201d;&lt;/div&gt; refers to the quarter ending &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt; January 31, 2021.&lt;/div&gt;&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&amp;nbsp;&lt;/div&gt;&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"&gt;&lt;div style="display: inline; font-weight: bold;"&gt;&lt;div style="display: inline; font-style: italic;"&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt; &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;&lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"&gt;&lt;div style="display: inline; font-weight: bold;"&gt;&lt;div style="display: inline; font-style: italic;"&gt;Basis of consolidation&lt;/div&gt;&lt;/div&gt;&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;The consolidated financial statements include the financial statements of Descartes and our wholly-owned subsidiaries. We do &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;not&lt;/div&gt; have any variable interests in variable interest entities. All intercompany accounts and transactions have been eliminated during consolidation.&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&amp;nbsp;&lt;/div&gt;&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"&gt;&lt;div style="display: inline; font-weight: bold;"&gt;&lt;div style="display: inline; font-style: italic;"&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt; &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;&lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"&gt;&lt;div style="display: inline; font-weight: bold;"&gt;&lt;div style="display: inline; font-style: italic;"&gt;Foreign currency translation&lt;/div&gt;&lt;/div&gt;&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;The US dollar is the presentation currency of the Company. Assets and liabilities of our subsidiaries are translated into US dollars at the exchange rate in effect at the balance sheet date. Revenues and expenses are translated into US dollars using daily exchange rates. Translation adjustments resulting from this process are accumulated in other comprehensive income (loss) as a separate component of shareholders&amp;#x2019; equity. On substantial liquidation of a foreign operation, the component of accumulated other comprehensive income relating to that particular foreign operation is recognized in the consolidated statements of operations.&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&amp;nbsp;&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;The functional currency of each of our entities is the local currency in which they operate. Transactions incurred in currencies other than the local currency of an entity are converted to the local currency at the transaction date. Monetary assets and liabilities denominated in foreign currencies are re-measured into the local currency at the exchange rate in effect at the balance sheet date. All foreign currency re-measurement gains and losses are included in net income. For the year ended &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt; January 31, 2020, &lt;/div&gt;foreign currency re-measurement loss of &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;$0.6&lt;/div&gt; million was included in net income (&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt; January 31, 2019 &amp;#x2013; &lt;/div&gt;loss of &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;$0.4&lt;/div&gt; million; &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt; January 31, 2018 &amp;#x2013; &lt;/div&gt;loss of &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;$0.4&lt;/div&gt; million).&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&amp;nbsp;&lt;/div&gt;&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&lt;/div&gt; &lt;!-- Field: Page; Sequence: 6 --&gt;   &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"&gt;&lt;div style="display: inline; font-weight: bold;"&gt;&lt;div style="display: inline; font-style: italic;"&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt; &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;&lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"&gt;&lt;div style="display: inline; font-weight: bold;"&gt;&lt;div style="display: inline; font-style: italic;"&gt;Use of estimates&lt;/div&gt;&lt;/div&gt;&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;Preparing financial statements in conformity with GAAP requires management to make estimates and assumptions that affect the amounts that are reported in the consolidated financial statements and accompanying note disclosures. Although these estimates and assumptions are based on management&amp;#x2019;s best knowledge of current events, actual results &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt; may &lt;/div&gt;be different from the estimates. These estimates, judgments and assumptions are evaluated on an ongoing basis. We base our estimates on historical experience and on various other assumptions that we believe are reasonable at that time, the results of which form the basis for making judgments about the carrying values of assets and liabilities that are &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;not&lt;/div&gt; readily apparent from other sources.&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&amp;nbsp;&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;Estimates and assumptions are used when accounting for items such as allocations of the purchase price and the fair value of net assets acquired in business combination transactions, useful lives of intangible assets and property and equipment, revenue related estimates including determining the nature and timing of satisfaction of performance obligations, and determining the standalone selling price (&amp;#x201c;SSP&amp;#x201d;) of performance obligations, variable consideration, and other obligations such as product returns and refunds, allowance for doubtful accounts, collectability of other receivables, provisions for excess or obsolete inventory, determining the Company&amp;#x2019;s incremental borrowing rate, restructuring accruals, fair value of stock-based compensation, assumptions embodied in the valuation of assets for impairment assessment, accounting for income taxes, valuation allowances for deferred income tax assets, realization of investment tax credits, uncertain tax positions and recognition of contingencies.&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&amp;nbsp;&lt;/div&gt;&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"&gt;&lt;div style="display: inline; font-weight: bold;"&gt;&lt;div style="display: inline; font-style: italic;"&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt; &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;&lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"&gt;&lt;div style="display: inline; font-weight: bold;"&gt;&lt;div style="display: inline; font-style: italic;"&gt;Cash&lt;/div&gt;&lt;/div&gt;&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;Cash included highly liquid short-term deposits with original maturities of &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;three&lt;/div&gt; months or less.&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&amp;nbsp;&lt;/div&gt;&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"&gt;&lt;div style="display: inline; font-weight: bold;"&gt;&lt;div style="display: inline; font-style: italic;"&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt; &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;&lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"&gt;&lt;div style="display: inline; font-weight: bold;"&gt;&lt;div style="display: inline; font-style: italic;"&gt;Financial instruments&lt;/div&gt;&lt;/div&gt;&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&lt;div style="display: inline; text-decoration: underline;"&gt;Fair value of financial instruments&lt;/div&gt;&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;The carrying amounts of the Company&amp;#x2019;s cash, accounts receivable (net), accounts payable, accrued liabilities and income taxes payable approximate their fair value due to their short maturities.&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&amp;nbsp;&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&lt;div style="display: inline; text-decoration: underline;"&gt;Derivative instruments&lt;/div&gt;&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;We use derivative instruments to manage equity risk relating to our share-based compensation. We account for these instruments in accordance with ASC Topic &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;815&lt;/div&gt; &amp;#x201c;Derivatives and Hedging&amp;#x201d; (Topic &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;815&lt;/div&gt;), which requires that every derivative instrument be recorded on the balance sheet as either an asset or a liability measured at its fair value as of the reporting date. We do &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;not&lt;/div&gt; designate our derivative instruments as hedges and as such the changes in our derivative financial instruments' fair values are recognized in earnings. The fair value of equity contract derivatives is determined utilizing a valuation model based on the quoted market value of our common shares at the balance sheet date.&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&amp;nbsp;&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&lt;div style="display: inline; text-decoration: underline;"&gt;Foreign exchange risk&lt;/div&gt;&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;We are exposed to foreign exchange risk because the Company transacts business in currencies other than the US dollar. Accordingly, our results are affected, and &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt; may &lt;/div&gt;be affected in the future, by exchange rate fluctuations of the US dollar relative to the Canadian dollar, euro, British pound sterling and various other foreign currencies.&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&amp;nbsp;&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&lt;div style="display: inline; text-decoration: underline;"&gt;Interest rate risk&lt;/div&gt;&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;Depending on the type of advance under the available facilities, interest on such borrowings will be charged based on either i) Canada or US prime rate; or ii) Banker&amp;#x2019;s Acceptance (BA); or iii) LIBOR. We are exposed to interest rate fluctuations to the extent that we borrow on our credit facility.&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&amp;nbsp;&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&lt;/div&gt; &lt;!-- Field: Page; Sequence: 7 --&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"&gt;&lt;div style="display: inline; text-decoration: underline;"&gt;Credit risk&lt;/div&gt;&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;We are exposed to credit risk through our invested cash and accounts receivable. We hold our cash with reputable financial institutions. The lack of concentration of accounts receivable from a single customer and the dispersion of customers among industries and geographical locations mitigate our credit risk.&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&amp;nbsp;&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;We do &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;not&lt;/div&gt; use any type of speculative financial instruments, including but &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;not&lt;/div&gt; limited to foreign exchange contracts, futures, swaps and option agreements, to manage our foreign exchange or interest rate risks. In addition, we do &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;not&lt;/div&gt; hold or issue financial instruments for trading purposes.&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&amp;nbsp;&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"&gt;&lt;div style="display: inline; text-decoration: underline;"&gt;Equity risk&lt;/div&gt;&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;We are exposed to equity risk through certain share-based compensation expenses that are fair valued at the balance sheet date. The Company enters into equity derivative contracts including floating-rate equity forwards to partially offset the potential fluctuations of certain future share-based compensation expenses. The Company does &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;not&lt;/div&gt; hold derivatives for speculative purposes.&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&amp;nbsp;&lt;/div&gt;&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"&gt;&lt;div style="display: inline; font-weight: bold;"&gt;&lt;div style="display: inline; font-style: italic;"&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt; &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;&lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"&gt;&lt;div style="display: inline; font-weight: bold;"&gt;&lt;div style="display: inline; font-style: italic;"&gt;Allowance for doubtful accounts&lt;/div&gt;&lt;/div&gt;&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;We maintain an allowance for doubtful accounts for estimated losses resulting from the inability of customers to make their required payments. Specifically, we consider the age of the receivables, customers&amp;#x2019; payment history, historical write-offs, the creditworthiness of the customer, and current economic trends among other factors. Accounts receivable are written off, and the associated allowance is eliminated, if it is determined that the specific balance is &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;no&lt;/div&gt; longer collectible. The allowance is maintained for &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;100%&lt;/div&gt; of all accounts deemed to be uncollectible and, for those receivables &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;not&lt;/div&gt; specifically identified as uncollectible, an allowance is maintained for a specific percentage of those receivables based upon the aging of accounts, our historical collection experience and current economic expectations. To date, the actual losses have been within our expectations. &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;&lt;/div&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;No&lt;/div&gt; &lt;/div&gt;single customer accounted for more than &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;10%&lt;/div&gt; of the accounts receivable balance as of &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt; January 31, 2020 &lt;/div&gt;and &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;2019.&lt;/div&gt;&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&lt;div style="display: inline; font-weight: bold;"&gt;&lt;div style="display: inline; font-style: italic;"&gt;&amp;nbsp;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&lt;div style="display: inline; font-weight: bold;"&gt;&lt;div style="display: inline; font-style: italic;"&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&lt;div style="display: inline; font-weight: bold;"&gt;&lt;div style="display: inline; font-style: italic;"&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt; &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;&lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&lt;div style="display: inline; font-weight: bold;"&gt;&lt;div style="display: inline; font-style: italic;"&gt;Inventory&lt;/div&gt;&lt;/div&gt;&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;Finished goods inventories are stated at the lower of cost and net realizable value. The cost of finished goods is determined on the basis of average cost of units.&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&amp;nbsp;&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;The valuation of inventory, including the determination of obsolete or excess inventory, requires management to estimate the future demand for our products within specified time horizons. We perform an assessment of inventory which includes a review of, among other factors, demand requirements, product life cycle and development plans, product pricing and quality issues. If the demand for our products indicates we are &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;no&lt;/div&gt; longer able to sell inventories above cost or at all, we write down inventory to market or excess inventory is written off.&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&amp;nbsp;&lt;/div&gt;&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"&gt;&lt;div style="display: inline; font-weight: bold;"&gt;&lt;div style="display: inline; font-style: italic;"&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt; &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;&lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"&gt;&lt;div style="display: inline; font-weight: bold;"&gt;&lt;div style="display: inline; font-style: italic;"&gt;Impairment of long-lived assets&lt;/div&gt;&lt;/div&gt;&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;We test long-lived assets or asset groups, such as property and equipment and finite life intangible assets, for recoverability when events or changes in circumstances indicate that there &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt; may &lt;/div&gt;be impairment. Circumstances which could trigger a review include, but are &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;not&lt;/div&gt; limited to: significant adverse changes in the business climate or legal factors; current period cash flow or operating losses combined with a history of losses or a forecast of continuing losses associated with the use of the asset or asset group; and a current expectation that the asset or asset group will more likely than &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;not&lt;/div&gt; be sold or disposed of before the end of its estimated useful life. An impairment loss is recognized when the estimate of undiscounted future cash flows generated by such asset or asset group is less than the carrying amount. Measurement of the impairment loss is based on the present value of the expected future cash flows. &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;No&lt;/div&gt; impairment of long-lived assets has been identified or recorded in our consolidated statements of operations for any of the fiscal years presented.&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"&gt;&lt;div style="display: inline; font-weight: bold;"&gt;&amp;nbsp;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"&gt;&lt;div style="display: inline; font-weight: bold;"&gt;&lt;/div&gt;&lt;/div&gt; &lt;div style=" font: italic bold 10pt Times New Roman, Times, Serif; margin: 0pt 0"&gt;&lt;/div&gt; &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;&lt;div style=" font: italic bold 10pt Times New Roman, Times, Serif; margin: 0pt 0"&gt;Goodwill and intangible assets&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;Goodwill represents the excess of the purchase price in a business combination over the fair value of net tangible and intangible assets acquired. Goodwill is &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;not&lt;/div&gt; subject to amortization.&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&amp;nbsp;&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&lt;/div&gt; &lt;!-- Field: Page; Sequence: 8 --&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;We test for impairment of goodwill at least annually on &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt; October 31&lt;/div&gt;&lt;div style="display: inline; bottom:.33em; font-size: 82%; position: relative; vertical-align: baseline;"&gt;st&lt;/div&gt; of each year and at any other time if any event occurs or circumstances change that would more likely than &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;not&lt;/div&gt; reduce our fair value below our reporting unit&amp;#x2019;s carrying amount. Our operations are analyzed by management and our chief operating decision maker as being part of a single industry segment providing logistics technology solutions. Accordingly, our goodwill impairment assessment is based on the allocation of goodwill to a single reporting unit. We completed the qualitative assessment during our &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;third&lt;/div&gt; quarter of &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;2020&lt;/div&gt; and concluded that it was more likely than &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;not&lt;/div&gt; that the fair value of the goodwill was greater than the carrying value. As a result, &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;no&lt;/div&gt; impairment of goodwill was recorded in fiscal &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;2020&lt;/div&gt; (&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;no&lt;/div&gt; impairments were recorded for fiscal &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;2019&lt;/div&gt; or fiscal &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;2018&lt;/div&gt;).&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&amp;nbsp;&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;We perform further quarterly analysis of whether any event has occurred that would more likely than &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;not&lt;/div&gt; reduce our fair value below our reporting unit&amp;#x2019;s carrying amount and, if so, we perform a goodwill impairment test between the annual date. Any impairment adjustment is recognized as an expense in the period that the adjustment is identified.&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&amp;nbsp;&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;Intangible assets related to our acquisitions are recorded at their fair value at the acquisition date. Intangible assets include customer agreements and relationships, non-compete covenants, existing technologies and trade names. Intangible assets are amortized on a straight-line basis over their estimated useful lives. We write down intangible asset or asset groups with a finite life to fair value when the related undiscounted cash flows are &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;not&lt;/div&gt; expected to allow for recovery of the carrying value. Fair value of intangible asset or asset groups is determined by discounting the expected related future cash flows.&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&amp;nbsp;&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;Amortization of our intangible assets is generally recorded at the following rates:&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&amp;nbsp;&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&lt;/div&gt; &lt;table style="; border-collapse: collapse; font-family: Times New Roman, Times, Serif; min-width: 700px;" cellspacing="0" cellpadding="0" border="0"&gt;  &lt;tr style="vertical-align: middle"&gt; &lt;td style="padding-left: 20pt; font-size: 10pt; text-align: left; width: 50%"&gt;Customer agreements and relationships&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: left; width: 50%"&gt;Straight-line over &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;three&lt;/div&gt; to &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;twenty&lt;/div&gt; years&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: middle"&gt; &lt;td style="padding-left: 20pt; font-size: 10pt; text-align: left"&gt;Existing technologies&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: left"&gt;Straight-line over &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;two&lt;/div&gt; to &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;twelve&lt;/div&gt; years&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: middle"&gt; &lt;td style="padding-left: 20pt; font-size: 10pt; text-align: left"&gt;Trade names&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: left"&gt;Straight-line over &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;one&lt;/div&gt; to &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;fifteen&lt;/div&gt; years&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: middle"&gt; &lt;td style="padding-left: 20pt; font-size: 10pt; text-align: left"&gt;Non-compete covenants&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: left"&gt;Straight-line over &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;two&lt;/div&gt; to &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;twelve&lt;/div&gt; years&lt;/td&gt; &lt;/tr&gt;  &lt;/table&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&amp;nbsp;&lt;/div&gt;&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&lt;/div&gt; &lt;div style=" font: italic bold 10pt Times New Roman, Times, Serif; margin: 0pt 0"&gt;&lt;/div&gt; &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;&lt;div style=" font: italic bold 10pt Times New Roman, Times, Serif; margin: 0pt 0"&gt;Property and equipment&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;Property and equipment is recorded at cost. Depreciation of our property and equipment is generally recorded at the following rates:&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&amp;nbsp;&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&lt;/div&gt; &lt;table style="; border-collapse: collapse; font-family: Times New Roman, Times, Serif; min-width: 700px;" cellspacing="0" cellpadding="0" border="0"&gt;  &lt;tr style="vertical-align: middle"&gt; &lt;td style="padding-left: 20pt; font-size: 10pt; text-align: left; width: 50%"&gt;Computer equipment and software&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: left; width: 50%"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;30%&lt;/div&gt; declining balance&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: middle"&gt; &lt;td style="padding-left: 20pt; font-size: 10pt; text-align: left"&gt;Furniture and fixtures&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: left"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;20%&lt;/div&gt; declining balance&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: middle"&gt; &lt;td style="padding-left: 20pt; font-size: 10pt; text-align: left"&gt;Leasehold improvements&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: left"&gt;Straight-line over lesser of useful life or term of lease&lt;/td&gt; &lt;/tr&gt;  &lt;/table&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&amp;nbsp;&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"&gt;Fully depreciated property and equipment are removed from the balance sheet when they are &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;no&lt;/div&gt; longer in use.&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"&gt;&amp;nbsp;&lt;/div&gt;&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"&gt;&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&lt;div style="display: inline; font-weight: bold;"&gt;&lt;div style="display: inline; font-style: italic;"&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt; &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;&lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&lt;div style="display: inline; font-weight: bold;"&gt;&lt;div style="display: inline; font-style: italic;"&gt;Leases&lt;/div&gt;&lt;/div&gt;&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;At the inception of a contract we assess whether a contract is, or contains, a lease based on whether the contract conveys the right to control the use of an identified asset for a period of time in exchange for consideration. We have building lease agreements with lease and non-lease components, which are accounted for separately. For computer equipment and vehicle leases, we have elected to account for the lease and non-lease components as a single lease component.&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&amp;nbsp;&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;We recognize a right-of-use (&amp;#x201c;ROU&amp;#x201d;) asset and a lease liability at the lease commencement date. The ROU asset is initially measured based on the initial amount of the lease liability adjusted for any lease payments made at or before the commencement date, plus any initial direct costs incurred and less any lease incentives received. The assets are depreciated to the earlier of the end of the useful life of the ROU asset or the lease term using the straight-line method as this most closely reflects the expected pattern of consumption of the future economic benefits. The lease term includes periods covered by an option to extend if the Company is reasonably certain to exercise that option.&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&amp;nbsp;&lt;/div&gt;&lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;The lease liability is initially measured at the present value of the future lease payments at the commencement date, discounted using the interest rate implicit in the lease or, if that rate cannot be readily determined, the Company&amp;#x2019;s incremental borrowing rate. As most of our leases do &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;not&lt;/div&gt; provide an implicit rate, we use our incremental borrowing rate based on the information available at commencement date in determining the present value of lease payments.&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&amp;nbsp;&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;The lease liability is measured at amortized cost using the effective interest method. It is remeasured when there is a change in future lease payments arising from a change in an index or rate, if there is a change in the Company&amp;#x2019;s estimate of the amount expected to be payable under a residual value guarantee, or if the Company changes its assessment of whether it will exercise a purchase, extension or termination option. When the lease liability is remeasured, a corresponding adjustment is made to the carrying amount of the ROU asset, or is recorded in profit or loss if the carrying amount of the ROU asset has been reduced to zero.&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&amp;nbsp;&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;We have elected to apply the practical expedient &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;not&lt;/div&gt; to recognize ROU assets and lease liabilities for short-term leases that have a lease term of &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;12&lt;/div&gt; months or less. The lease payments associated with these leases is recognized as an expense on a straight-line basis over the lease term.&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"&gt;&amp;nbsp;&lt;/div&gt;&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"&gt;&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&lt;div style="display: inline; font-weight: bold;"&gt;&lt;div style="display: inline; font-style: italic;"&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt; &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;&lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&lt;div style="display: inline; font-weight: bold;"&gt;&lt;div style="display: inline; font-style: italic;"&gt;Revenue recognition&lt;/div&gt;&lt;/div&gt;&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;Revenue is recognized upon transfer of control of promised goods or services to customers in an amount that reflects the consideration we expect to receive in exchange for those goods or services. We enter into contracts that can include various combinations of goods and services, which are generally capable of being distinct within the context of the contract and accounted for as separate performance obligations. A product or service is distinct if the customer can benefit from it on its own or together with other readily available resources and the promise to transfer the good or service is separately identifiable from other promises in the contractual arrangement with the customer. Non-distinct goods and services are combined with other goods or services until they are distinct as a bundle and therefore form a single performance obligation.&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&amp;nbsp;&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;The consideration (including any discounts) is allocated between separate goods and services in a bundle on a relative basis based on their SSP. The SSP reflects the price we would charge for a specific product or service if it was sold separately in similar circumstances and to similar customers. Revenue is recognized net of any taxes collected from customers, which are subsequently remitted to governmental authorities. In addition to these general policies, the specific revenue recognition policies for each major category of revenue are included below.&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&amp;nbsp;&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&lt;div style="display: inline; text-decoration: underline;"&gt;License&lt;/div&gt;&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;Revenues for distinct licenses for on-premise or hosted software are derived from perpetual licenses granted to our customers for the right to use our software products. License revenues are billed on the effective date of a contract and revenue is recognized at the point in time when the customer is provided control of the respective software.&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&amp;nbsp;&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&lt;div style="display: inline; text-decoration: underline;"&gt;Services&lt;/div&gt;&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;Services, which allow customers to access hosted software over a contract term without taking possession of the software, is provided on a subscription and/or transactional fee basis. Revenues from hosted software subscriptions and maintenance are typically billed annually in advance and revenue is recognized on a ratable basis over the contract term beginning on the date that our service is made available to the customer. Transaction fees are typically billed and recognized as revenue on a monthly basis based on the customer usage for that period.&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&amp;nbsp;&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&lt;div style="display: inline; text-decoration: underline;"&gt;Professional Services &amp;amp; Other&lt;/div&gt;&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;Professional services are comprised of consulting, implementation and training services related to our services and products. These services are generally considered to be separate performance obligations as they provide incremental benefit to customers beyond providing access to the software. Professional services are typically billed on a time and materials basis and revenue is recognized over time as the services are performed. For professional services contracts billed on a fixed price basis, revenue is recognized over time based on the proportion of services performed. Revenue related to customer reimbursement of travel related expenses is recognized on a gross basis as incurred. Other revenues include hardware revenue and is generally billed, and revenue is recognized, when control of the product has transferred under the terms of an enforceable contract.&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&amp;nbsp;&lt;/div&gt;&lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&lt;div style="display: inline; font-weight: bold;"&gt;&lt;div style="display: inline; font-style: italic;"&gt;Costs to obtain a contract with a customer&lt;/div&gt;&lt;/div&gt;&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;We recognize an asset for the incremental costs of obtaining a contract with a customer if we expect the costs to be recoverable. We have determined that certain sales incentive programs meet the requirements to be capitalized. These capitalized costs are amortized consistent with the pattern of transfer to the customer for the goods and services to which the asset relates, including specifically identifiable contract renewals. The period of benefit including renewals is determined to be generally between &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;four&lt;/div&gt; to &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;six&lt;/div&gt; years, taking into consideration our customer contracts, our technology, renewal behaviors and other factors. Amortization of the asset is included in sales and marketing expenses in the consolidated statements of operations. Applying the practical expedient, we recognize the incremental costs of obtaining contracts as an expense when incurred if the amortization period of the assets that we otherwise would have recognized is &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;one&lt;/div&gt; year or less.&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&amp;nbsp;&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&lt;div style="display: inline; font-weight: bold;"&gt;&lt;div style="display: inline; font-style: italic;"&gt;Contract assets and liabilities&lt;/div&gt;&lt;/div&gt;&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&lt;div style="display: inline; color: black"&gt;The payment terms and conditions in our customer contracts &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt; may &lt;/div&gt;vary from the timing of revenue recognition. In some cases, customers pay in advance of delivery of products or services; in other cases, payment is due as services are performed or in arrears following delivery. Timing differences between revenue recognition and invoicing result in unbilled receivables, contract assets, or deferred revenue. Receivables are accrued when revenue is recognized prior to invoicing but the right to payment is unconditional (i.e., only the passage of time is required). This occurs most commonly when software term licenses recognized at a point in time are paid for periodically over the license term. Contract assets result when amounts allocated to distinct performance obligations are recognized when or as control of a product or service is transferred to the customer, but invoicing is contingent on performance of other performance obligations or on completion of contractual milestones and is presented as other receivables. Contract assets are transferred to receivables when the rights become unconditional, typically upon invoicing of the related performance obligations in the contract or upon achieving the requisite project milestone. &lt;/div&gt;Contract liabilities primarily relate to the advance consideration received from customers and is presented as deferred revenue. &lt;div style="display: inline; color: black"&gt;Deferred revenue results from customer payments in advance of our satisfaction of the associated performance obligation(s) and relates primarily to prepaid maintenance or other recurring services. Deferred revenues are relieved as revenue is recognized. Contract assets and deferred revenues are reported on a contract-by-contract basis at the end of each reporting period.&lt;/div&gt;&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&amp;nbsp;&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&lt;div style="display: inline; font-weight: bold;"&gt;&lt;div style="display: inline; font-style: italic;"&gt;Revenue judgments and estimates&lt;/div&gt;&lt;/div&gt;&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;Our contracts with customers often include promises to transfer multiple goods and services to a customer. Determining whether goods and services are considered distinct performance obligations that should be accounted for separately versus together &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt; may &lt;/div&gt;require judgment. Judgment is also needed in assessing the ability to collect the corresponding receivables.&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&amp;nbsp;&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;Significant judgment is required to determine the SSP for each distinct performance obligation, which is needed to determine whether there is a discount that needs to be allocated based on the relative SSP of the various goods and services. In order to determine the SSP of its promised goods or services, we conduct a regular analysis to determine whether various goods or services have an observable standalone selling price. If the Company does &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;not&lt;/div&gt; have an observable SSP for a particular good or service, then SSP for that particular good or service is estimated using reasonably available information and maximizing observable inputs with approaches including historical pricing, cost plus a margin, adjusted market assessment, and the residual approach.&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"&gt;&amp;nbsp;&lt;/div&gt;&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"&gt;&lt;/div&gt;  &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"&gt;&lt;/div&gt; &lt;div style=" font: italic bold 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&lt;/div&gt; &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;&lt;div style=" font: italic bold 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;Research and development costs&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;To date, we have &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;not&lt;/div&gt; capitalized any costs related to research and development of our computer software products. Costs incurred between the dates that the product is considered to be technologically feasible and is considered to be ready for general release to customers have historically been expensed as they have &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;not&lt;/div&gt; been significant.&lt;/div&gt; &lt;div style=" font: italic bold 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&amp;nbsp;&lt;/div&gt;&lt;/div&gt; &lt;div style=" font: italic bold 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&lt;/div&gt; &lt;div style=" font: italic bold 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&lt;/div&gt; &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;&lt;div style=" font: italic bold 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;Stock-based compensation plans&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&lt;div style="display: inline; text-decoration: underline;"&gt;Stock Options&lt;/div&gt;&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;We maintain stock option plans for non-employee directors, officers, employees and other service providers. Options to purchase our common shares are granted at an exercise price equal to the fair market value of our common shares as of the date of grant. This fair market value is determined using the closing price of our common shares on the TSX on the day immediately preceding the date of the grant.&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&amp;nbsp;&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;Employee stock options generally vest over a &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;five&lt;/div&gt;-year period starting from the grant date and expire &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;seven&lt;/div&gt; years from the grant date. Non-employee directors&amp;#x2019; and officers&amp;#x2019; stock options generally have quarterly vesting over a &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;three&lt;/div&gt; to &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;five&lt;/div&gt;-year period. We issue new shares from treasury upon the exercise of a stock option.&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&amp;nbsp;&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;The fair value of employee stock option grants that are ultimately expected to vest are amortized to expense in our consolidated statement of operations based on the straight-line attribution method. The fair value of stock option grants is calculated using the Black-Scholes Merton option-pricing model. Expected volatility is based on historical volatility of our common stock and other factors. The risk-free interest rates are based on Government of Canada average bond yields for a period consistent with the expected life of the option in effect at the time of the grant. The expected option life is based on the historical life of our granted options and other factors.&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&amp;nbsp;&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;Effective as of &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt; February 1, 2017, &lt;/div&gt;the Company adopted a change in accounting policy in accordance with ASU &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;2016&lt;/div&gt;-&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;09&lt;/div&gt; to account for forfeitures as they occur. The change was applied on a modified retrospective basis, and &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;no&lt;/div&gt; prior periods were restated as a result of this change in accounting policy.&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&amp;nbsp;&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&lt;div style="display: inline; text-decoration: underline;"&gt;Performance &amp;amp; Restricted Share Units&lt;/div&gt;&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;We maintain a performance and restricted share unit plan pursuant to which certain of our officers are eligible to receive grants of performance share units (&amp;#x201c;PSUs&amp;#x201d;) and restricted share units (&amp;#x201c;RSUs&amp;#x201d;).&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&amp;nbsp;&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;PSUs vest at the end of a &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;three&lt;/div&gt;-year performance period. The ultimate number of PSUs that vest is based on the total shareholder return (&amp;#x201c;TSR&amp;#x201d;) of our Company relative to the TSR of companies comprising a peer index group. TSR is calculated based on the weighted-average closing price of shares for the &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;five&lt;/div&gt; trading days preceding the beginning and end of the performance period. The fair value of PSUs is expensed to stock-based compensation expense over the vesting period. PSUs expire &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;ten&lt;/div&gt; years from the grant date. New shares are issued from treasury upon the redemption of a PSU.&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&amp;nbsp;&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;PSUs are measured at fair value estimated using a Monte Carlo Simulation approach. Expected volatility is based on historical volatility of our common stock and other factors. The risk-free interest rates are based on the Government of Canada average bond yields for a period consistent with the expected life of the PSUs at the time of the grant. The expected PSU life is based on the historical life of our stock options and other factors.&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&amp;nbsp;&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;RSUs vest annually over a &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;three&lt;/div&gt;-year period starting from the grant date and expire &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;ten&lt;/div&gt; years from the grant date. We issue new shares from treasury upon the redemption of an RSU.&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&amp;nbsp;&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;RSUs are measured at fair value based on the closing price of our common shares for the day preceding the date of the grant and will be expensed to stock-based compensation expense over the vesting period.&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&amp;nbsp;&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&lt;/div&gt; &lt;!-- Field: Page; Sequence: 12 --&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&lt;div style="display: inline; text-decoration: underline;"&gt;Deferred Share Unit Plan&lt;/div&gt;&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;Our board of directors adopted a deferred share unit plan effective as of &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt; June 28, 2004, &lt;/div&gt;pursuant to which non-employee directors are eligible to receive grants of deferred share units (&amp;#x201c;DSUs&amp;#x201d;), each of which has an initial value equal to the weighted-average closing price of our common shares for the &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;five&lt;/div&gt; trading days preceding the grant date. The plan allows each director to choose to receive, in the form of DSUs, all, &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;none&lt;/div&gt; or a percentage of the eligible director&amp;#x2019;s fees which would otherwise be payable in cash. If a director has invested less than the minimum amount of equity in Descartes, as prescribed from time to time by the board of directors, then the director must take at least &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;50%&lt;/div&gt; of the base annual fee for serving as a director in the form of DSUs. Each DSU fully vests upon award but is distributed only when the director ceases to be a member of the board of directors. Vested units are settled in cash based on our common share price when conversion takes place. Fair value of the liability is based on the closing price of our common shares at the balance sheet date.&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&amp;nbsp;&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&lt;div style="display: inline; text-decoration: underline;"&gt;Cash-Settled Restricted Share Unit Plan&lt;/div&gt;&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;Our board of directors adopted a cash-settled restricted share unit plan effective as of &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt; May 23, 2007, &lt;/div&gt;pursuant to which certain of our employees and non-employee directors are eligible to receive grants of cash-settled restricted share units (&amp;#x201c;CRSUs&amp;#x201d;), each of which has an initial value equal to the weighted-average closing price of our common shares for the &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;five&lt;/div&gt; trading days preceding the date of the grant. The CRSUs generally vest based on continued employment and have annual vesting over &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;three&lt;/div&gt; to &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;five&lt;/div&gt;-year periods. Vested units are settled in cash based on our common share price when conversion takes place, which is within &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;30&lt;/div&gt; days following a vesting date and in any event prior to &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt; December 31&lt;/div&gt;&lt;div style="display: inline; bottom:.33em; font-size: 82%; position: relative; vertical-align: baseline;"&gt;st&lt;/div&gt; of the calendar year in which a vesting date occurs. Fair value of the liability is based on the closing price of our common shares at the balance sheet date.&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&amp;nbsp;&lt;/div&gt;&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&lt;/div&gt; &lt;div style=" font: italic bold 10pt Times New Roman, Times, Serif; margin: 0pt 0"&gt;&lt;/div&gt; &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;&lt;div style=" font: italic bold 10pt Times New Roman, Times, Serif; margin: 0pt 0"&gt;Business combinations&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;We apply the provisions of ASC Topic &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;805,&lt;/div&gt; &amp;#x201c;Business Combinations&amp;#x201d; (Topic &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;805&lt;/div&gt;), in the accounting for our acquisitions. It requires us to recognize separately from goodwill, the assets acquired and the liabilities assumed at their acquisition date fair values including certain identifiable intangible assets (other than goodwill). Goodwill as of the acquisition date is measured as the excess of consideration transferred over the net of the acquisition date fair values of the assets acquired and the liabilities assumed. The determination of the acquisition date fair value of the intangible assets acquired required us to make significant estimates and assumptions regarding projected revenues, earnings before interest, taxes, depreciation and amortization, technology migration rates, customer attrition rates and discount rates.&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&amp;nbsp;&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;While we use our best estimates and assumptions to accurately value assets acquired and liabilities assumed at the acquisition date as well as contingent consideration, where applicable, our estimates are inherently uncertain and subject to refinement. As a result, during the measurement period, which &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt; may &lt;/div&gt;be up to &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;one&lt;/div&gt; year from the acquisition date, we &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt; may &lt;/div&gt;record adjustments to the assets acquired and liabilities assumed with the corresponding offset to goodwill. Upon the conclusion of the measurement period or final determination of the values of assets acquired or liabilities assumed, whichever comes first, any subsequent adjustments would be recorded to our consolidated statement of operations.&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&amp;nbsp;&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;Costs to exit or restructure certain activities of an acquired company or our internal operations are accounted for as termination and exit costs pursuant to ASC Topic &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;420,&lt;/div&gt; &amp;#x201c;Exit or Disposal Cost Obligations&amp;#x201d; (Topic &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;420&lt;/div&gt;) and are accounted for separately from the business combination.&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&amp;nbsp;&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;For a given acquisition, we generally identify certain pre-acquisition contingencies as of the acquisition date and &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt; may &lt;/div&gt;extend our review and evaluation of these pre-acquisition contingencies throughout the measurement period in order to obtain sufficient information to assess whether we include these contingencies as a part of the purchase price allocation and, if so, to determine the estimated amounts.&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&amp;nbsp;&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;If we determine that a pre-acquisition contingency (non-income tax related) is probable in nature and estimable as of the acquisition date, we record our best estimate for such a contingency as a part of the preliminary purchase price allocation. We often continue to gather information and evaluate our pre-acquisition contingencies throughout the measurement period and if we make changes to the amounts recorded or if we identify additional pre-acquisition contingencies during the measurement period, such amounts will be included in the purchase price allocation during the measurement period and, subsequently, in our results of operations.&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&amp;nbsp;&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&lt;/div&gt; &lt;!-- Field: Page; Sequence: 13 --&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;Uncertain tax positions and tax related valuation allowances assumed in connection with a business combination are initially estimated as of the acquisition date. We review these items during the measurement period as we continue to actively seek and collect information relating to facts and circumstances that existed at the acquisition date. Changes to these uncertain tax positions and tax related valuation allowances made subsequent to the measurement period, or if they relate to facts and circumstances that did &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;not&lt;/div&gt; exist at the acquisition date, are recorded in our provision for income taxes in our consolidated statement of operations.&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&amp;nbsp;&lt;/div&gt;&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&lt;/div&gt; &lt;div style=" font: italic bold 10pt Times New Roman, Times, Serif; margin: 0pt 0"&gt;&lt;/div&gt; &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;&lt;div style=" font: italic bold 10pt Times New Roman, Times, Serif; margin: 0pt 0"&gt;Income taxes&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;We use the liability method of income tax allocation to account for income taxes. Deferred tax assets and liabilities arise from temporary differences between the tax bases of assets and liabilities and their reported amounts in the consolidated financial statements that will result in taxable or deductible amounts in future years. These temporary differences are measured using enacted tax rates. A valuation allowance is recorded to reduce deferred tax assets to the extent that we consider it is more likely than &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;not&lt;/div&gt; that a deferred tax asset will &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;not&lt;/div&gt; be realized. In determining the valuation allowance, we consider factors such as the reversal of deferred income tax liabilities, projected taxable income, our history of losses for tax purposes, and the character of income tax assets and tax planning strategies. A change to these factors could impact the estimated valuation allowance and income tax expense.&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&amp;nbsp;&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;We evaluate our uncertain tax positions by using a &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;two&lt;/div&gt;-step approach to recognize and measure uncertain tax positions and provisions for income taxes.&amp;nbsp;The &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;first&lt;/div&gt; step is to evaluate the tax position for recognition by determining if the weight of available evidence indicates it is more likely than &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;not,&lt;/div&gt; based solely on the technical merits, that the position will be sustained on audit, including resolution of related appeals or litigation processes, if any. The &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;second&lt;/div&gt; step is to measure the appropriate amount of the benefit to recognize. The amount of benefit to recognize is measured as the maximum amount which is more likely than &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;not&lt;/div&gt; to be realized. The tax position is derecognized when it is &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;no&lt;/div&gt; longer more likely than &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;not&lt;/div&gt; that the position will be sustained on audit. We continually assess the likelihood and amount of potential adjustments and adjust the income tax provisions, income taxes payable and deferred income taxes in the period in which the facts that give rise to a revision become known.&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&amp;nbsp;&lt;/div&gt;&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&lt;/div&gt; &lt;div style=" font: italic bold 10pt Times New Roman, Times, Serif; margin: 0pt 0"&gt;&lt;/div&gt; &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;&lt;div style=" font: italic bold 10pt Times New Roman, Times, Serif; margin: 0pt 0"&gt;Earnings per share&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;Basic earnings per share is calculated by dividing net income by the weighted average number of common shares outstanding during the period. Diluted earnings per common share is calculated by dividing net income by the sum of the weighted average number of common shares outstanding and all additional common shares that would have been outstanding if potentially dilutive common shares had been issued during the period. The treasury stock method is used to compute the dilutive effect of stock-based compensation.&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&amp;nbsp;&lt;/div&gt;&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&lt;/div&gt; &lt;div style=" font: italic bold 10pt Times New Roman, Times, Serif; margin: 0pt 0"&gt;&lt;/div&gt; &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;&lt;div style=" font: italic bold 10pt Times New Roman, Times, Serif; margin: 0pt 0"&gt;Recently adopted accounting pronouncements&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;In &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt; May 2014, &lt;/div&gt;the FASB issued Accounting Standards Update &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;2014&lt;/div&gt;-&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;09,&lt;/div&gt; &amp;#x201c;Revenue from Contracts with Customers&amp;#x201d; (&amp;#x201c;ASC &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;606&amp;#x201d;&lt;/div&gt;). ASC &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;606&lt;/div&gt; supersedes the revenue recognition requirements in ASC Topic &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;605,&lt;/div&gt; &amp;#x201c;Revenue Recognition&amp;#x201d; ("ASC &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;605"&lt;/div&gt;) and nearly all other existing revenue recognition guidance under US GAAP. The core principle of ASC &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;606&lt;/div&gt; is to recognize revenues when promised goods or services are transferred to customers in an amount that reflects the consideration that is expected to be received for those goods or services. ASC &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;606&lt;/div&gt; is effective for annual periods, and interim periods within those annual periods, beginning after &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt; December 15, 2017, &lt;/div&gt;which is our fiscal year that began on &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt; February 1, 2018 (&lt;/div&gt;fiscal &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;2019&lt;/div&gt;). The Company has adopted ASC &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;606&lt;/div&gt; in the &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;first&lt;/div&gt; quarter of fiscal &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;2019&lt;/div&gt; using the cumulative effect method and therefore the comparative information has &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;not&lt;/div&gt; been restated and continues to be reported under ASC &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;605.&lt;/div&gt; The details of the significant changes and quantitative impact of the changes are set out below.&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&amp;nbsp;&lt;/div&gt;&lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify; text-indent: 0.5in"&gt;&lt;div style="display: inline; text-decoration: underline;"&gt;Term-based licenses&lt;/div&gt;&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0 0pt 0.5in; text-align: justify"&gt;Under ASC &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;605,&lt;/div&gt; revenue attributable to term-based arrangements was recognized ratably over the term of the arrangement because Vendor Specific Objective Evidence did &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;not&lt;/div&gt; exist for the undelivered maintenance and support element of the arrangement. Under ASC &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;606,&lt;/div&gt; the Company has deemed the licenses to be distinct from other performance obligations. Revenue allocated to the distinct license based on the SSP is recognized at the time that both the right-to-use the software has commenced for the term and the software has been made available to the customer.&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&amp;nbsp;&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify; text-indent: 0.5in"&gt;&lt;div style="display: inline; text-decoration: underline;"&gt;Costs to obtain a contract&lt;/div&gt;&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0 0pt 0.5in; text-align: justify"&gt;Under the Company&amp;#x2019;s previous accounting policies, the Company generally expensed commission costs paid to employees or &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;third&lt;/div&gt; parties to obtain customer contracts as incurred. Under ASC &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;606,&lt;/div&gt; the Company allocates these incremental commission costs to the various performance obligations to which they relate using the relative selling price allocation for bundled commissions. For performance obligations &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;not&lt;/div&gt; delivered upfront, the allocated commissions are deferred and amortized over the pattern of transfer of the related performance obligation. If the expected amortization period for all performance obligations in a contract with a customer is &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;one&lt;/div&gt; year or less, the commission fee is expensed when incurred. Capitalized costs to obtain a contract are included in other long-term assets on the consolidated balance sheet.&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&amp;nbsp;&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;The adoption of ASC &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;606&lt;/div&gt; resulted in an increase to contract assets of &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;$0.5&lt;/div&gt; million, an increase to other long-term assets of &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;$4.2&lt;/div&gt; million, an increase to the liability for deferred income taxes of &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;$1.1&lt;/div&gt; million and a decrease to accumulated deficit of &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;$3.6&lt;/div&gt; million, as of &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt; February 1, 2018.&lt;/div&gt;&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&amp;nbsp;&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;In &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt; October 2016, &lt;/div&gt;the FASB issued Accounting Standards Update &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;2016&lt;/div&gt;-&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;16,&lt;/div&gt; &amp;#x201c;Income Taxes (Topic &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;740&lt;/div&gt;): Intra-Entity Transfers of Assets Other Than Inventory&amp;#x201d; (&amp;#x201c;ASU &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;2016&lt;/div&gt;-&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;16&amp;#x201d;&lt;/div&gt;). ASU &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;2016&lt;/div&gt;-&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;16&lt;/div&gt; requires the recognition of the income tax consequences of an intra-entity transfer of an asset other than inventory when the transfer occurs. ASU &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;2016&lt;/div&gt;-&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;16&lt;/div&gt; is effective for annual periods, and interim periods within those annual periods, beginning after &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt; December 15, 2017, &lt;/div&gt;which is our fiscal year that began on &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt; February 1, 2018 (&lt;/div&gt;fiscal &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;2019&lt;/div&gt;). The Company adopted this guidance in the &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;first&lt;/div&gt; quarter of fiscal &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;2019.&lt;/div&gt; As a result of adoption, the balance of unamortized deferred tax charges was written-off and previously unrecognized deferred income tax assets in certain jurisdictions were recognized. The change was applied on a modified retrospective basis, and &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;no&lt;/div&gt; prior periods were restated. Accordingly, we have recognized a decrease of &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;$4.0&lt;/div&gt; million in accumulated deficit as a result of the adoption of this change in accounting policy, as of &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt; February 1, 2018.&lt;/div&gt;&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&amp;nbsp;&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;In &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt; February 2016, &lt;/div&gt;the FASB issued Accounting Standards Update &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;2016&lt;/div&gt;-&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;02,&lt;/div&gt; &amp;#x201c;Leases (Topic &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;842&lt;/div&gt;)&amp;#x201d; (&amp;#x201c;ASU &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;2016&lt;/div&gt;-&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;02&amp;#x201d;&lt;/div&gt;) and issued subsequent amendments to the initial guidance during &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;2018,&lt;/div&gt; collectively referred to as &amp;#x201c;ASC &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;842&amp;#x201d;.&lt;/div&gt; These updates supersede the lease guidance in ASC Topic &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;840,&lt;/div&gt; &amp;#x201c;Leases&amp;#x201d; (&amp;#x201c;ASC &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;840&amp;#x201d;&lt;/div&gt;) and require the recognition of lease assets and lease liabilities by lessees for most leases previously classified as operating leases under ASC Topic &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;840.&lt;/div&gt; Leases will continue to be classified as either operating or finance. ASC &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;842&lt;/div&gt; is effective for annual periods, and interim periods within those annual periods, beginning after &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt; December 15, 2018, &lt;/div&gt;which is our fiscal year that began on &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt; February 1, 2019 (&lt;/div&gt;fiscal &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;2020&lt;/div&gt;). The Company adopted ASC &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;842&lt;/div&gt; as of &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt; February 1, 2019 &lt;/div&gt;using the cumulative effect method and therefore the comparative information has &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;not&lt;/div&gt; been restated and continues to be reported under ASC Topic &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;840.&lt;/div&gt;&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&amp;nbsp;&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;The adoption of ASC &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;842&lt;/div&gt; resulted in an increase to ROU assets and lease liabilities of &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;$&lt;/div&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;10.4&lt;/div&gt; &lt;/div&gt;million as of &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt; February 1, 2019. &lt;/div&gt;The adoption of ASC &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;842&lt;/div&gt; did &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;not&lt;/div&gt; have a material impact on either our consolidated statement of operations or our consolidated statement of cash flows.&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&amp;nbsp;&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;On adoption of ASC &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;842,&lt;/div&gt; we have elected to apply the practical expedient to carry forward our current assessments of whether a contract contains a lease, lease classification, and amounts capitalized as initial direct costs. In addition, we have elected the hindsight practical expedient to determine lease term for existing leases.&lt;/div&gt; &lt;div style=" font: italic 10pt Times New Roman, Times, Serif; margin: 0pt 0"&gt;&lt;div style="display: inline; font-style: normal; font-weight: normal"&gt;&amp;nbsp;&lt;/div&gt;&lt;/div&gt;&lt;div style=" font: italic 10pt Times New Roman, Times, Serif; margin: 0pt 0"&gt;&lt;div style="display: inline; font-style: normal; font-weight: normal"&gt;&lt;/div&gt;&lt;/div&gt; &lt;div style=" font: italic bold 10pt Times New Roman, Times, Serif; margin: 0pt 0"&gt;Recently issued accounting pronouncements&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;In &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt; June 2016, &lt;/div&gt;the FASB issued Accounting Standards Update &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;2016&lt;/div&gt;-&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;13,&lt;/div&gt; &amp;#x201c;Financial Instruments &amp;#x2013; Credit Losses (Topic &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;326&lt;/div&gt;): Measurement of Credit Losses on Financial Instruments&amp;#x201d; (&amp;#x201c;ASU &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;2016&lt;/div&gt;-&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;13&amp;#x201d;&lt;/div&gt;) and issued subsequent amendments to the initial guidance during the &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;2019&lt;/div&gt; calendar year, collectively referred to as &amp;#x201c;ASC &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;326&amp;#x201d;.&lt;/div&gt; ASC &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;326&lt;/div&gt; requires the measurement and recognition of expected credit losses for financial assets held at amortized cost. ASC &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;326&lt;/div&gt; replaces the existing incurred loss impairment model with an expected loss model which requires the use of forward-looking information to calculate credit loss estimates. These changes will result in earlier recognition of credit losses. ASC &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;326&lt;/div&gt; is effective for annual periods, and interim periods within those annual periods, beginning after &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt; December 15, 2019, &lt;/div&gt;which will be our fiscal year beginning &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt; February 1, 2020 (&lt;/div&gt;fiscal &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;2021&lt;/div&gt;). Early adoption is permitted. The Company will adopt this guidance using the cumulative effect method resulting in an adjustment to retained earnings in the &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;first&lt;/div&gt; quarter of fiscal &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;2021&lt;/div&gt; and will &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;not&lt;/div&gt; restate comparative periods. We are currently implementing new credit loss models and updating our processes and controls in preparation for the adoption of ASC &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;326.&lt;/div&gt; The effect on our consolidated financial statements is expected to largely depend on the composition and credit quality of our financial assets held at amortized cost and the economic conditions and forecasts at the time of adoption. The adoption of this amendment is &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;not&lt;/div&gt; expected to have a material impact on our results of operations or disclosures.&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&amp;nbsp;&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;In &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt; January 2017, &lt;/div&gt;the FASB issued Accounting Standards Update &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;2017&lt;/div&gt;-&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;04,&lt;/div&gt; &amp;#x201c;Intangibles &amp;#x2013; Goodwill and Other (Topic &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;350&lt;/div&gt;): Simplifying the Test for Goodwill Impairment&amp;#x201d; (&amp;#x201c;ASU &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;2017&lt;/div&gt;-&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;04&amp;#x201d;&lt;/div&gt;). ASU &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;2017&lt;/div&gt;-&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;04&lt;/div&gt; simplifies how an entity is required to test goodwill for impairment. ASU &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;2017&lt;/div&gt;-&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;04&lt;/div&gt; is effective for annual periods, and interim periods within those annual periods, beginning after &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt; December 15, 2019, &lt;/div&gt;which will be our fiscal year beginning &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt; February 1, 2020 (&lt;/div&gt;fiscal &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;2021&lt;/div&gt;). Early adoption is permitted. The Company will adopt this guidance in the &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;first&lt;/div&gt; quarter of fiscal &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;2021.&lt;/div&gt; The adoption of this amendment is &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;not&lt;/div&gt; expected to have a material impact on our results of operations or disclosures.&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&amp;nbsp;&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;In &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt; August 2018, &lt;/div&gt;the FASB issued Accounting Standards Update &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;2018&lt;/div&gt;-&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;15,&lt;/div&gt; &amp;#x201c;Intangibles &amp;#x2013; Goodwill and Other &amp;#x2013; Internal-Use Software (Subtopic &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;350&lt;/div&gt;-&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;40&lt;/div&gt;): Customer&amp;#x2019;s Accounting for Implementation Costs Incurred in a Cloud Computing Arrangement That Is a Service Contract&amp;#x201d; (&amp;#x201c;ASU &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;2018&lt;/div&gt;-&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;15&amp;#x201d;&lt;/div&gt;). ASU &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;2018&lt;/div&gt;-&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;15&lt;/div&gt; aligns the requirements for capitalizing implementation costs incurred in a hosting arrangement that is a service contract with the requirements for capitalizing implementation costs incurred to develop or obtain internal-use software. ASU &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;2018&lt;/div&gt;-&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;15&lt;/div&gt; is effective for annual periods, and interim periods within those annual periods, beginning after &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt; December 15, 2019, &lt;/div&gt;which will be our fiscal year beginning &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt; February 1, 2020 (&lt;/div&gt;fiscal &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;2021&lt;/div&gt;). Early adoption is permitted. The Company will adopt this guidance in the &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;first&lt;/div&gt; quarter of fiscal &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;2021.&lt;/div&gt; The adoption of this amendment is &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;not&lt;/div&gt; expected to have a material impact on our results of operations or disclosures.&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&amp;nbsp;&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;In &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt; December 2019, &lt;/div&gt;the FASB issued Accounting Standards Update &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;2019&lt;/div&gt;-&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;12,&lt;/div&gt; &amp;#x201c;Income Taxes (Topic &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;740&lt;/div&gt;): Simplifying the Accounting for Income Taxes&amp;#x201d; (&amp;#x201c;ASU &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;2019&lt;/div&gt;-&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;12&amp;#x201d;&lt;/div&gt;). ASU &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;2019&lt;/div&gt;-&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;12&lt;/div&gt; simplifies how an entity accounts for income taxes. ASU &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;2019&lt;/div&gt;-&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;12&lt;/div&gt; is effective for annual periods, and interim periods within those annual periods, beginning after &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt; December 15, 2020, &lt;/div&gt;which will be our fiscal year beginning &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt; February 1, 2021 (&lt;/div&gt;fiscal &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;2022&lt;/div&gt;). Early adoption is permitted. The Company will adopt this guidance in the &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;first&lt;/div&gt; quarter of fiscal &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;2022.&lt;/div&gt; We are currently evaluating the impact that the adoption will have on our results of operations, financial position and disclosures.&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;</us-gaap:SignificantAccountingPoliciesTextBlock>
  <us-gaap:SignificantChangeInUnrecognizedTaxBenefitsIsReasonablyPossibleAmountOfUnrecordedBenefit contextRef="i_2020-01-31" decimals="-5" id="c59150152" unitRef="iso4217-usd">300000</us-gaap:SignificantChangeInUnrecognizedTaxBenefitsIsReasonablyPossibleAmountOfUnrecordedBenefit>
  <us-gaap:StockIssuedDuringPeriodSharesNewIssues contextRef="d_2019-06-10_2019-06-10" decimals="INF" id="c59149788" unitRef="xbrli-shares">6900000</us-gaap:StockIssuedDuringPeriodSharesNewIssues>
  <us-gaap:StockIssuedDuringPeriodSharesNewIssues contextRef="d_2019-02-01_2020-01-31" decimals="-3" id="c59149806" unitRef="xbrli-shares">6900000</us-gaap:StockIssuedDuringPeriodSharesNewIssues>
  <us-gaap:StockIssuedDuringPeriodSharesNewIssues contextRef="d_2018-02-01_2019-01-31" id="c59149807" unitRef="xbrli-shares" xs:nil="true"/>
  <us-gaap:StockIssuedDuringPeriodSharesNewIssues contextRef="d_2017-02-01_2018-01-31" id="c59149808" unitRef="xbrli-shares" xs:nil="true"/>
  <us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised contextRef="d_2018-02-01_2019-01-31" decimals="INF" id="c59149945" unitRef="xbrli-shares">46065</us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised>
  <us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised contextRef="d_2019-02-01_2020-01-31" decimals="INF" id="c59149961" unitRef="xbrli-shares">94970</us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised>
  <us-gaap:StockIssuedDuringPeriodValueAcquisitions contextRef="d_2019-02-01_2020-01-31_StatementEquityComponentsAxis-CommonStockMember" decimals="-3" id="c59148221" unitRef="iso4217-usd">9045000</us-gaap:StockIssuedDuringPeriodValueAcquisitions>
  <us-gaap:StockIssuedDuringPeriodValueAcquisitions contextRef="d_2018-02-01_2019-01-31_StatementEquityComponentsAxis-CommonStockMember" decimals="-3" id="c59148222" unitRef="iso4217-usd">1536000</us-gaap:StockIssuedDuringPeriodValueAcquisitions>
  <us-gaap:StockIssuedDuringPeriodValueAcquisitions contextRef="d_2017-02-01_2018-01-31_StatementEquityComponentsAxis-CommonStockMember" decimals="-3" id="c59148223" unitRef="iso4217-usd">20000000</us-gaap:StockIssuedDuringPeriodValueAcquisitions>
  <us-gaap:StockIssuedDuringPeriodValueNewIssues contextRef="d_2019-06-10_2019-06-10" decimals="-5" id="c59149790" unitRef="iso4217-usd">245000000</us-gaap:StockIssuedDuringPeriodValueNewIssues>
  <us-gaap:StockIssuedDuringPeriodValueNewIssues contextRef="d_2019-02-01_2020-01-31_StatementEquityComponentsAxis-CommonStockMember" decimals="-3" id="c59148218" unitRef="iso4217-usd">236568000</us-gaap:StockIssuedDuringPeriodValueNewIssues>
  <us-gaap:StockIssuedDuringPeriodValueNewIssues contextRef="d_2018-02-01_2019-01-31_StatementEquityComponentsAxis-CommonStockMember" id="c59148219" unitRef="iso4217-usd" xs:nil="true"/>
  <us-gaap:StockIssuedDuringPeriodValueNewIssues contextRef="d_2017-02-01_2018-01-31_StatementEquityComponentsAxis-CommonStockMember" id="c59148220" unitRef="iso4217-usd" xs:nil="true"/>
  <us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised contextRef="d_2019-02-01_2020-01-31_StatementEquityComponentsAxis-CommonStockMember" decimals="-3" id="c59148215" unitRef="iso4217-usd">1788000</us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised>
  <us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised contextRef="d_2018-02-01_2019-01-31_StatementEquityComponentsAxis-CommonStockMember" decimals="-3" id="c59148216" unitRef="iso4217-usd">681000</us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised>
  <us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised contextRef="d_2017-02-01_2018-01-31_StatementEquityComponentsAxis-CommonStockMember" decimals="-3" id="c59148217" unitRef="iso4217-usd">1294000</us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised>
  <us-gaap:StockholdersEquity contextRef="i_2020-01-31" decimals="-3" id="c59148123" unitRef="iso4217-usd">821709000</us-gaap:StockholdersEquity>
  <us-gaap:StockholdersEquity contextRef="i_2019-01-31" decimals="-3" id="c59148124" unitRef="iso4217-usd">533507000</us-gaap:StockholdersEquity>
  <us-gaap:StockholdersEquity contextRef="i_2019-01-31_StatementEquityComponentsAxis-CommonStockMember" decimals="-3" id="c59148212" unitRef="iso4217-usd">276753000</us-gaap:StockholdersEquity>
  <us-gaap:StockholdersEquity contextRef="i_2018-01-31_StatementEquityComponentsAxis-CommonStockMember" decimals="-3" id="c59148213" unitRef="iso4217-usd">274536000</us-gaap:StockholdersEquity>
  <us-gaap:StockholdersEquity contextRef="i_2017-01-31_StatementEquityComponentsAxis-CommonStockMember" decimals="-3" id="c59148214" unitRef="iso4217-usd">253242000</us-gaap:StockholdersEquity>
  <us-gaap:StockholdersEquity contextRef="i_2020-01-31_StatementEquityComponentsAxis-CommonStockMember" decimals="-3" id="c59148224" unitRef="iso4217-usd">524154000</us-gaap:StockholdersEquity>
  <us-gaap:StockholdersEquity contextRef="i_2019-01-31_StatementEquityComponentsAxis-AdditionalPaidInCapitalMember" decimals="-3" id="c59148228" unitRef="iso4217-usd">454722000</us-gaap:StockholdersEquity>
  <us-gaap:StockholdersEquity contextRef="i_2018-01-31_StatementEquityComponentsAxis-AdditionalPaidInCapitalMember" decimals="-3" id="c59148229" unitRef="iso4217-usd">451151000</us-gaap:StockholdersEquity>
  <us-gaap:StockholdersEquity contextRef="i_2017-01-31_StatementEquityComponentsAxis-AdditionalPaidInCapitalMember" decimals="-3" id="c59148230" unitRef="iso4217-usd">448597000</us-gaap:StockholdersEquity>
  <us-gaap:StockholdersEquity contextRef="i_2020-01-31_StatementEquityComponentsAxis-AdditionalPaidInCapitalMember" decimals="-3" id="c59148240" unitRef="iso4217-usd">459269000</us-gaap:StockholdersEquity>
  <us-gaap:StockholdersEquity contextRef="i_2019-01-31_StatementEquityComponentsAxis-AccumulatedOtherComprehensiveIncomeMember" decimals="-3" id="c59148244" unitRef="iso4217-usd">-25201000</us-gaap:StockholdersEquity>
  <us-gaap:StockholdersEquity contextRef="i_2018-01-31_StatementEquityComponentsAxis-AccumulatedOtherComprehensiveIncomeMember" decimals="-3" id="c59148245" unitRef="iso4217-usd">-15252000</us-gaap:StockholdersEquity>
  <us-gaap:StockholdersEquity contextRef="i_2017-01-31_StatementEquityComponentsAxis-AccumulatedOtherComprehensiveIncomeMember" decimals="-3" id="c59148246" unitRef="iso4217-usd">-32779000</us-gaap:StockholdersEquity>
  <us-gaap:StockholdersEquity contextRef="i_2020-01-31_StatementEquityComponentsAxis-AccumulatedOtherComprehensiveIncomeMember" decimals="-3" id="c59148250" unitRef="iso4217-usd">-25944000</us-gaap:StockholdersEquity>
  <us-gaap:StockholdersEquity contextRef="i_2019-01-31_StatementEquityComponentsAxis-RetainedEarningsMember" decimals="-3" id="c59148254" unitRef="iso4217-usd">-172767000</us-gaap:StockholdersEquity>
  <us-gaap:StockholdersEquity contextRef="i_2018-01-31_StatementEquityComponentsAxis-RetainedEarningsMember" decimals="-3" id="c59148255" unitRef="iso4217-usd">-211623000</us-gaap:StockholdersEquity>
  <us-gaap:StockholdersEquity contextRef="i_2017-01-31_StatementEquityComponentsAxis-RetainedEarningsMember" decimals="-3" id="c59148256" unitRef="iso4217-usd">-238465000</us-gaap:StockholdersEquity>
  <us-gaap:StockholdersEquity contextRef="i_2020-01-31_StatementEquityComponentsAxis-RetainedEarningsMember" decimals="-3" id="c59148263" unitRef="iso4217-usd">-135770000</us-gaap:StockholdersEquity>
  <us-gaap:StockholdersEquity contextRef="i_2018-01-31" decimals="-3" id="c59148268" unitRef="iso4217-usd">498812000</us-gaap:StockholdersEquity>
  <us-gaap:SubsequentEventsTextBlock contextRef="d_2019-02-01_2020-01-31" id="s1506312">&lt;div style="display: inline; font-family: times new roman; font-size: 10pt"&gt;&lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&lt;div style="display: inline; font-weight: bold;"&gt;Note &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;23&lt;/div&gt; &amp;#x2013; Subsequent Event&lt;/div&gt;&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&lt;div style="display: inline; font-weight: bold;"&gt;&amp;nbsp;&lt;/div&gt;&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;On &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt; February 21, 2020, &lt;/div&gt;Descartes acquired all the shares of Peoplevox Limited (&amp;#x201c;Peoplevox&amp;#x201d;), a provider of cloud-based ecommerce warehouse management solutions. The purchase price for the acquisition was approximately &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;$24.5&lt;/div&gt; million (GBP &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;18.9&lt;/div&gt; million), net of cash acquired, which was funded from a combination of cash on hand and drawing on Descartes&amp;#x2019; existing credit facility. As of the issue date of these consolidated financial statements, the fair value of the acquired assets and liabilities has &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;not&lt;/div&gt; been determined.&lt;/div&gt;&lt;/div&gt;</us-gaap:SubsequentEventsTextBlock>
  <us-gaap:SummaryOfOperatingLossCarryforwardsTextBlock contextRef="d_2019-02-01_2020-01-31" id="c-30">&lt;div style="display: inline; font-family: times new roman; font-size: 10pt"&gt;&lt;table cellpadding="0" cellspacing="0" style="border-collapse: collapse; font: 10pt Times New Roman, Times, Serif; min-; min-width: 700px;"&gt; &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td style="font-style: italic; text-align: left; padding-bottom: 1pt; padding-left: 9pt"&gt;Expiry year&lt;/td&gt; &lt;td style="font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;div style="display: inline; font-weight: bold;"&gt;Canada&lt;/div&gt;&lt;/div&gt;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; white-space: nowrap; border-bottom: Black 1pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; font-weight: bold; border-bottom: Black 1pt solid"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;div style="display: inline; font-weight: bold;"&gt;United States&lt;/div&gt;&lt;/div&gt;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; white-space: nowrap; border-bottom: Black 1pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; font-weight: bold; border-bottom: Black 1pt solid"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;div style="display: inline; font-weight: bold;"&gt;EMEA&lt;/div&gt;&lt;/div&gt;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; white-space: nowrap; border-bottom: Black 1pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; font-weight: bold; border-bottom: Black 1pt solid"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;div style="display: inline; font-weight: bold;"&gt;Asia Pacific&lt;/div&gt;&lt;/div&gt;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; white-space: nowrap; border-bottom: Black 1pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; font-weight: bold; border-bottom: Black 1pt solid"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;div style="display: inline; font-weight: bold;"&gt;Total&lt;/div&gt;&lt;/div&gt;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; white-space: nowrap; border-bottom: Black 1pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td style="width: 45%; text-align: left; padding-left: 9pt"&gt;2021&lt;/td&gt; &lt;td style="width: 1%"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 1%; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 8%; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;&amp;#x2013;&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; width: 1%; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 1%"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 1%; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 8%; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;&amp;#x2013;&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; width: 1%; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 1%"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 1%; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 8%; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;&amp;#x2013;&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; width: 1%; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 1%"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 1%; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 8%; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;585&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; width: 1%; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 1%; font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 1%; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 8%; font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;585&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; width: 1%; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td style="text-align: left; padding-left: 9pt"&gt;2022&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;&amp;#x2013;&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;245&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;&amp;#x2013;&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;264&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;509&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td style="text-align: left; padding-left: 9pt"&gt;2023&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;&amp;#x2013;&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;253&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;651&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;46&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;950&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td style="text-align: left; padding-left: 9pt"&gt;2024&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;&amp;#x2013;&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;245&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;126&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;171&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;542&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td style="text-align: left; padding-left: 9pt"&gt;2025&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;&amp;#x2013;&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;245&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;&amp;#x2013;&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;&amp;#x2013;&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;245&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td style="text-align: left; padding-bottom: 1pt; padding-left: 9pt"&gt;Thereafter&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;1,609&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;5,026&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;42,865&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;3,070&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold; border-bottom: Black 1pt solid"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;52,570&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td style="text-align: left; padding-bottom: 1pt; padding-left: 9pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;1,609&lt;/div&gt;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; white-space: nowrap; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;6,014&lt;/div&gt;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; white-space: nowrap; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;43,642&lt;/div&gt;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; white-space: nowrap; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;4,136&lt;/div&gt;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; white-space: nowrap; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;55,401&lt;/div&gt;&lt;/td&gt; &lt;td style="border-bottom: Black 1.5pt solid; white-space: nowrap; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;/table&gt;&lt;/div&gt;</us-gaap:SummaryOfOperatingLossCarryforwardsTextBlock>
  <us-gaap:UnbilledReceivablesCurrent contextRef="i_2020-01-31" decimals="-5" id="c59149566" unitRef="iso4217-usd">1400000</us-gaap:UnbilledReceivablesCurrent>
  <us-gaap:UnbilledReceivablesCurrent contextRef="i_2019-01-31" decimals="-5" id="c59149567" unitRef="iso4217-usd">1000000</us-gaap:UnbilledReceivablesCurrent>
  <us-gaap:UndistributedEarningsOfForeignSubsidiaries contextRef="i_2020-01-31" decimals="-5" id="c59150147" unitRef="iso4217-usd">381300000</us-gaap:UndistributedEarningsOfForeignSubsidiaries>
  <us-gaap:UnrecognizedTaxBenefits contextRef="i_2019-01-31" decimals="-3" id="c59150298" unitRef="iso4217-usd">7824000</us-gaap:UnrecognizedTaxBenefits>
  <us-gaap:UnrecognizedTaxBenefits contextRef="i_2018-01-31" decimals="-3" id="c59150299" unitRef="iso4217-usd">8977000</us-gaap:UnrecognizedTaxBenefits>
  <us-gaap:UnrecognizedTaxBenefits contextRef="i_2020-01-31" decimals="-3" id="c59150304" unitRef="iso4217-usd">6650000</us-gaap:UnrecognizedTaxBenefits>
  <us-gaap:UnrecognizedTaxBenefitsIncreasesResultingFromCurrentPeriodTaxPositions contextRef="d_2019-02-01_2020-01-31" decimals="-3" id="c59150300" unitRef="iso4217-usd">139000</us-gaap:UnrecognizedTaxBenefitsIncreasesResultingFromCurrentPeriodTaxPositions>
  <us-gaap:UnrecognizedTaxBenefitsIncreasesResultingFromCurrentPeriodTaxPositions contextRef="d_2018-02-01_2019-01-31" decimals="-3" id="c59150301" unitRef="iso4217-usd">493000</us-gaap:UnrecognizedTaxBenefitsIncreasesResultingFromCurrentPeriodTaxPositions>
  <us-gaap:UnrecognizedTaxBenefitsReductionsResultingFromLapseOfApplicableStatuteOfLimitations contextRef="d_2019-02-01_2020-01-31" decimals="-3" id="c59150302" unitRef="iso4217-usd">1313000</us-gaap:UnrecognizedTaxBenefitsReductionsResultingFromLapseOfApplicableStatuteOfLimitations>
  <us-gaap:UnrecognizedTaxBenefitsReductionsResultingFromLapseOfApplicableStatuteOfLimitations contextRef="d_2018-02-01_2019-01-31" decimals="-3" id="c59150303" unitRef="iso4217-usd">1646000</us-gaap:UnrecognizedTaxBenefitsReductionsResultingFromLapseOfApplicableStatuteOfLimitations>
  <us-gaap:UnrecognizedTaxBenefitsThatWouldImpactEffectiveTaxRate contextRef="i_2020-01-31" decimals="-5" id="c59150151" unitRef="iso4217-usd">6500000</us-gaap:UnrecognizedTaxBenefitsThatWouldImpactEffectiveTaxRate>
  <us-gaap:UseOfEstimates contextRef="d_2019-02-01_2020-01-31" id="c59148355">&lt;div style="display: inline; font-family: times new roman; font-size: 10pt"&gt;&lt;div style="display: inline; font-family: times new roman; font-size: 10pt"&gt;&lt;div style="display: inline; font-family: times new roman; font-size: 10pt"&gt;&lt;div style="display: inline; font-family: times new roman; font-size: 10pt"&gt;&lt;div style="display: inline; font-family: times new roman; font-size: 10pt"&gt;&lt;div style="display: inline; font-family: times new roman; font-size: 10pt"&gt;&lt;div style="display: inline; font-family: times new roman; font-size: 10pt"&gt;&lt;div style="display: inline; font-family: times new roman; font-size: 10pt"&gt;&lt;div style="display: inline; font-family: times new roman; font-size: 10pt"&gt;&lt;div style="display: inline; font-family: times new roman; font-size: 10pt"&gt;&lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"&gt;&lt;div style="display: inline; font-weight: bold;"&gt;&lt;div style="display: inline; font-style: italic;"&gt;Use of estimates&lt;/div&gt;&lt;/div&gt;&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;Preparing financial statements in conformity with GAAP requires management to make estimates and assumptions that affect the amounts that are reported in the consolidated financial statements and accompanying note disclosures. Although these estimates and assumptions are based on management&amp;#x2019;s best knowledge of current events, actual results &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt; may &lt;/div&gt;be different from the estimates. These estimates, judgments and assumptions are evaluated on an ongoing basis. We base our estimates on historical experience and on various other assumptions that we believe are reasonable at that time, the results of which form the basis for making judgments about the carrying values of assets and liabilities that are &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;not&lt;/div&gt; readily apparent from other sources.&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&amp;nbsp;&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;Estimates and assumptions are used when accounting for items such as allocations of the purchase price and the fair value of net assets acquired in business combination transactions, useful lives of intangible assets and property and equipment, revenue related estimates including determining the nature and timing of satisfaction of performance obligations, and determining the standalone selling price (&amp;#x201c;SSP&amp;#x201d;) of performance obligations, variable consideration, and other obligations such as product returns and refunds, allowance for doubtful accounts, collectability of other receivables, provisions for excess or obsolete inventory, determining the Company&amp;#x2019;s incremental borrowing rate, restructuring accruals, fair value of stock-based compensation, assumptions embodied in the valuation of assets for impairment assessment, accounting for income taxes, valuation allowances for deferred income tax assets, realization of investment tax credits, uncertain tax positions and recognition of contingencies.&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;</us-gaap:UseOfEstimates>
  <us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding contextRef="d_2019-02-01_2020-01-31" decimals="-3" id="c59149838" unitRef="xbrli-shares">82867000</us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding>
  <us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding contextRef="d_2018-02-01_2019-01-31" decimals="-3" id="c59149839" unitRef="xbrli-shares">77791000</us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding>
  <us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding contextRef="d_2017-02-01_2018-01-31" decimals="-3" id="c59149840" unitRef="xbrli-shares">77112000</us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding>
  <us-gaap:WeightedAverageNumberOfSharesOutstandingBasic contextRef="d_2019-02-01_2020-01-31" decimals="-3" id="c59149829" unitRef="xbrli-shares">81659000</us-gaap:WeightedAverageNumberOfSharesOutstandingBasic>
  <us-gaap:WeightedAverageNumberOfSharesOutstandingBasic contextRef="d_2018-02-01_2019-01-31" decimals="-3" id="c59149830" unitRef="xbrli-shares">76832000</us-gaap:WeightedAverageNumberOfSharesOutstandingBasic>
  <us-gaap:WeightedAverageNumberOfSharesOutstandingBasic contextRef="d_2017-02-01_2018-01-31" decimals="-3" id="c59149831" unitRef="xbrli-shares">76324000</us-gaap:WeightedAverageNumberOfSharesOutstandingBasic>
  <link:footnoteLink xlink:role="http://www.xbrl.org/2003/role/link" xlink:type="extended"/>
  <xbrli:unit id="xbrli-shares">
    <xbrli:measure>xbrli:shares</xbrli:measure>
  </xbrli:unit>
  <xbrli:unit id="xbrli-pure">
    <xbrli:measure>xbrli:pure</xbrli:measure>
  </xbrli:unit>
  <xbrli:unit id="iso4217-usd">
    <xbrli:measure>iso4217:USD</xbrli:measure>
  </xbrli:unit>
  <xbrli:unit id="iso4217-cad">
    <xbrli:measure>iso4217:CAD</xbrli:measure>
  </xbrli:unit>
  <xbrli:unit id="iso4217-usd-per-xbrli-shares">
    <xbrli:divide>
      <xbrli:unitNumerator>
        <xbrli:measure>iso4217:USD</xbrli:measure>
      </xbrli:unitNumerator>
      <xbrli:unitDenominator>
        <xbrli:measure>xbrli:shares</xbrli:measure>
      </xbrli:unitDenominator>
    </xbrli:divide>
  </xbrli:unit>
  <xbrli:unit id="iso4217-gbp">
    <xbrli:measure>iso4217:GBP</xbrli:measure>
  </xbrli:unit>
  <xbrli:context id="d_2017-02-01_2018-01-31">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001050140</xbrli:identifier>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:startDate>2017-02-01</xbrli:startDate>
      <xbrli:endDate>2018-01-31</xbrli:endDate>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="d_2017-02-01_2018-01-31_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis-StockOptionsTreasuryStockMethodMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001050140</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis">dsgx:StockOptionsTreasuryStockMethodMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:startDate>2017-02-01</xbrli:startDate>
      <xbrli:endDate>2018-01-31</xbrli:endDate>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="d_2017-02-01_2018-01-31_AwardTypeAxis-EmployeeStockOptionMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001050140</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:EmployeeStockOptionMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:startDate>2017-02-01</xbrli:startDate>
      <xbrli:endDate>2018-01-31</xbrli:endDate>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="d_2017-02-01_2018-01-31_AwardTypeAxis-PerformanceSharesMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001050140</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:PerformanceSharesMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:startDate>2017-02-01</xbrli:startDate>
      <xbrli:endDate>2018-01-31</xbrli:endDate>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="d_2017-02-01_2018-01-31_AwardTypeAxis-RestrictedStockUnitsRSUMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001050140</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockUnitsRSUMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:startDate>2017-02-01</xbrli:startDate>
      <xbrli:endDate>2018-01-31</xbrli:endDate>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="d_2017-02-01_2018-01-31_BusinessAcquisitionAxis-MacroPointLLCMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001050140</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">dsgx:MacroPointLLCMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:startDate>2017-02-01</xbrli:startDate>
      <xbrli:endDate>2018-01-31</xbrli:endDate>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="d_2017-02-01_2018-01-31_BusinessAcquisitionAxis-MacroPointLLCMember_FiniteLivedIntangibleAssetsByMajorClassAxis-CustomerRelationshipsMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001050140</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">dsgx:MacroPointLLCMember</xbrldi:explicitMember>
        <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:CustomerRelationshipsMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:startDate>2017-02-01</xbrli:startDate>
      <xbrli:endDate>2018-01-31</xbrli:endDate>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="d_2017-02-01_2018-01-31_BusinessAcquisitionAxis-MacroPointLLCMember_FiniteLivedIntangibleAssetsByMajorClassAxis-ExistingTechnologyMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001050140</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">dsgx:MacroPointLLCMember</xbrldi:explicitMember>
        <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">dsgx:ExistingTechnologyMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:startDate>2017-02-01</xbrli:startDate>
      <xbrli:endDate>2018-01-31</xbrli:endDate>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="d_2017-02-01_2018-01-31_BusinessAcquisitionAxis-MacroPointLLCMember_FiniteLivedIntangibleAssetsByMajorClassAxis-NoncompeteAgreementsMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001050140</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">dsgx:MacroPointLLCMember</xbrldi:explicitMember>
        <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:NoncompeteAgreementsMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:startDate>2017-02-01</xbrli:startDate>
      <xbrli:endDate>2018-01-31</xbrli:endDate>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="d_2017-02-01_2018-01-31_BusinessAcquisitionAxis-MacroPointLLCMember_FiniteLivedIntangibleAssetsByMajorClassAxis-TradeNamesMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001050140</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">dsgx:MacroPointLLCMember</xbrldi:explicitMember>
        <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:TradeNamesMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:startDate>2017-02-01</xbrli:startDate>
      <xbrli:endDate>2018-01-31</xbrli:endDate>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="d_2017-02-01_2018-01-31_BusinessAcquisitionAxis-PCSTracIncMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001050140</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">dsgx:PCSTracIncMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:startDate>2017-02-01</xbrli:startDate>
      <xbrli:endDate>2018-01-31</xbrli:endDate>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="d_2017-02-01_2018-01-31_BusinessAcquisitionAxis-PCSTracIncMember_FiniteLivedIntangibleAssetsByMajorClassAxis-CustomerRelationshipsMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001050140</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">dsgx:PCSTracIncMember</xbrldi:explicitMember>
        <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:CustomerRelationshipsMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:startDate>2017-02-01</xbrli:startDate>
      <xbrli:endDate>2018-01-31</xbrli:endDate>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="d_2017-02-01_2018-01-31_BusinessAcquisitionAxis-PCSTracIncMember_FiniteLivedIntangibleAssetsByMajorClassAxis-ExistingTechnologyMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001050140</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">dsgx:PCSTracIncMember</xbrldi:explicitMember>
        <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">dsgx:ExistingTechnologyMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:startDate>2017-02-01</xbrli:startDate>
      <xbrli:endDate>2018-01-31</xbrli:endDate>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="d_2017-02-01_2018-01-31_BusinessAcquisitionAxis-PCSTracIncMember_FiniteLivedIntangibleAssetsByMajorClassAxis-NoncompeteAgreementsMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001050140</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">dsgx:PCSTracIncMember</xbrldi:explicitMember>
        <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:NoncompeteAgreementsMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:startDate>2017-02-01</xbrli:startDate>
      <xbrli:endDate>2018-01-31</xbrli:endDate>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="d_2017-02-01_2018-01-31_BusinessAcquisitionAxis-PCSTracIncMember_FiniteLivedIntangibleAssetsByMajorClassAxis-TradeNamesMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001050140</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">dsgx:PCSTracIncMember</xbrldi:explicitMember>
        <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:TradeNamesMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:startDate>2017-02-01</xbrli:startDate>
      <xbrli:endDate>2018-01-31</xbrli:endDate>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="d_2017-02-01_2018-01-31_BusinessAcquisitionAxis-ShipRushMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001050140</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">dsgx:ShipRushMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:startDate>2017-02-01</xbrli:startDate>
      <xbrli:endDate>2018-01-31</xbrli:endDate>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="d_2017-02-01_2018-01-31_BusinessAcquisitionAxis-ShipRushMember_FiniteLivedIntangibleAssetsByMajorClassAxis-CustomerRelationshipsMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001050140</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">dsgx:ShipRushMember</xbrldi:explicitMember>
        <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:CustomerRelationshipsMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:startDate>2017-02-01</xbrli:startDate>
      <xbrli:endDate>2018-01-31</xbrli:endDate>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="d_2017-02-01_2018-01-31_BusinessAcquisitionAxis-ShipRushMember_FiniteLivedIntangibleAssetsByMajorClassAxis-ExistingTechnologyMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001050140</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">dsgx:ShipRushMember</xbrldi:explicitMember>
        <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">dsgx:ExistingTechnologyMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:startDate>2017-02-01</xbrli:startDate>
      <xbrli:endDate>2018-01-31</xbrli:endDate>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="d_2017-02-01_2018-01-31_BusinessAcquisitionAxis-ShipRushMember_FiniteLivedIntangibleAssetsByMajorClassAxis-NoncompeteAgreementsMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001050140</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">dsgx:ShipRushMember</xbrldi:explicitMember>
        <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:NoncompeteAgreementsMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:startDate>2017-02-01</xbrli:startDate>
      <xbrli:endDate>2018-01-31</xbrli:endDate>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="d_2017-02-01_2018-01-31_BusinessAcquisitionAxis-ShipRushMember_FiniteLivedIntangibleAssetsByMajorClassAxis-TradeNamesMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001050140</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">dsgx:ShipRushMember</xbrldi:explicitMember>
        <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:TradeNamesMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:startDate>2017-02-01</xbrli:startDate>
      <xbrli:endDate>2018-01-31</xbrli:endDate>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="d_2017-02-01_2018-01-31_BusinessAcquisitionAxis-The2018AcquisitionsMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001050140</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">dsgx:The2018AcquisitionsMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:startDate>2017-02-01</xbrli:startDate>
      <xbrli:endDate>2018-01-31</xbrli:endDate>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="d_2017-02-01_2018-01-31_IncomeStatementLocationAxis-CostOfSalesMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001050140</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">us-gaap:CostOfSalesMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:startDate>2017-02-01</xbrli:startDate>
      <xbrli:endDate>2018-01-31</xbrli:endDate>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="d_2017-02-01_2018-01-31_IncomeStatementLocationAxis-GeneralAndAdministrativeExpenseMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001050140</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">us-gaap:GeneralAndAdministrativeExpenseMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:startDate>2017-02-01</xbrli:startDate>
      <xbrli:endDate>2018-01-31</xbrli:endDate>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="d_2017-02-01_2018-01-31_IncomeStatementLocationAxis-ResearchAndDevelopmentExpenseMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001050140</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">us-gaap:ResearchAndDevelopmentExpenseMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:startDate>2017-02-01</xbrli:startDate>
      <xbrli:endDate>2018-01-31</xbrli:endDate>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="d_2017-02-01_2018-01-31_IncomeStatementLocationAxis-SellingAndMarketingExpenseMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001050140</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">us-gaap:SellingAndMarketingExpenseMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:startDate>2017-02-01</xbrli:startDate>
      <xbrli:endDate>2018-01-31</xbrli:endDate>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="d_2017-02-01_2018-01-31_IncomeTaxAuthorityAxis-CA">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001050140</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:IncomeTaxAuthorityAxis">country:CA</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:startDate>2017-02-01</xbrli:startDate>
      <xbrli:endDate>2018-01-31</xbrli:endDate>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="d_2017-02-01_2018-01-31_IncomeTaxAuthorityAxis-OtherCountriesMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001050140</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:IncomeTaxAuthorityAxis">dsgx:OtherCountriesMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:startDate>2017-02-01</xbrli:startDate>
      <xbrli:endDate>2018-01-31</xbrli:endDate>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="d_2017-02-01_2018-01-31_IncomeTaxAuthorityAxis-US">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001050140</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:IncomeTaxAuthorityAxis">country:US</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:startDate>2017-02-01</xbrli:startDate>
      <xbrli:endDate>2018-01-31</xbrli:endDate>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="d_2017-02-01_2018-01-31_PlanNameAxis-CashsettledRestrictedShareUnitMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001050140</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">dsgx:CashsettledRestrictedShareUnitMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:startDate>2017-02-01</xbrli:startDate>
      <xbrli:endDate>2018-01-31</xbrli:endDate>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="d_2017-02-01_2018-01-31_PlanNameAxis-DeferredShareUnitPlanMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001050140</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">dsgx:DeferredShareUnitPlanMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:startDate>2017-02-01</xbrli:startDate>
      <xbrli:endDate>2018-01-31</xbrli:endDate>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="d_2017-02-01_2018-01-31_ProductOrServiceAxis-LicenseMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001050140</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">us-gaap:LicenseMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:startDate>2017-02-01</xbrli:startDate>
      <xbrli:endDate>2018-01-31</xbrli:endDate>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="d_2017-02-01_2018-01-31_ProductOrServiceAxis-ProfessionalServicesAndOtherMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001050140</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">dsgx:ProfessionalServicesAndOtherMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:startDate>2017-02-01</xbrli:startDate>
      <xbrli:endDate>2018-01-31</xbrli:endDate>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="d_2017-02-01_2018-01-31_ProductOrServiceAxis-ServiceMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001050140</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">us-gaap:ServiceMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:startDate>2017-02-01</xbrli:startDate>
      <xbrli:endDate>2018-01-31</xbrli:endDate>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="d_2017-02-01_2018-01-31_StatementEquityComponentsAxis-AccumulatedOtherComprehensiveIncomeMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001050140</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedOtherComprehensiveIncomeMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:startDate>2017-02-01</xbrli:startDate>
      <xbrli:endDate>2018-01-31</xbrli:endDate>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="d_2017-02-01_2018-01-31_StatementEquityComponentsAxis-AdditionalPaidInCapitalMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001050140</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:startDate>2017-02-01</xbrli:startDate>
      <xbrli:endDate>2018-01-31</xbrli:endDate>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="d_2017-02-01_2018-01-31_StatementEquityComponentsAxis-CommonStockMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001050140</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:startDate>2017-02-01</xbrli:startDate>
      <xbrli:endDate>2018-01-31</xbrli:endDate>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="d_2017-02-01_2018-01-31_StatementEquityComponentsAxis-RetainedEarningsMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001050140</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:startDate>2017-02-01</xbrli:startDate>
      <xbrli:endDate>2018-01-31</xbrli:endDate>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="d_2017-02-01_2018-01-31_StatementGeographicalAxis-AsiaPacificMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001050140</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">srt:AsiaPacificMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:startDate>2017-02-01</xbrli:startDate>
      <xbrli:endDate>2018-01-31</xbrli:endDate>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="d_2017-02-01_2018-01-31_StatementGeographicalAxis-CA">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001050140</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:CA</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:startDate>2017-02-01</xbrli:startDate>
      <xbrli:endDate>2018-01-31</xbrli:endDate>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="d_2017-02-01_2018-01-31_StatementGeographicalAxis-EMEAMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001050140</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">us-gaap:EMEAMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:startDate>2017-02-01</xbrli:startDate>
      <xbrli:endDate>2018-01-31</xbrli:endDate>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="d_2017-02-01_2018-01-31_StatementGeographicalAxis-US">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001050140</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:US</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:startDate>2017-02-01</xbrli:startDate>
      <xbrli:endDate>2018-01-31</xbrli:endDate>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="d_2017-05-18_2017-05-18_BusinessAcquisitionAxis-ShipRushMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001050140</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">dsgx:ShipRushMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:startDate>2017-05-18</xbrli:startDate>
      <xbrli:endDate>2017-05-18</xbrli:endDate>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="d_2017-06-01_2017-06-01_BusinessAcquisitionAxis-PCSTracIncMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001050140</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">dsgx:PCSTracIncMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:startDate>2017-06-01</xbrli:startDate>
      <xbrli:endDate>2017-06-01</xbrli:endDate>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="d_2017-08-14_2017-08-14_BusinessAcquisitionAxis-MacroPointLLCMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001050140</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">dsgx:MacroPointLLCMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:startDate>2017-08-14</xbrli:startDate>
      <xbrli:endDate>2017-08-14</xbrli:endDate>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="d_2018-02-01_2018-02-01">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001050140</xbrli:identifier>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:startDate>2018-02-01</xbrli:startDate>
      <xbrli:endDate>2018-02-01</xbrli:endDate>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="d_2018-02-01_2019-01-31">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001050140</xbrli:identifier>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:startDate>2018-02-01</xbrli:startDate>
      <xbrli:endDate>2019-01-31</xbrli:endDate>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="d_2018-02-01_2019-01-31_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis-StockOptionsTreasuryStockMethodMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001050140</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis">dsgx:StockOptionsTreasuryStockMethodMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:startDate>2018-02-01</xbrli:startDate>
      <xbrli:endDate>2019-01-31</xbrli:endDate>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="d_2018-02-01_2019-01-31_AwardTypeAxis-EmployeeStockOptionMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001050140</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:EmployeeStockOptionMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:startDate>2018-02-01</xbrli:startDate>
      <xbrli:endDate>2019-01-31</xbrli:endDate>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="d_2018-02-01_2019-01-31_AwardTypeAxis-PerformanceSharesMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001050140</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:PerformanceSharesMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:startDate>2018-02-01</xbrli:startDate>
      <xbrli:endDate>2019-01-31</xbrli:endDate>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="d_2018-02-01_2019-01-31_AwardTypeAxis-RestrictedStockUnitsRSUMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001050140</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockUnitsRSUMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:startDate>2018-02-01</xbrli:startDate>
      <xbrli:endDate>2019-01-31</xbrli:endDate>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="d_2018-02-01_2019-01-31_BusinessAcquisitionAxis-AljexSoftwareIncMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001050140</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">dsgx:AljexSoftwareIncMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:startDate>2018-02-01</xbrli:startDate>
      <xbrli:endDate>2019-01-31</xbrli:endDate>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="d_2018-02-01_2019-01-31_BusinessAcquisitionAxis-AljexSoftwareIncMember_FiniteLivedIntangibleAssetsByMajorClassAxis-CustomerRelationshipsMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001050140</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">dsgx:AljexSoftwareIncMember</xbrldi:explicitMember>
        <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:CustomerRelationshipsMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:startDate>2018-02-01</xbrli:startDate>
      <xbrli:endDate>2019-01-31</xbrli:endDate>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="d_2018-02-01_2019-01-31_BusinessAcquisitionAxis-AljexSoftwareIncMember_FiniteLivedIntangibleAssetsByMajorClassAxis-ExistingTechnologyMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001050140</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">dsgx:AljexSoftwareIncMember</xbrldi:explicitMember>
        <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">dsgx:ExistingTechnologyMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:startDate>2018-02-01</xbrli:startDate>
      <xbrli:endDate>2019-01-31</xbrli:endDate>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="d_2018-02-01_2019-01-31_BusinessAcquisitionAxis-AljexSoftwareIncMember_FiniteLivedIntangibleAssetsByMajorClassAxis-NoncompeteAgreementsMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001050140</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">dsgx:AljexSoftwareIncMember</xbrldi:explicitMember>
        <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:NoncompeteAgreementsMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:startDate>2018-02-01</xbrli:startDate>
      <xbrli:endDate>2019-01-31</xbrli:endDate>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="d_2018-02-01_2019-01-31_BusinessAcquisitionAxis-AljexSoftwareIncMember_FiniteLivedIntangibleAssetsByMajorClassAxis-TradeNamesMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001050140</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">dsgx:AljexSoftwareIncMember</xbrldi:explicitMember>
        <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:TradeNamesMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:startDate>2018-02-01</xbrli:startDate>
      <xbrli:endDate>2019-01-31</xbrli:endDate>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="d_2018-02-01_2019-01-31_BusinessAcquisitionAxis-BesttransportMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001050140</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">dsgx:BesttransportMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:startDate>2018-02-01</xbrli:startDate>
      <xbrli:endDate>2019-01-31</xbrli:endDate>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="d_2018-02-01_2019-01-31_BusinessAcquisitionAxis-BesttransportMember_FiniteLivedIntangibleAssetsByMajorClassAxis-CustomerRelationshipsMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001050140</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">dsgx:BesttransportMember</xbrldi:explicitMember>
        <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:CustomerRelationshipsMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:startDate>2018-02-01</xbrli:startDate>
      <xbrli:endDate>2019-01-31</xbrli:endDate>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="d_2018-02-01_2019-01-31_BusinessAcquisitionAxis-BesttransportMember_FiniteLivedIntangibleAssetsByMajorClassAxis-ExistingTechnologyMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001050140</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">dsgx:BesttransportMember</xbrldi:explicitMember>
        <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">dsgx:ExistingTechnologyMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:startDate>2018-02-01</xbrli:startDate>
      <xbrli:endDate>2019-01-31</xbrli:endDate>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="d_2018-02-01_2019-01-31_BusinessAcquisitionAxis-BesttransportMember_FiniteLivedIntangibleAssetsByMajorClassAxis-NoncompeteAgreementsMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001050140</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">dsgx:BesttransportMember</xbrldi:explicitMember>
        <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:NoncompeteAgreementsMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:startDate>2018-02-01</xbrli:startDate>
      <xbrli:endDate>2019-01-31</xbrli:endDate>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="d_2018-02-01_2019-01-31_BusinessAcquisitionAxis-BesttransportMember_FiniteLivedIntangibleAssetsByMajorClassAxis-TradeNamesMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001050140</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">dsgx:BesttransportMember</xbrldi:explicitMember>
        <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:TradeNamesMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:startDate>2018-02-01</xbrli:startDate>
      <xbrli:endDate>2019-01-31</xbrli:endDate>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="d_2018-02-01_2019-01-31_BusinessAcquisitionAxis-CoreTransportTechnologiesNzLimitedMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001050140</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">dsgx:CoreTransportTechnologiesNzLimitedMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:startDate>2018-02-01</xbrli:startDate>
      <xbrli:endDate>2019-01-31</xbrli:endDate>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="d_2018-02-01_2019-01-31_BusinessAcquisitionAxis-CoreTransportTechnologiesNzLimitedMember_FiniteLivedIntangibleAssetsByMajorClassAxis-CustomerRelationshipsMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001050140</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">dsgx:CoreTransportTechnologiesNzLimitedMember</xbrldi:explicitMember>
        <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:CustomerRelationshipsMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:startDate>2018-02-01</xbrli:startDate>
      <xbrli:endDate>2019-01-31</xbrli:endDate>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="d_2018-02-01_2019-01-31_BusinessAcquisitionAxis-CoreTransportTechnologiesNzLimitedMember_FiniteLivedIntangibleAssetsByMajorClassAxis-ExistingTechnologyMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001050140</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">dsgx:CoreTransportTechnologiesNzLimitedMember</xbrldi:explicitMember>
        <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">dsgx:ExistingTechnologyMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:startDate>2018-02-01</xbrli:startDate>
      <xbrli:endDate>2019-01-31</xbrli:endDate>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="d_2018-02-01_2019-01-31_BusinessAcquisitionAxis-CoreTransportTechnologiesNzLimitedMember_FiniteLivedIntangibleAssetsByMajorClassAxis-NoncompeteAgreementsMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001050140</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">dsgx:CoreTransportTechnologiesNzLimitedMember</xbrldi:explicitMember>
        <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:NoncompeteAgreementsMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:startDate>2018-02-01</xbrli:startDate>
      <xbrli:endDate>2019-01-31</xbrli:endDate>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="d_2018-02-01_2019-01-31_BusinessAcquisitionAxis-CoreTransportTechnologiesNzLimitedMember_FiniteLivedIntangibleAssetsByMajorClassAxis-TradeNamesMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001050140</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">dsgx:CoreTransportTechnologiesNzLimitedMember</xbrldi:explicitMember>
        <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:TradeNamesMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:startDate>2018-02-01</xbrli:startDate>
      <xbrli:endDate>2019-01-31</xbrli:endDate>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="d_2018-02-01_2019-01-31_BusinessAcquisitionAxis-PinPointMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001050140</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">dsgx:PinPointMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:startDate>2018-02-01</xbrli:startDate>
      <xbrli:endDate>2019-01-31</xbrli:endDate>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="d_2018-02-01_2019-01-31_BusinessAcquisitionAxis-PinPointMember_FiniteLivedIntangibleAssetsByMajorClassAxis-CustomerRelationshipsMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001050140</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">dsgx:PinPointMember</xbrldi:explicitMember>
        <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:CustomerRelationshipsMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:startDate>2018-02-01</xbrli:startDate>
      <xbrli:endDate>2019-01-31</xbrli:endDate>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="d_2018-02-01_2019-01-31_BusinessAcquisitionAxis-PinPointMember_FiniteLivedIntangibleAssetsByMajorClassAxis-NoncompeteAgreementsMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001050140</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">dsgx:PinPointMember</xbrldi:explicitMember>
        <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:NoncompeteAgreementsMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:startDate>2018-02-01</xbrli:startDate>
      <xbrli:endDate>2019-01-31</xbrli:endDate>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="d_2018-02-01_2019-01-31_BusinessAcquisitionAxis-PinPointMember_FiniteLivedIntangibleAssetsByMajorClassAxis-TradeNamesMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001050140</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">dsgx:PinPointMember</xbrldi:explicitMember>
        <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:TradeNamesMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:startDate>2018-02-01</xbrli:startDate>
      <xbrli:endDate>2019-01-31</xbrli:endDate>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="d_2018-02-01_2019-01-31_BusinessAcquisitionAxis-StepcomMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001050140</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">dsgx:StepcomMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:startDate>2018-02-01</xbrli:startDate>
      <xbrli:endDate>2019-01-31</xbrli:endDate>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="d_2018-02-01_2019-01-31_BusinessAcquisitionAxis-StepcomMember_FiniteLivedIntangibleAssetsByMajorClassAxis-CustomerRelationshipsMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001050140</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">dsgx:StepcomMember</xbrldi:explicitMember>
        <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:CustomerRelationshipsMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:startDate>2018-02-01</xbrli:startDate>
      <xbrli:endDate>2019-01-31</xbrli:endDate>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="d_2018-02-01_2019-01-31_BusinessAcquisitionAxis-StepcomMember_FiniteLivedIntangibleAssetsByMajorClassAxis-NoncompeteAgreementsMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001050140</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">dsgx:StepcomMember</xbrldi:explicitMember>
        <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:NoncompeteAgreementsMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:startDate>2018-02-01</xbrli:startDate>
      <xbrli:endDate>2019-01-31</xbrli:endDate>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="d_2018-02-01_2019-01-31_BusinessAcquisitionAxis-StepcomMember_FiniteLivedIntangibleAssetsByMajorClassAxis-TradeNamesMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001050140</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">dsgx:StepcomMember</xbrldi:explicitMember>
        <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:TradeNamesMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:startDate>2018-02-01</xbrli:startDate>
      <xbrli:endDate>2019-01-31</xbrli:endDate>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="d_2018-02-01_2019-01-31_BusinessAcquisitionAxis-The2019AcquisitionsMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001050140</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">dsgx:The2019AcquisitionsMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:startDate>2018-02-01</xbrli:startDate>
      <xbrli:endDate>2019-01-31</xbrli:endDate>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="d_2018-02-01_2019-01-31_BusinessAcquisitionAxis-VelocityMailMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001050140</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">dsgx:VelocityMailMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:startDate>2018-02-01</xbrli:startDate>
      <xbrli:endDate>2019-01-31</xbrli:endDate>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="d_2018-02-01_2019-01-31_BusinessAcquisitionAxis-VelocityMailMember_FiniteLivedIntangibleAssetsByMajorClassAxis-CustomerRelationshipsMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001050140</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">dsgx:VelocityMailMember</xbrldi:explicitMember>
        <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:CustomerRelationshipsMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:startDate>2018-02-01</xbrli:startDate>
      <xbrli:endDate>2019-01-31</xbrli:endDate>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="d_2018-02-01_2019-01-31_BusinessAcquisitionAxis-VelocityMailMember_FiniteLivedIntangibleAssetsByMajorClassAxis-ExistingTechnologyMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001050140</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">dsgx:VelocityMailMember</xbrldi:explicitMember>
        <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">dsgx:ExistingTechnologyMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:startDate>2018-02-01</xbrli:startDate>
      <xbrli:endDate>2019-01-31</xbrli:endDate>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="d_2018-02-01_2019-01-31_BusinessAcquisitionAxis-VelocityMailMember_FiniteLivedIntangibleAssetsByMajorClassAxis-NoncompeteAgreementsMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001050140</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">dsgx:VelocityMailMember</xbrldi:explicitMember>
        <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:NoncompeteAgreementsMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:startDate>2018-02-01</xbrli:startDate>
      <xbrli:endDate>2019-01-31</xbrli:endDate>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="d_2018-02-01_2019-01-31_BusinessAcquisitionAxis-VelocityMailMember_FiniteLivedIntangibleAssetsByMajorClassAxis-TradeNamesMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001050140</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">dsgx:VelocityMailMember</xbrldi:explicitMember>
        <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:TradeNamesMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:startDate>2018-02-01</xbrli:startDate>
      <xbrli:endDate>2019-01-31</xbrli:endDate>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="d_2018-02-01_2019-01-31_BusinessAcquisitionAxis-VisualComplianceMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001050140</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">dsgx:VisualComplianceMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:startDate>2018-02-01</xbrli:startDate>
      <xbrli:endDate>2019-01-31</xbrli:endDate>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="d_2018-02-01_2019-01-31_BusinessAcquisitionAxis-VisualComplianceMember_FiniteLivedIntangibleAssetsByMajorClassAxis-CustomerRelationshipsMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001050140</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">dsgx:VisualComplianceMember</xbrldi:explicitMember>
        <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:CustomerRelationshipsMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:startDate>2018-02-01</xbrli:startDate>
      <xbrli:endDate>2019-01-31</xbrli:endDate>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="d_2018-02-01_2019-01-31_BusinessAcquisitionAxis-VisualComplianceMember_FiniteLivedIntangibleAssetsByMajorClassAxis-ExistingTechnologyMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001050140</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">dsgx:VisualComplianceMember</xbrldi:explicitMember>
        <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">dsgx:ExistingTechnologyMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:startDate>2018-02-01</xbrli:startDate>
      <xbrli:endDate>2019-01-31</xbrli:endDate>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="d_2018-02-01_2019-01-31_BusinessAcquisitionAxis-VisualComplianceMember_FiniteLivedIntangibleAssetsByMajorClassAxis-NoncompeteAgreementsMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001050140</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">dsgx:VisualComplianceMember</xbrldi:explicitMember>
        <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:NoncompeteAgreementsMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:startDate>2018-02-01</xbrli:startDate>
      <xbrli:endDate>2019-01-31</xbrli:endDate>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="d_2018-02-01_2019-01-31_BusinessAcquisitionAxis-VisualComplianceMember_FiniteLivedIntangibleAssetsByMajorClassAxis-TradeNamesMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001050140</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">dsgx:VisualComplianceMember</xbrldi:explicitMember>
        <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:TradeNamesMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:startDate>2018-02-01</xbrli:startDate>
      <xbrli:endDate>2019-01-31</xbrli:endDate>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="d_2018-02-01_2019-01-31_ConcentrationRiskByBenchmarkAxis-AccountsReceivableMember_ConcentrationRiskByTypeAxis-CustomerConcentrationRiskMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001050140</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:AccountsReceivableMember</xbrldi:explicitMember>
        <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:CustomerConcentrationRiskMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:startDate>2018-02-01</xbrli:startDate>
      <xbrli:endDate>2019-01-31</xbrli:endDate>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="d_2018-02-01_2019-01-31_IncomeStatementLocationAxis-CostOfSalesMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001050140</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">us-gaap:CostOfSalesMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:startDate>2018-02-01</xbrli:startDate>
      <xbrli:endDate>2019-01-31</xbrli:endDate>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="d_2018-02-01_2019-01-31_IncomeStatementLocationAxis-GeneralAndAdministrativeExpenseMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001050140</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">us-gaap:GeneralAndAdministrativeExpenseMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:startDate>2018-02-01</xbrli:startDate>
      <xbrli:endDate>2019-01-31</xbrli:endDate>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="d_2018-02-01_2019-01-31_IncomeStatementLocationAxis-ResearchAndDevelopmentExpenseMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001050140</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">us-gaap:ResearchAndDevelopmentExpenseMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:startDate>2018-02-01</xbrli:startDate>
      <xbrli:endDate>2019-01-31</xbrli:endDate>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="d_2018-02-01_2019-01-31_IncomeStatementLocationAxis-SellingAndMarketingExpenseMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001050140</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">us-gaap:SellingAndMarketingExpenseMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:startDate>2018-02-01</xbrli:startDate>
      <xbrli:endDate>2019-01-31</xbrli:endDate>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="d_2018-02-01_2019-01-31_IncomeTaxAuthorityAxis-CA">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001050140</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:IncomeTaxAuthorityAxis">country:CA</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:startDate>2018-02-01</xbrli:startDate>
      <xbrli:endDate>2019-01-31</xbrli:endDate>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="d_2018-02-01_2019-01-31_IncomeTaxAuthorityAxis-OtherCountriesMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001050140</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:IncomeTaxAuthorityAxis">dsgx:OtherCountriesMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:startDate>2018-02-01</xbrli:startDate>
      <xbrli:endDate>2019-01-31</xbrli:endDate>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="d_2018-02-01_2019-01-31_IncomeTaxAuthorityAxis-US">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001050140</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:IncomeTaxAuthorityAxis">country:US</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:startDate>2018-02-01</xbrli:startDate>
      <xbrli:endDate>2019-01-31</xbrli:endDate>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="d_2018-02-01_2019-01-31_PlanNameAxis-CashsettledRestrictedShareUnitMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001050140</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">dsgx:CashsettledRestrictedShareUnitMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:startDate>2018-02-01</xbrli:startDate>
      <xbrli:endDate>2019-01-31</xbrli:endDate>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="d_2018-02-01_2019-01-31_PlanNameAxis-DeferredShareUnitPlanMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001050140</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">dsgx:DeferredShareUnitPlanMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:startDate>2018-02-01</xbrli:startDate>
      <xbrli:endDate>2019-01-31</xbrli:endDate>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="d_2018-02-01_2019-01-31_PlanNameAxis-ShareholderapprovedStockOptionPlanMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001050140</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">dsgx:ShareholderapprovedStockOptionPlanMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:startDate>2018-02-01</xbrli:startDate>
      <xbrli:endDate>2019-01-31</xbrli:endDate>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="d_2018-02-01_2019-01-31_ProductOrServiceAxis-LicenseMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001050140</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">us-gaap:LicenseMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:startDate>2018-02-01</xbrli:startDate>
      <xbrli:endDate>2019-01-31</xbrli:endDate>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="d_2018-02-01_2019-01-31_ProductOrServiceAxis-ProfessionalServicesAndOtherMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001050140</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">dsgx:ProfessionalServicesAndOtherMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:startDate>2018-02-01</xbrli:startDate>
      <xbrli:endDate>2019-01-31</xbrli:endDate>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="d_2018-02-01_2019-01-31_ProductOrServiceAxis-ServiceMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001050140</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">us-gaap:ServiceMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:startDate>2018-02-01</xbrli:startDate>
      <xbrli:endDate>2019-01-31</xbrli:endDate>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="d_2018-02-01_2019-01-31_StatementEquityComponentsAxis-AccumulatedOtherComprehensiveIncomeMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001050140</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedOtherComprehensiveIncomeMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:startDate>2018-02-01</xbrli:startDate>
      <xbrli:endDate>2019-01-31</xbrli:endDate>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="d_2018-02-01_2019-01-31_StatementEquityComponentsAxis-AdditionalPaidInCapitalMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001050140</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:startDate>2018-02-01</xbrli:startDate>
      <xbrli:endDate>2019-01-31</xbrli:endDate>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="d_2018-02-01_2019-01-31_StatementEquityComponentsAxis-CommonStockMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001050140</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:startDate>2018-02-01</xbrli:startDate>
      <xbrli:endDate>2019-01-31</xbrli:endDate>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="d_2018-02-01_2019-01-31_StatementEquityComponentsAxis-RetainedEarningsMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001050140</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:startDate>2018-02-01</xbrli:startDate>
      <xbrli:endDate>2019-01-31</xbrli:endDate>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="d_2018-02-01_2019-01-31_StatementGeographicalAxis-AsiaPacificMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001050140</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">srt:AsiaPacificMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:startDate>2018-02-01</xbrli:startDate>
      <xbrli:endDate>2019-01-31</xbrli:endDate>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="d_2018-02-01_2019-01-31_StatementGeographicalAxis-CA">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001050140</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:CA</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:startDate>2018-02-01</xbrli:startDate>
      <xbrli:endDate>2019-01-31</xbrli:endDate>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="d_2018-02-01_2019-01-31_StatementGeographicalAxis-EMEAMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001050140</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">us-gaap:EMEAMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:startDate>2018-02-01</xbrli:startDate>
      <xbrli:endDate>2019-01-31</xbrli:endDate>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="d_2018-02-01_2019-01-31_StatementGeographicalAxis-US">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001050140</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:US</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:startDate>2018-02-01</xbrli:startDate>
      <xbrli:endDate>2019-01-31</xbrli:endDate>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="d_2018-02-02_2018-02-02_BusinessAcquisitionAxis-AljexSoftwareIncMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001050140</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">dsgx:AljexSoftwareIncMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:startDate>2018-02-02</xbrli:startDate>
      <xbrli:endDate>2018-02-02</xbrli:endDate>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="d_2018-06-06_2018-06-06_SubsidiarySaleOfStockAxis-ShelfProspectusMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001050140</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:SubsidiarySaleOfStockAxis">dsgx:ShelfProspectusMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:startDate>2018-06-06</xbrli:startDate>
      <xbrli:endDate>2018-06-06</xbrli:endDate>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="d_2018-06-22_2018-06-22_BusinessAcquisitionAxis-VelocityMailMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001050140</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">dsgx:VelocityMailMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:startDate>2018-06-22</xbrli:startDate>
      <xbrli:endDate>2018-06-22</xbrli:endDate>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="d_2018-08-21_2018-08-21_BusinessAcquisitionAxis-PinPointMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001050140</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">dsgx:PinPointMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:startDate>2018-08-21</xbrli:startDate>
      <xbrli:endDate>2018-08-21</xbrli:endDate>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="d_2019-01-25_2019-01-25_CreditFacilityAxis-LineOfCreditBorrowingsToSupportForeignExchangeAndInterestRateHedgingMember_DebtInstrumentAxis-SeniorSecuredCreditFacilityMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001050140</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">dsgx:LineOfCreditBorrowingsToSupportForeignExchangeAndInterestRateHedgingMember</xbrldi:explicitMember>
        <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">dsgx:SeniorSecuredCreditFacilityMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:startDate>2019-01-25</xbrli:startDate>
      <xbrli:endDate>2019-01-25</xbrli:endDate>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="d_2019-01-25_2019-01-25_CreditFacilityAxis-SeniorSecuredCreditFacilityMember_RangeAxis-MaximumMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001050140</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">dsgx:SeniorSecuredCreditFacilityMember</xbrldi:explicitMember>
        <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:startDate>2019-01-25</xbrli:startDate>
      <xbrli:endDate>2019-01-25</xbrli:endDate>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="d_2019-01-25_2019-01-25_CreditFacilityAxis-SeniorSecuredCreditFacilityMember_RangeAxis-MaximumMember_VariableRateAxis-CanadaOrUsPrimeRateBaOrLiborMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001050140</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">dsgx:SeniorSecuredCreditFacilityMember</xbrldi:explicitMember>
        <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember>
        <xbrldi:explicitMember dimension="us-gaap:VariableRateAxis">dsgx:CanadaOrUsPrimeRateBaOrLiborMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:startDate>2019-01-25</xbrli:startDate>
      <xbrli:endDate>2019-01-25</xbrli:endDate>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="d_2019-01-25_2019-01-25_CreditFacilityAxis-SeniorSecuredCreditFacilityMember_RangeAxis-MinimumMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001050140</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">dsgx:SeniorSecuredCreditFacilityMember</xbrldi:explicitMember>
        <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:startDate>2019-01-25</xbrli:startDate>
      <xbrli:endDate>2019-01-25</xbrli:endDate>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="d_2019-01-25_2019-01-25_CreditFacilityAxis-SeniorSecuredCreditFacilityMember_RangeAxis-MinimumMember_VariableRateAxis-CanadaOrUsPrimeRateBaOrLiborMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001050140</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">dsgx:SeniorSecuredCreditFacilityMember</xbrldi:explicitMember>
        <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember>
        <xbrldi:explicitMember dimension="us-gaap:VariableRateAxis">dsgx:CanadaOrUsPrimeRateBaOrLiborMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:startDate>2019-01-25</xbrli:startDate>
      <xbrli:endDate>2019-01-25</xbrli:endDate>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="d_2019-02-01_2020-01-31">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001050140</xbrli:identifier>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:startDate>2019-02-01</xbrli:startDate>
      <xbrli:endDate>2020-01-31</xbrli:endDate>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="d_2019-02-01_2020-01-31_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis-StockOptionsTreasuryStockMethodMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001050140</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis">dsgx:StockOptionsTreasuryStockMethodMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:startDate>2019-02-01</xbrli:startDate>
      <xbrli:endDate>2020-01-31</xbrli:endDate>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="d_2019-02-01_2020-01-31_AwardTypeAxis-CashsettledRestrictedSharePlanMember_RangeAxis-MaximumMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001050140</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">dsgx:CashsettledRestrictedSharePlanMember</xbrldi:explicitMember>
        <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:startDate>2019-02-01</xbrli:startDate>
      <xbrli:endDate>2020-01-31</xbrli:endDate>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="d_2019-02-01_2020-01-31_AwardTypeAxis-CashsettledRestrictedSharePlanMember_RangeAxis-MinimumMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001050140</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">dsgx:CashsettledRestrictedSharePlanMember</xbrldi:explicitMember>
        <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:startDate>2019-02-01</xbrli:startDate>
      <xbrli:endDate>2020-01-31</xbrli:endDate>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="d_2019-02-01_2020-01-31_AwardTypeAxis-DeferredShareUnitPlanMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001050140</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">dsgx:DeferredShareUnitPlanMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:startDate>2019-02-01</xbrli:startDate>
      <xbrli:endDate>2020-01-31</xbrli:endDate>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="d_2019-02-01_2020-01-31_AwardTypeAxis-EmployeeStockOptionMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001050140</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:EmployeeStockOptionMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:startDate>2019-02-01</xbrli:startDate>
      <xbrli:endDate>2020-01-31</xbrli:endDate>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="d_2019-02-01_2020-01-31_AwardTypeAxis-EmployeeStockOptionMember_RangeAxis-MaximumMember_TitleOfIndividualAxis-DirectorsAndOfficersMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001050140</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:EmployeeStockOptionMember</xbrldi:explicitMember>
        <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember>
        <xbrldi:explicitMember dimension="srt:TitleOfIndividualAxis">dsgx:DirectorsAndOfficersMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:startDate>2019-02-01</xbrli:startDate>
      <xbrli:endDate>2020-01-31</xbrli:endDate>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="d_2019-02-01_2020-01-31_AwardTypeAxis-EmployeeStockOptionMember_RangeAxis-MinimumMember_TitleOfIndividualAxis-DirectorsAndOfficersMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001050140</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:EmployeeStockOptionMember</xbrldi:explicitMember>
        <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember>
        <xbrldi:explicitMember dimension="srt:TitleOfIndividualAxis">dsgx:DirectorsAndOfficersMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:startDate>2019-02-01</xbrli:startDate>
      <xbrli:endDate>2020-01-31</xbrli:endDate>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="d_2019-02-01_2020-01-31_AwardTypeAxis-PerformanceSharesMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001050140</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:PerformanceSharesMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:startDate>2019-02-01</xbrli:startDate>
      <xbrli:endDate>2020-01-31</xbrli:endDate>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="d_2019-02-01_2020-01-31_AwardTypeAxis-RestrictedStockUnitsRSUMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001050140</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockUnitsRSUMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:startDate>2019-02-01</xbrli:startDate>
      <xbrli:endDate>2020-01-31</xbrli:endDate>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="d_2019-02-01_2020-01-31_BusinessAcquisitionAxis-AljexSoftwareIncMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001050140</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">dsgx:AljexSoftwareIncMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:startDate>2019-02-01</xbrli:startDate>
      <xbrli:endDate>2020-01-31</xbrli:endDate>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="d_2019-02-01_2020-01-31_BusinessAcquisitionAxis-BesttransportMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001050140</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">dsgx:BesttransportMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:startDate>2019-02-01</xbrli:startDate>
      <xbrli:endDate>2020-01-31</xbrli:endDate>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="d_2019-02-01_2020-01-31_BusinessAcquisitionAxis-CoreTransportTechnologiesNzLimitedMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001050140</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">dsgx:CoreTransportTechnologiesNzLimitedMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:startDate>2019-02-01</xbrli:startDate>
      <xbrli:endDate>2020-01-31</xbrli:endDate>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="d_2019-02-01_2020-01-31_BusinessAcquisitionAxis-PinPointMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001050140</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">dsgx:PinPointMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:startDate>2019-02-01</xbrli:startDate>
      <xbrli:endDate>2020-01-31</xbrli:endDate>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="d_2019-02-01_2020-01-31_BusinessAcquisitionAxis-PinpointAndCoreMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001050140</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">dsgx:PinpointAndCoreMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:startDate>2019-02-01</xbrli:startDate>
      <xbrli:endDate>2020-01-31</xbrli:endDate>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="d_2019-02-01_2020-01-31_BusinessAcquisitionAxis-StepcomMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001050140</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">dsgx:StepcomMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:startDate>2019-02-01</xbrli:startDate>
      <xbrli:endDate>2020-01-31</xbrli:endDate>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="d_2019-02-01_2020-01-31_BusinessAcquisitionAxis-The2020AcquisitionsMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001050140</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">dsgx:The2020AcquisitionsMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:startDate>2019-02-01</xbrli:startDate>
      <xbrli:endDate>2020-01-31</xbrli:endDate>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="d_2019-02-01_2020-01-31_BusinessAcquisitionAxis-VelocityMailMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001050140</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">dsgx:VelocityMailMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:startDate>2019-02-01</xbrli:startDate>
      <xbrli:endDate>2020-01-31</xbrli:endDate>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="d_2019-02-01_2020-01-31_BusinessAcquisitionAxis-VisualComplianceMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001050140</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">dsgx:VisualComplianceMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:startDate>2019-02-01</xbrli:startDate>
      <xbrli:endDate>2020-01-31</xbrli:endDate>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="d_2019-02-01_2020-01-31_ConcentrationRiskByBenchmarkAxis-AccountsReceivableMember_ConcentrationRiskByTypeAxis-CustomerConcentrationRiskMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001050140</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:AccountsReceivableMember</xbrldi:explicitMember>
        <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:CustomerConcentrationRiskMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:startDate>2019-02-01</xbrli:startDate>
      <xbrli:endDate>2020-01-31</xbrli:endDate>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="d_2019-02-01_2020-01-31_FiniteLivedIntangibleAssetsByMajorClassAxis-CustomerRelationshipsMember_RangeAxis-MaximumMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001050140</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:CustomerRelationshipsMember</xbrldi:explicitMember>
        <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:startDate>2019-02-01</xbrli:startDate>
      <xbrli:endDate>2020-01-31</xbrli:endDate>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="d_2019-02-01_2020-01-31_FiniteLivedIntangibleAssetsByMajorClassAxis-CustomerRelationshipsMember_RangeAxis-MinimumMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001050140</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:CustomerRelationshipsMember</xbrldi:explicitMember>
        <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:startDate>2019-02-01</xbrli:startDate>
      <xbrli:endDate>2020-01-31</xbrli:endDate>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="d_2019-02-01_2020-01-31_FiniteLivedIntangibleAssetsByMajorClassAxis-ExistingTechnologyMember_RangeAxis-MaximumMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001050140</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">dsgx:ExistingTechnologyMember</xbrldi:explicitMember>
        <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:startDate>2019-02-01</xbrli:startDate>
      <xbrli:endDate>2020-01-31</xbrli:endDate>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="d_2019-02-01_2020-01-31_FiniteLivedIntangibleAssetsByMajorClassAxis-ExistingTechnologyMember_RangeAxis-MinimumMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001050140</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">dsgx:ExistingTechnologyMember</xbrldi:explicitMember>
        <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:startDate>2019-02-01</xbrli:startDate>
      <xbrli:endDate>2020-01-31</xbrli:endDate>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="d_2019-02-01_2020-01-31_FiniteLivedIntangibleAssetsByMajorClassAxis-NoncompeteAgreementsMember_RangeAxis-MaximumMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001050140</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:NoncompeteAgreementsMember</xbrldi:explicitMember>
        <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:startDate>2019-02-01</xbrli:startDate>
      <xbrli:endDate>2020-01-31</xbrli:endDate>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="d_2019-02-01_2020-01-31_FiniteLivedIntangibleAssetsByMajorClassAxis-NoncompeteAgreementsMember_RangeAxis-MinimumMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001050140</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:NoncompeteAgreementsMember</xbrldi:explicitMember>
        <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:startDate>2019-02-01</xbrli:startDate>
      <xbrli:endDate>2020-01-31</xbrli:endDate>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="d_2019-02-01_2020-01-31_FiniteLivedIntangibleAssetsByMajorClassAxis-TradeNamesMember_RangeAxis-MaximumMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001050140</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:TradeNamesMember</xbrldi:explicitMember>
        <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:startDate>2019-02-01</xbrli:startDate>
      <xbrli:endDate>2020-01-31</xbrli:endDate>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="d_2019-02-01_2020-01-31_FiniteLivedIntangibleAssetsByMajorClassAxis-TradeNamesMember_RangeAxis-MinimumMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001050140</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:TradeNamesMember</xbrldi:explicitMember>
        <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:startDate>2019-02-01</xbrli:startDate>
      <xbrli:endDate>2020-01-31</xbrli:endDate>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="d_2019-02-01_2020-01-31_IncomeStatementLocationAxis-CostOfSalesMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001050140</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">us-gaap:CostOfSalesMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:startDate>2019-02-01</xbrli:startDate>
      <xbrli:endDate>2020-01-31</xbrli:endDate>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="d_2019-02-01_2020-01-31_IncomeStatementLocationAxis-GeneralAndAdministrativeExpenseMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001050140</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">us-gaap:GeneralAndAdministrativeExpenseMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:startDate>2019-02-01</xbrli:startDate>
      <xbrli:endDate>2020-01-31</xbrli:endDate>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="d_2019-02-01_2020-01-31_IncomeStatementLocationAxis-ResearchAndDevelopmentExpenseMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001050140</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">us-gaap:ResearchAndDevelopmentExpenseMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:startDate>2019-02-01</xbrli:startDate>
      <xbrli:endDate>2020-01-31</xbrli:endDate>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="d_2019-02-01_2020-01-31_IncomeStatementLocationAxis-SellingAndMarketingExpenseMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001050140</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">us-gaap:SellingAndMarketingExpenseMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:startDate>2019-02-01</xbrli:startDate>
      <xbrli:endDate>2020-01-31</xbrli:endDate>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="d_2019-02-01_2020-01-31_PlanNameAxis-CashsettledRestrictedShareUnitMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001050140</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">dsgx:CashsettledRestrictedShareUnitMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:startDate>2019-02-01</xbrli:startDate>
      <xbrli:endDate>2020-01-31</xbrli:endDate>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="d_2019-02-01_2020-01-31_PlanNameAxis-DeferredShareUnitPlanMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001050140</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">dsgx:DeferredShareUnitPlanMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:startDate>2019-02-01</xbrli:startDate>
      <xbrli:endDate>2020-01-31</xbrli:endDate>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="d_2019-02-01_2020-01-31_PlanNameAxis-ShareholderapprovedStockOptionPlanMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001050140</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">dsgx:ShareholderapprovedStockOptionPlanMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:startDate>2019-02-01</xbrli:startDate>
      <xbrli:endDate>2020-01-31</xbrli:endDate>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="d_2019-02-01_2020-01-31_ProductOrServiceAxis-LicenseMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001050140</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">us-gaap:LicenseMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:startDate>2019-02-01</xbrli:startDate>
      <xbrli:endDate>2020-01-31</xbrli:endDate>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="d_2019-02-01_2020-01-31_ProductOrServiceAxis-ProfessionalServicesAndOtherMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001050140</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">dsgx:ProfessionalServicesAndOtherMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:startDate>2019-02-01</xbrli:startDate>
      <xbrli:endDate>2020-01-31</xbrli:endDate>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="d_2019-02-01_2020-01-31_ProductOrServiceAxis-ServiceMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001050140</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">us-gaap:ServiceMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:startDate>2019-02-01</xbrli:startDate>
      <xbrli:endDate>2020-01-31</xbrli:endDate>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="d_2019-02-01_2020-01-31_PropertyPlantAndEquipmentByTypeAxis-ComputerEquipmentMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001050140</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:ComputerEquipmentMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:startDate>2019-02-01</xbrli:startDate>
      <xbrli:endDate>2020-01-31</xbrli:endDate>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="d_2019-02-01_2020-01-31_PropertyPlantAndEquipmentByTypeAxis-FurnitureAndFixturesMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001050140</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:FurnitureAndFixturesMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:startDate>2019-02-01</xbrli:startDate>
      <xbrli:endDate>2020-01-31</xbrli:endDate>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="d_2019-02-01_2020-01-31_RangeAxis-MaximumMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001050140</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:startDate>2019-02-01</xbrli:startDate>
      <xbrli:endDate>2020-01-31</xbrli:endDate>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="d_2019-02-01_2020-01-31_RangeAxis-MinimumMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001050140</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:startDate>2019-02-01</xbrli:startDate>
      <xbrli:endDate>2020-01-31</xbrli:endDate>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="d_2019-02-01_2020-01-31_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeAxis-Range1Member">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001050140</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeAxis">dsgx:Range1Member</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:startDate>2019-02-01</xbrli:startDate>
      <xbrli:endDate>2020-01-31</xbrli:endDate>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="d_2019-02-01_2020-01-31_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeAxis-Range2Member">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001050140</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeAxis">dsgx:Range2Member</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:startDate>2019-02-01</xbrli:startDate>
      <xbrli:endDate>2020-01-31</xbrli:endDate>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="d_2019-02-01_2020-01-31_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeAxis-Range3Member">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001050140</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeAxis">dsgx:Range3Member</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:startDate>2019-02-01</xbrli:startDate>
      <xbrli:endDate>2020-01-31</xbrli:endDate>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="d_2019-02-01_2020-01-31_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeAxis-Range4Member">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001050140</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeAxis">dsgx:Range4Member</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:startDate>2019-02-01</xbrli:startDate>
      <xbrli:endDate>2020-01-31</xbrli:endDate>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="d_2019-02-01_2020-01-31_StatementEquityComponentsAxis-AccumulatedOtherComprehensiveIncomeMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001050140</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedOtherComprehensiveIncomeMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:startDate>2019-02-01</xbrli:startDate>
      <xbrli:endDate>2020-01-31</xbrli:endDate>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="d_2019-02-01_2020-01-31_StatementEquityComponentsAxis-AdditionalPaidInCapitalMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001050140</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:startDate>2019-02-01</xbrli:startDate>
      <xbrli:endDate>2020-01-31</xbrli:endDate>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="d_2019-02-01_2020-01-31_StatementEquityComponentsAxis-CommonStockMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001050140</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:startDate>2019-02-01</xbrli:startDate>
      <xbrli:endDate>2020-01-31</xbrli:endDate>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="d_2019-02-01_2020-01-31_StatementEquityComponentsAxis-RetainedEarningsMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001050140</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:startDate>2019-02-01</xbrli:startDate>
      <xbrli:endDate>2020-01-31</xbrli:endDate>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="d_2019-02-01_2020-01-31_StatementGeographicalAxis-AsiaPacificMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001050140</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">srt:AsiaPacificMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:startDate>2019-02-01</xbrli:startDate>
      <xbrli:endDate>2020-01-31</xbrli:endDate>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="d_2019-02-01_2020-01-31_StatementGeographicalAxis-CA">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001050140</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:CA</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:startDate>2019-02-01</xbrli:startDate>
      <xbrli:endDate>2020-01-31</xbrli:endDate>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="d_2019-02-01_2020-01-31_StatementGeographicalAxis-EMEAMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001050140</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">us-gaap:EMEAMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:startDate>2019-02-01</xbrli:startDate>
      <xbrli:endDate>2020-01-31</xbrli:endDate>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="d_2019-02-01_2020-01-31_StatementGeographicalAxis-US">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001050140</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:US</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:startDate>2019-02-01</xbrli:startDate>
      <xbrli:endDate>2020-01-31</xbrli:endDate>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="d_2019-02-01_2020-02-01">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001050140</xbrli:identifier>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:startDate>2019-02-01</xbrli:startDate>
      <xbrli:endDate>2020-02-01</xbrli:endDate>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="d_2019-02-01_2020-02-01_IncomeTaxAuthorityAxis-CA">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001050140</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:IncomeTaxAuthorityAxis">country:CA</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:startDate>2019-02-01</xbrli:startDate>
      <xbrli:endDate>2020-02-01</xbrli:endDate>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="d_2019-02-01_2020-02-01_IncomeTaxAuthorityAxis-OtherCountriesMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001050140</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:IncomeTaxAuthorityAxis">dsgx:OtherCountriesMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:startDate>2019-02-01</xbrli:startDate>
      <xbrli:endDate>2020-02-01</xbrli:endDate>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="d_2019-02-01_2020-02-01_IncomeTaxAuthorityAxis-US">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001050140</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:IncomeTaxAuthorityAxis">country:US</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:startDate>2019-02-01</xbrli:startDate>
      <xbrli:endDate>2020-02-01</xbrli:endDate>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="d_2019-02-12_2019-02-12_BusinessAcquisitionAxis-VisualComplianceMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001050140</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">dsgx:VisualComplianceMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:startDate>2019-02-12</xbrli:startDate>
      <xbrli:endDate>2019-02-12</xbrli:endDate>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="d_2019-05-10_2019-05-10_BusinessAcquisitionAxis-CoreTransportTechnologiesNzLimitedMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001050140</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">dsgx:CoreTransportTechnologiesNzLimitedMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:startDate>2019-05-10</xbrli:startDate>
      <xbrli:endDate>2019-05-10</xbrli:endDate>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="d_2019-06-10_2019-06-10">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001050140</xbrli:identifier>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:startDate>2019-06-10</xbrli:startDate>
      <xbrli:endDate>2019-06-10</xbrli:endDate>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="d_2019-06-27_2019-06-27_BusinessAcquisitionAxis-StepcomMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001050140</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">dsgx:StepcomMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:startDate>2019-06-27</xbrli:startDate>
      <xbrli:endDate>2019-06-27</xbrli:endDate>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="d_2019-08-20_2019-08-20_BusinessAcquisitionAxis-BesttransportMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001050140</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">dsgx:BesttransportMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:startDate>2019-08-20</xbrli:startDate>
      <xbrli:endDate>2019-08-20</xbrli:endDate>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="d_2020-02-21_2020-02-21_BusinessAcquisitionAxis-PeoplevoxLimitedMember_SubsequentEventTypeAxis-SubsequentEventMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001050140</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">dsgx:PeoplevoxLimitedMember</xbrldi:explicitMember>
        <xbrldi:explicitMember dimension="us-gaap:SubsequentEventTypeAxis">us-gaap:SubsequentEventMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:startDate>2020-02-21</xbrli:startDate>
      <xbrli:endDate>2020-02-21</xbrli:endDate>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="i_2017-01-31">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001050140</xbrli:identifier>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:instant>2017-01-31</xbrli:instant>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="i_2017-01-31_StatementEquityComponentsAxis-AccumulatedOtherComprehensiveIncomeMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001050140</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedOtherComprehensiveIncomeMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:instant>2017-01-31</xbrli:instant>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="i_2017-01-31_StatementEquityComponentsAxis-AdditionalPaidInCapitalMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001050140</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:instant>2017-01-31</xbrli:instant>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="i_2017-01-31_StatementEquityComponentsAxis-CommonStockMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001050140</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:instant>2017-01-31</xbrli:instant>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="i_2017-01-31_StatementEquityComponentsAxis-RetainedEarningsMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001050140</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:instant>2017-01-31</xbrli:instant>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="i_2017-05-18_BusinessAcquisitionAxis-ShipRushMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001050140</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">dsgx:ShipRushMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:instant>2017-05-18</xbrli:instant>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="i_2017-06-01_BusinessAcquisitionAxis-PCSTracIncMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001050140</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">dsgx:PCSTracIncMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:instant>2017-06-01</xbrli:instant>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="i_2017-08-14_BusinessAcquisitionAxis-MacroPointLLCMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001050140</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">dsgx:MacroPointLLCMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:instant>2017-08-14</xbrli:instant>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="i_2018-01-31">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001050140</xbrli:identifier>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:instant>2018-01-31</xbrli:instant>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="i_2018-01-31_AwardTypeAxis-PerformanceSharesMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001050140</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:PerformanceSharesMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:instant>2018-01-31</xbrli:instant>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="i_2018-01-31_AwardTypeAxis-RestrictedStockUnitsRSUMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001050140</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockUnitsRSUMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:instant>2018-01-31</xbrli:instant>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="i_2018-01-31_BusinessAcquisitionAxis-MacroPointLLCMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001050140</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">dsgx:MacroPointLLCMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:instant>2018-01-31</xbrli:instant>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="i_2018-01-31_BusinessAcquisitionAxis-MacroPointLLCMember_FiniteLivedIntangibleAssetsByMajorClassAxis-CustomerRelationshipsMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001050140</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">dsgx:MacroPointLLCMember</xbrldi:explicitMember>
        <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:CustomerRelationshipsMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:instant>2018-01-31</xbrli:instant>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="i_2018-01-31_BusinessAcquisitionAxis-MacroPointLLCMember_FiniteLivedIntangibleAssetsByMajorClassAxis-ExistingTechnologyMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001050140</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">dsgx:MacroPointLLCMember</xbrldi:explicitMember>
        <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">dsgx:ExistingTechnologyMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:instant>2018-01-31</xbrli:instant>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="i_2018-01-31_BusinessAcquisitionAxis-MacroPointLLCMember_FiniteLivedIntangibleAssetsByMajorClassAxis-InProcessResearchAndDevelopmentMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001050140</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">dsgx:MacroPointLLCMember</xbrldi:explicitMember>
        <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:InProcessResearchAndDevelopmentMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:instant>2018-01-31</xbrli:instant>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="i_2018-01-31_BusinessAcquisitionAxis-MacroPointLLCMember_FiniteLivedIntangibleAssetsByMajorClassAxis-NoncompeteAgreementsMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001050140</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">dsgx:MacroPointLLCMember</xbrldi:explicitMember>
        <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:NoncompeteAgreementsMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:instant>2018-01-31</xbrli:instant>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="i_2018-01-31_BusinessAcquisitionAxis-MacroPointLLCMember_FiniteLivedIntangibleAssetsByMajorClassAxis-TradeNamesMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001050140</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">dsgx:MacroPointLLCMember</xbrldi:explicitMember>
        <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:TradeNamesMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:instant>2018-01-31</xbrli:instant>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="i_2018-01-31_BusinessAcquisitionAxis-PCSTracIncMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001050140</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">dsgx:PCSTracIncMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:instant>2018-01-31</xbrli:instant>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="i_2018-01-31_BusinessAcquisitionAxis-PCSTracIncMember_FiniteLivedIntangibleAssetsByMajorClassAxis-CustomerRelationshipsMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001050140</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">dsgx:PCSTracIncMember</xbrldi:explicitMember>
        <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:CustomerRelationshipsMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:instant>2018-01-31</xbrli:instant>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="i_2018-01-31_BusinessAcquisitionAxis-PCSTracIncMember_FiniteLivedIntangibleAssetsByMajorClassAxis-ExistingTechnologyMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001050140</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">dsgx:PCSTracIncMember</xbrldi:explicitMember>
        <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">dsgx:ExistingTechnologyMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:instant>2018-01-31</xbrli:instant>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="i_2018-01-31_BusinessAcquisitionAxis-PCSTracIncMember_FiniteLivedIntangibleAssetsByMajorClassAxis-InProcessResearchAndDevelopmentMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001050140</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">dsgx:PCSTracIncMember</xbrldi:explicitMember>
        <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:InProcessResearchAndDevelopmentMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:instant>2018-01-31</xbrli:instant>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="i_2018-01-31_BusinessAcquisitionAxis-PCSTracIncMember_FiniteLivedIntangibleAssetsByMajorClassAxis-NoncompeteAgreementsMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001050140</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">dsgx:PCSTracIncMember</xbrldi:explicitMember>
        <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:NoncompeteAgreementsMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:instant>2018-01-31</xbrli:instant>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="i_2018-01-31_BusinessAcquisitionAxis-PCSTracIncMember_FiniteLivedIntangibleAssetsByMajorClassAxis-TradeNamesMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001050140</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">dsgx:PCSTracIncMember</xbrldi:explicitMember>
        <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:TradeNamesMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:instant>2018-01-31</xbrli:instant>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="i_2018-01-31_BusinessAcquisitionAxis-ShipRushMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001050140</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">dsgx:ShipRushMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:instant>2018-01-31</xbrli:instant>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="i_2018-01-31_BusinessAcquisitionAxis-ShipRushMember_FiniteLivedIntangibleAssetsByMajorClassAxis-CustomerRelationshipsMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001050140</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">dsgx:ShipRushMember</xbrldi:explicitMember>
        <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:CustomerRelationshipsMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:instant>2018-01-31</xbrli:instant>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="i_2018-01-31_BusinessAcquisitionAxis-ShipRushMember_FiniteLivedIntangibleAssetsByMajorClassAxis-ExistingTechnologyMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001050140</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">dsgx:ShipRushMember</xbrldi:explicitMember>
        <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">dsgx:ExistingTechnologyMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:instant>2018-01-31</xbrli:instant>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="i_2018-01-31_BusinessAcquisitionAxis-ShipRushMember_FiniteLivedIntangibleAssetsByMajorClassAxis-InProcessResearchAndDevelopmentMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001050140</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">dsgx:ShipRushMember</xbrldi:explicitMember>
        <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:InProcessResearchAndDevelopmentMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:instant>2018-01-31</xbrli:instant>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="i_2018-01-31_BusinessAcquisitionAxis-ShipRushMember_FiniteLivedIntangibleAssetsByMajorClassAxis-NoncompeteAgreementsMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001050140</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">dsgx:ShipRushMember</xbrldi:explicitMember>
        <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:NoncompeteAgreementsMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:instant>2018-01-31</xbrli:instant>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="i_2018-01-31_BusinessAcquisitionAxis-ShipRushMember_FiniteLivedIntangibleAssetsByMajorClassAxis-TradeNamesMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001050140</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">dsgx:ShipRushMember</xbrldi:explicitMember>
        <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:TradeNamesMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:instant>2018-01-31</xbrli:instant>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="i_2018-01-31_BusinessAcquisitionAxis-The2018AcquisitionsMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001050140</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">dsgx:The2018AcquisitionsMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:instant>2018-01-31</xbrli:instant>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="i_2018-01-31_BusinessAcquisitionAxis-The2018AcquisitionsMember_FiniteLivedIntangibleAssetsByMajorClassAxis-CustomerRelationshipsMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001050140</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">dsgx:The2018AcquisitionsMember</xbrldi:explicitMember>
        <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:CustomerRelationshipsMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:instant>2018-01-31</xbrli:instant>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="i_2018-01-31_BusinessAcquisitionAxis-The2018AcquisitionsMember_FiniteLivedIntangibleAssetsByMajorClassAxis-ExistingTechnologyMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001050140</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">dsgx:The2018AcquisitionsMember</xbrldi:explicitMember>
        <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">dsgx:ExistingTechnologyMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:instant>2018-01-31</xbrli:instant>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="i_2018-01-31_BusinessAcquisitionAxis-The2018AcquisitionsMember_FiniteLivedIntangibleAssetsByMajorClassAxis-InProcessResearchAndDevelopmentMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001050140</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">dsgx:The2018AcquisitionsMember</xbrldi:explicitMember>
        <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:InProcessResearchAndDevelopmentMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:instant>2018-01-31</xbrli:instant>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="i_2018-01-31_BusinessAcquisitionAxis-The2018AcquisitionsMember_FiniteLivedIntangibleAssetsByMajorClassAxis-NoncompeteAgreementsMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001050140</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">dsgx:The2018AcquisitionsMember</xbrldi:explicitMember>
        <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:NoncompeteAgreementsMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:instant>2018-01-31</xbrli:instant>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="i_2018-01-31_BusinessAcquisitionAxis-The2018AcquisitionsMember_FiniteLivedIntangibleAssetsByMajorClassAxis-TradeNamesMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001050140</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">dsgx:The2018AcquisitionsMember</xbrldi:explicitMember>
        <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:TradeNamesMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:instant>2018-01-31</xbrli:instant>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="i_2018-01-31_PlanNameAxis-ShareholderapprovedStockOptionPlanMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001050140</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">dsgx:ShareholderapprovedStockOptionPlanMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:instant>2018-01-31</xbrli:instant>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="i_2018-01-31_StatementEquityComponentsAxis-AccumulatedOtherComprehensiveIncomeMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001050140</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedOtherComprehensiveIncomeMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:instant>2018-01-31</xbrli:instant>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="i_2018-01-31_StatementEquityComponentsAxis-AdditionalPaidInCapitalMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001050140</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:instant>2018-01-31</xbrli:instant>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="i_2018-01-31_StatementEquityComponentsAxis-CommonStockMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001050140</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:instant>2018-01-31</xbrli:instant>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="i_2018-01-31_StatementEquityComponentsAxis-RetainedEarningsMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001050140</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:instant>2018-01-31</xbrli:instant>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="i_2018-02-01_AdjustmentsForNewAccountingPronouncementsAxis-AccountingStandardsUpdate201409Member">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001050140</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:AdjustmentsForNewAccountingPronouncementsAxis">us-gaap:AccountingStandardsUpdate201409Member</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:instant>2018-02-01</xbrli:instant>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="i_2018-02-01_AdjustmentsForNewAccountingPronouncementsAxis-AccountingStandardsUpdate201606Member_StatementEquityComponentsAxis-RetainedEarningsMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001050140</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:AdjustmentsForNewAccountingPronouncementsAxis">us-gaap:AccountingStandardsUpdate201606Member</xbrldi:explicitMember>
        <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:instant>2018-02-01</xbrli:instant>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="i_2018-02-02_BusinessAcquisitionAxis-AljexSoftwareIncMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001050140</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">dsgx:AljexSoftwareIncMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:instant>2018-02-02</xbrli:instant>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="i_2018-06-06_SubsidiarySaleOfStockAxis-ShelfProspectusMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001050140</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:SubsidiarySaleOfStockAxis">dsgx:ShelfProspectusMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:instant>2018-06-06</xbrli:instant>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="i_2018-06-22_BusinessAcquisitionAxis-VelocityMailMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001050140</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">dsgx:VelocityMailMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:instant>2018-06-22</xbrli:instant>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="i_2018-08-21_BusinessAcquisitionAxis-PinPointMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001050140</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">dsgx:PinPointMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:instant>2018-08-21</xbrli:instant>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="i_2019-01-24_CreditFacilityAxis-RevolvingOperatingCreditFacilityMember_DebtInstrumentAxis-SeniorSecuredCreditFacilityMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001050140</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">dsgx:RevolvingOperatingCreditFacilityMember</xbrldi:explicitMember>
        <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">dsgx:SeniorSecuredCreditFacilityMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:instant>2019-01-24</xbrli:instant>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="i_2019-01-25_CreditFacilityAxis-RevolvingOperatingCreditFacilityMember_DebtInstrumentAxis-SeniorSecuredCreditFacilityMember_RangeAxis-MaximumMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001050140</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">dsgx:RevolvingOperatingCreditFacilityMember</xbrldi:explicitMember>
        <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">dsgx:SeniorSecuredCreditFacilityMember</xbrldi:explicitMember>
        <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:instant>2019-01-25</xbrli:instant>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="i_2019-01-25_CreditFacilityAxis-RevolvingOperatingCreditFacilityMember_DebtInstrumentAxis-SeniorSecuredCreditFacilityMember_RangeAxis-MinimumMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001050140</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">dsgx:RevolvingOperatingCreditFacilityMember</xbrldi:explicitMember>
        <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">dsgx:SeniorSecuredCreditFacilityMember</xbrldi:explicitMember>
        <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:instant>2019-01-25</xbrli:instant>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="i_2019-01-31">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001050140</xbrli:identifier>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:instant>2019-01-31</xbrli:instant>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="i_2019-01-31_AwardTypeAxis-PerformanceSharesMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001050140</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:PerformanceSharesMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:instant>2019-01-31</xbrli:instant>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="i_2019-01-31_AwardTypeAxis-RestrictedStockUnitsRSUMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001050140</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockUnitsRSUMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:instant>2019-01-31</xbrli:instant>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="i_2019-01-31_BusinessAcquisitionAxis-AljexSoftwareIncMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001050140</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">dsgx:AljexSoftwareIncMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:instant>2019-01-31</xbrli:instant>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="i_2019-01-31_BusinessAcquisitionAxis-AljexSoftwareIncMember_FiniteLivedIntangibleAssetsByMajorClassAxis-CustomerRelationshipsMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001050140</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">dsgx:AljexSoftwareIncMember</xbrldi:explicitMember>
        <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:CustomerRelationshipsMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:instant>2019-01-31</xbrli:instant>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="i_2019-01-31_BusinessAcquisitionAxis-AljexSoftwareIncMember_FiniteLivedIntangibleAssetsByMajorClassAxis-ExistingTechnologyMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001050140</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">dsgx:AljexSoftwareIncMember</xbrldi:explicitMember>
        <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">dsgx:ExistingTechnologyMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:instant>2019-01-31</xbrli:instant>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="i_2019-01-31_BusinessAcquisitionAxis-AljexSoftwareIncMember_FiniteLivedIntangibleAssetsByMajorClassAxis-NoncompeteAgreementsMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001050140</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">dsgx:AljexSoftwareIncMember</xbrldi:explicitMember>
        <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:NoncompeteAgreementsMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:instant>2019-01-31</xbrli:instant>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="i_2019-01-31_BusinessAcquisitionAxis-AljexSoftwareIncMember_FiniteLivedIntangibleAssetsByMajorClassAxis-TradeNamesMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001050140</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">dsgx:AljexSoftwareIncMember</xbrldi:explicitMember>
        <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:TradeNamesMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:instant>2019-01-31</xbrli:instant>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="i_2019-01-31_BusinessAcquisitionAxis-PinPointMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001050140</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">dsgx:PinPointMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:instant>2019-01-31</xbrli:instant>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="i_2019-01-31_BusinessAcquisitionAxis-PinPointMember_FiniteLivedIntangibleAssetsByMajorClassAxis-CustomerRelationshipsMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001050140</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">dsgx:PinPointMember</xbrldi:explicitMember>
        <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:CustomerRelationshipsMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:instant>2019-01-31</xbrli:instant>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="i_2019-01-31_BusinessAcquisitionAxis-PinPointMember_FiniteLivedIntangibleAssetsByMajorClassAxis-ExistingTechnologyMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001050140</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">dsgx:PinPointMember</xbrldi:explicitMember>
        <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">dsgx:ExistingTechnologyMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:instant>2019-01-31</xbrli:instant>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="i_2019-01-31_BusinessAcquisitionAxis-PinPointMember_FiniteLivedIntangibleAssetsByMajorClassAxis-NoncompeteAgreementsMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001050140</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">dsgx:PinPointMember</xbrldi:explicitMember>
        <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:NoncompeteAgreementsMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:instant>2019-01-31</xbrli:instant>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="i_2019-01-31_BusinessAcquisitionAxis-PinPointMember_FiniteLivedIntangibleAssetsByMajorClassAxis-TradeNamesMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001050140</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">dsgx:PinPointMember</xbrldi:explicitMember>
        <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:TradeNamesMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:instant>2019-01-31</xbrli:instant>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="i_2019-01-31_BusinessAcquisitionAxis-The2019AcquisitionsMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001050140</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">dsgx:The2019AcquisitionsMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:instant>2019-01-31</xbrli:instant>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="i_2019-01-31_BusinessAcquisitionAxis-The2019AcquisitionsMember_FiniteLivedIntangibleAssetsByMajorClassAxis-CustomerRelationshipsMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001050140</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">dsgx:The2019AcquisitionsMember</xbrldi:explicitMember>
        <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:CustomerRelationshipsMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:instant>2019-01-31</xbrli:instant>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="i_2019-01-31_BusinessAcquisitionAxis-The2019AcquisitionsMember_FiniteLivedIntangibleAssetsByMajorClassAxis-ExistingTechnologyMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001050140</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">dsgx:The2019AcquisitionsMember</xbrldi:explicitMember>
        <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">dsgx:ExistingTechnologyMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:instant>2019-01-31</xbrli:instant>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="i_2019-01-31_BusinessAcquisitionAxis-The2019AcquisitionsMember_FiniteLivedIntangibleAssetsByMajorClassAxis-NoncompeteAgreementsMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001050140</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">dsgx:The2019AcquisitionsMember</xbrldi:explicitMember>
        <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:NoncompeteAgreementsMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:instant>2019-01-31</xbrli:instant>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="i_2019-01-31_BusinessAcquisitionAxis-The2019AcquisitionsMember_FiniteLivedIntangibleAssetsByMajorClassAxis-TradeNamesMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001050140</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">dsgx:The2019AcquisitionsMember</xbrldi:explicitMember>
        <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:TradeNamesMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:instant>2019-01-31</xbrli:instant>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="i_2019-01-31_BusinessAcquisitionAxis-VelocityMailMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001050140</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">dsgx:VelocityMailMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:instant>2019-01-31</xbrli:instant>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="i_2019-01-31_BusinessAcquisitionAxis-VelocityMailMember_FiniteLivedIntangibleAssetsByMajorClassAxis-CustomerRelationshipsMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001050140</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">dsgx:VelocityMailMember</xbrldi:explicitMember>
        <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:CustomerRelationshipsMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:instant>2019-01-31</xbrli:instant>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="i_2019-01-31_BusinessAcquisitionAxis-VelocityMailMember_FiniteLivedIntangibleAssetsByMajorClassAxis-ExistingTechnologyMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001050140</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">dsgx:VelocityMailMember</xbrldi:explicitMember>
        <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">dsgx:ExistingTechnologyMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:instant>2019-01-31</xbrli:instant>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="i_2019-01-31_BusinessAcquisitionAxis-VelocityMailMember_FiniteLivedIntangibleAssetsByMajorClassAxis-NoncompeteAgreementsMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001050140</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">dsgx:VelocityMailMember</xbrldi:explicitMember>
        <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:NoncompeteAgreementsMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:instant>2019-01-31</xbrli:instant>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="i_2019-01-31_BusinessAcquisitionAxis-VelocityMailMember_FiniteLivedIntangibleAssetsByMajorClassAxis-TradeNamesMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001050140</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">dsgx:VelocityMailMember</xbrldi:explicitMember>
        <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:TradeNamesMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:instant>2019-01-31</xbrli:instant>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="i_2019-01-31_CreditFacilityAxis-RevolvingOperatingCreditFacilityMember_DebtInstrumentAxis-SeniorSecuredCreditFacilityMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001050140</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">dsgx:RevolvingOperatingCreditFacilityMember</xbrldi:explicitMember>
        <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">dsgx:SeniorSecuredCreditFacilityMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:instant>2019-01-31</xbrli:instant>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="i_2019-01-31_FiniteLivedIntangibleAssetsByMajorClassAxis-CustomerRelationshipsMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001050140</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:CustomerRelationshipsMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:instant>2019-01-31</xbrli:instant>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="i_2019-01-31_FiniteLivedIntangibleAssetsByMajorClassAxis-DevelopedTechnologyRightsMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001050140</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:DevelopedTechnologyRightsMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:instant>2019-01-31</xbrli:instant>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="i_2019-01-31_FiniteLivedIntangibleAssetsByMajorClassAxis-NoncompeteAgreementsMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001050140</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:NoncompeteAgreementsMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:instant>2019-01-31</xbrli:instant>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="i_2019-01-31_FiniteLivedIntangibleAssetsByMajorClassAxis-TradeNamesMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001050140</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:TradeNamesMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:instant>2019-01-31</xbrli:instant>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="i_2019-01-31_HedgingDesignationAxis-DesignatedAsHedgingInstrumentMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001050140</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:HedgingDesignationAxis">us-gaap:DesignatedAsHedgingInstrumentMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:instant>2019-01-31</xbrli:instant>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="i_2019-01-31_HedgingDesignationAxis-NondesignatedMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001050140</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:HedgingDesignationAxis">us-gaap:NondesignatedMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:instant>2019-01-31</xbrli:instant>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="i_2019-01-31_LeaseArrangementTypeAxis-CapitalLeasesMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001050140</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:LeaseArrangementTypeAxis">dsgx:CapitalLeasesMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:instant>2019-01-31</xbrli:instant>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="i_2019-01-31_LeaseArrangementTypeAxis-OperatingLeasesMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001050140</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:LeaseArrangementTypeAxis">dsgx:OperatingLeasesMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:instant>2019-01-31</xbrli:instant>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="i_2019-01-31_PlanNameAxis-CashsettledRestrictedShareUnitMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001050140</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">dsgx:CashsettledRestrictedShareUnitMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:instant>2019-01-31</xbrli:instant>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="i_2019-01-31_PlanNameAxis-DeferredShareUnitPlanMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001050140</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">dsgx:DeferredShareUnitPlanMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:instant>2019-01-31</xbrli:instant>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="i_2019-01-31_PlanNameAxis-ShareholderapprovedStockOptionPlanMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001050140</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">dsgx:ShareholderapprovedStockOptionPlanMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:instant>2019-01-31</xbrli:instant>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="i_2019-01-31_PropertyPlantAndEquipmentByTypeAxis-AssetUnderConstructionMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001050140</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:AssetUnderConstructionMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:instant>2019-01-31</xbrli:instant>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="i_2019-01-31_PropertyPlantAndEquipmentByTypeAxis-ComputerEquipmentMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001050140</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:ComputerEquipmentMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:instant>2019-01-31</xbrli:instant>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="i_2019-01-31_PropertyPlantAndEquipmentByTypeAxis-EquipmentInstalledWithCustomersMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001050140</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">dsgx:EquipmentInstalledWithCustomersMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:instant>2019-01-31</xbrli:instant>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="i_2019-01-31_PropertyPlantAndEquipmentByTypeAxis-FurnitureAndFixturesMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001050140</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:FurnitureAndFixturesMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:instant>2019-01-31</xbrli:instant>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="i_2019-01-31_PropertyPlantAndEquipmentByTypeAxis-LeaseholdImprovementsMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001050140</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:LeaseholdImprovementsMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:instant>2019-01-31</xbrli:instant>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="i_2019-01-31_StatementEquityComponentsAxis-AccumulatedOtherComprehensiveIncomeMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001050140</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedOtherComprehensiveIncomeMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:instant>2019-01-31</xbrli:instant>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="i_2019-01-31_StatementEquityComponentsAxis-AdditionalPaidInCapitalMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001050140</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:instant>2019-01-31</xbrli:instant>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="i_2019-01-31_StatementEquityComponentsAxis-CommonStockMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001050140</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:instant>2019-01-31</xbrli:instant>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="i_2019-01-31_StatementEquityComponentsAxis-RetainedEarningsMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001050140</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:instant>2019-01-31</xbrli:instant>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="i_2019-01-31_StatementGeographicalAxis-AsiaPacificMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001050140</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">srt:AsiaPacificMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:instant>2019-01-31</xbrli:instant>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="i_2019-01-31_StatementGeographicalAxis-CA">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001050140</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:CA</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:instant>2019-01-31</xbrli:instant>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="i_2019-01-31_StatementGeographicalAxis-EMEAMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001050140</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">us-gaap:EMEAMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:instant>2019-01-31</xbrli:instant>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="i_2019-01-31_StatementGeographicalAxis-US">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001050140</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:US</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:instant>2019-01-31</xbrli:instant>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="i_2019-02-01_AdjustmentsForNewAccountingPronouncementsAxis-AccountingStandardsUpdate201602Member">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001050140</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:AdjustmentsForNewAccountingPronouncementsAxis">us-gaap:AccountingStandardsUpdate201602Member</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:instant>2019-02-01</xbrli:instant>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="i_2019-02-12_BusinessAcquisitionAxis-VisualComplianceMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001050140</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">dsgx:VisualComplianceMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:instant>2019-02-12</xbrli:instant>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="i_2019-05-10_BusinessAcquisitionAxis-CoreTransportTechnologiesNzLimitedMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001050140</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">dsgx:CoreTransportTechnologiesNzLimitedMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:instant>2019-05-10</xbrli:instant>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="i_2019-06-10">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001050140</xbrli:identifier>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:instant>2019-06-10</xbrli:instant>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="i_2019-06-10_SubsidiarySaleOfStockAxis-ShelfProspectusMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001050140</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:SubsidiarySaleOfStockAxis">dsgx:ShelfProspectusMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:instant>2019-06-10</xbrli:instant>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="i_2019-06-27_BusinessAcquisitionAxis-StepcomMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001050140</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">dsgx:StepcomMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:instant>2019-06-27</xbrli:instant>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="i_2019-08-20_BusinessAcquisitionAxis-BesttransportMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001050140</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">dsgx:BesttransportMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:instant>2019-08-20</xbrli:instant>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="i_2020-01-31">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001050140</xbrli:identifier>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:instant>2020-01-31</xbrli:instant>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="i_2020-01-31_AwardTypeAxis-EmployeeStockOptionMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001050140</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:EmployeeStockOptionMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:instant>2020-01-31</xbrli:instant>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="i_2020-01-31_AwardTypeAxis-EmployeeStockOptionMember_PlanNameAxis-OptionsGrantedOutsideOfShareholderApprovedStockOptionPlanMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001050140</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:EmployeeStockOptionMember</xbrldi:explicitMember>
        <xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">dsgx:OptionsGrantedOutsideOfShareholderApprovedStockOptionPlanMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:instant>2020-01-31</xbrli:instant>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="i_2020-01-31_AwardTypeAxis-PerformanceSharesMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001050140</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:PerformanceSharesMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:instant>2020-01-31</xbrli:instant>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="i_2020-01-31_AwardTypeAxis-RestrictedStockUnitsRSUMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001050140</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockUnitsRSUMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:instant>2020-01-31</xbrli:instant>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="i_2020-01-31_BusinessAcquisitionAxis-BesttransportMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001050140</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">dsgx:BesttransportMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:instant>2020-01-31</xbrli:instant>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="i_2020-01-31_BusinessAcquisitionAxis-BesttransportMember_FiniteLivedIntangibleAssetsByMajorClassAxis-CustomerRelationshipsMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001050140</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">dsgx:BesttransportMember</xbrldi:explicitMember>
        <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:CustomerRelationshipsMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:instant>2020-01-31</xbrli:instant>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="i_2020-01-31_BusinessAcquisitionAxis-BesttransportMember_FiniteLivedIntangibleAssetsByMajorClassAxis-ExistingTechnologyMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001050140</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">dsgx:BesttransportMember</xbrldi:explicitMember>
        <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">dsgx:ExistingTechnologyMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:instant>2020-01-31</xbrli:instant>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="i_2020-01-31_BusinessAcquisitionAxis-BesttransportMember_FiniteLivedIntangibleAssetsByMajorClassAxis-NoncompeteAgreementsMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001050140</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">dsgx:BesttransportMember</xbrldi:explicitMember>
        <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:NoncompeteAgreementsMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:instant>2020-01-31</xbrli:instant>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="i_2020-01-31_BusinessAcquisitionAxis-BesttransportMember_FiniteLivedIntangibleAssetsByMajorClassAxis-TradeNamesMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001050140</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">dsgx:BesttransportMember</xbrldi:explicitMember>
        <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:TradeNamesMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:instant>2020-01-31</xbrli:instant>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="i_2020-01-31_BusinessAcquisitionAxis-CoreTransportTechnologiesNzLimitedMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001050140</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">dsgx:CoreTransportTechnologiesNzLimitedMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:instant>2020-01-31</xbrli:instant>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="i_2020-01-31_BusinessAcquisitionAxis-CoreTransportTechnologiesNzLimitedMember_FiniteLivedIntangibleAssetsByMajorClassAxis-CustomerRelationshipsMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001050140</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">dsgx:CoreTransportTechnologiesNzLimitedMember</xbrldi:explicitMember>
        <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:CustomerRelationshipsMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:instant>2020-01-31</xbrli:instant>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="i_2020-01-31_BusinessAcquisitionAxis-CoreTransportTechnologiesNzLimitedMember_FiniteLivedIntangibleAssetsByMajorClassAxis-ExistingTechnologyMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001050140</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">dsgx:CoreTransportTechnologiesNzLimitedMember</xbrldi:explicitMember>
        <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">dsgx:ExistingTechnologyMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:instant>2020-01-31</xbrli:instant>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="i_2020-01-31_BusinessAcquisitionAxis-CoreTransportTechnologiesNzLimitedMember_FiniteLivedIntangibleAssetsByMajorClassAxis-NoncompeteAgreementsMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001050140</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">dsgx:CoreTransportTechnologiesNzLimitedMember</xbrldi:explicitMember>
        <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:NoncompeteAgreementsMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:instant>2020-01-31</xbrli:instant>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="i_2020-01-31_BusinessAcquisitionAxis-CoreTransportTechnologiesNzLimitedMember_FiniteLivedIntangibleAssetsByMajorClassAxis-TradeNamesMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001050140</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">dsgx:CoreTransportTechnologiesNzLimitedMember</xbrldi:explicitMember>
        <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:TradeNamesMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:instant>2020-01-31</xbrli:instant>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="i_2020-01-31_BusinessAcquisitionAxis-PinpointAndCoreMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001050140</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">dsgx:PinpointAndCoreMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:instant>2020-01-31</xbrli:instant>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="i_2020-01-31_BusinessAcquisitionAxis-StepcomMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001050140</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">dsgx:StepcomMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:instant>2020-01-31</xbrli:instant>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="i_2020-01-31_BusinessAcquisitionAxis-StepcomMember_FiniteLivedIntangibleAssetsByMajorClassAxis-CustomerRelationshipsMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001050140</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">dsgx:StepcomMember</xbrldi:explicitMember>
        <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:CustomerRelationshipsMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:instant>2020-01-31</xbrli:instant>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="i_2020-01-31_BusinessAcquisitionAxis-StepcomMember_FiniteLivedIntangibleAssetsByMajorClassAxis-ExistingTechnologyMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001050140</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">dsgx:StepcomMember</xbrldi:explicitMember>
        <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">dsgx:ExistingTechnologyMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:instant>2020-01-31</xbrli:instant>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="i_2020-01-31_BusinessAcquisitionAxis-StepcomMember_FiniteLivedIntangibleAssetsByMajorClassAxis-NoncompeteAgreementsMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001050140</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">dsgx:StepcomMember</xbrldi:explicitMember>
        <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:NoncompeteAgreementsMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:instant>2020-01-31</xbrli:instant>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="i_2020-01-31_BusinessAcquisitionAxis-StepcomMember_FiniteLivedIntangibleAssetsByMajorClassAxis-TradeNamesMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001050140</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">dsgx:StepcomMember</xbrldi:explicitMember>
        <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:TradeNamesMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:instant>2020-01-31</xbrli:instant>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="i_2020-01-31_BusinessAcquisitionAxis-The2020AcquisitionsMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001050140</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">dsgx:The2020AcquisitionsMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:instant>2020-01-31</xbrli:instant>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="i_2020-01-31_BusinessAcquisitionAxis-The2020AcquisitionsMember_FiniteLivedIntangibleAssetsByMajorClassAxis-CustomerRelationshipsMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001050140</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">dsgx:The2020AcquisitionsMember</xbrldi:explicitMember>
        <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:CustomerRelationshipsMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:instant>2020-01-31</xbrli:instant>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="i_2020-01-31_BusinessAcquisitionAxis-The2020AcquisitionsMember_FiniteLivedIntangibleAssetsByMajorClassAxis-ExistingTechnologyMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001050140</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">dsgx:The2020AcquisitionsMember</xbrldi:explicitMember>
        <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">dsgx:ExistingTechnologyMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:instant>2020-01-31</xbrli:instant>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="i_2020-01-31_BusinessAcquisitionAxis-The2020AcquisitionsMember_FiniteLivedIntangibleAssetsByMajorClassAxis-NoncompeteAgreementsMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001050140</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">dsgx:The2020AcquisitionsMember</xbrldi:explicitMember>
        <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:NoncompeteAgreementsMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:instant>2020-01-31</xbrli:instant>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="i_2020-01-31_BusinessAcquisitionAxis-The2020AcquisitionsMember_FiniteLivedIntangibleAssetsByMajorClassAxis-TradeNamesMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001050140</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">dsgx:The2020AcquisitionsMember</xbrldi:explicitMember>
        <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:TradeNamesMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:instant>2020-01-31</xbrli:instant>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="i_2020-01-31_BusinessAcquisitionAxis-VisualComplianceMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001050140</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">dsgx:VisualComplianceMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:instant>2020-01-31</xbrli:instant>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="i_2020-01-31_BusinessAcquisitionAxis-VisualComplianceMember_FiniteLivedIntangibleAssetsByMajorClassAxis-CustomerRelationshipsMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001050140</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">dsgx:VisualComplianceMember</xbrldi:explicitMember>
        <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:CustomerRelationshipsMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:instant>2020-01-31</xbrli:instant>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="i_2020-01-31_BusinessAcquisitionAxis-VisualComplianceMember_FiniteLivedIntangibleAssetsByMajorClassAxis-ExistingTechnologyMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001050140</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">dsgx:VisualComplianceMember</xbrldi:explicitMember>
        <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">dsgx:ExistingTechnologyMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:instant>2020-01-31</xbrli:instant>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="i_2020-01-31_BusinessAcquisitionAxis-VisualComplianceMember_FiniteLivedIntangibleAssetsByMajorClassAxis-NoncompeteAgreementsMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001050140</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">dsgx:VisualComplianceMember</xbrldi:explicitMember>
        <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:NoncompeteAgreementsMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:instant>2020-01-31</xbrli:instant>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="i_2020-01-31_BusinessAcquisitionAxis-VisualComplianceMember_FiniteLivedIntangibleAssetsByMajorClassAxis-TradeNamesMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001050140</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">dsgx:VisualComplianceMember</xbrldi:explicitMember>
        <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:TradeNamesMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:instant>2020-01-31</xbrli:instant>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="i_2020-01-31_CreditFacilityAxis-RevolvingOperatingCreditFacilityMember_DebtInstrumentAxis-SeniorSecuredCreditFacilityMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001050140</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">dsgx:RevolvingOperatingCreditFacilityMember</xbrldi:explicitMember>
        <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">dsgx:SeniorSecuredCreditFacilityMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:instant>2020-01-31</xbrli:instant>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="i_2020-01-31_FiniteLivedIntangibleAssetsByMajorClassAxis-CustomerRelationshipsMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001050140</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:CustomerRelationshipsMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:instant>2020-01-31</xbrli:instant>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="i_2020-01-31_FiniteLivedIntangibleAssetsByMajorClassAxis-DevelopedTechnologyRightsMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001050140</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:DevelopedTechnologyRightsMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:instant>2020-01-31</xbrli:instant>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="i_2020-01-31_FiniteLivedIntangibleAssetsByMajorClassAxis-NoncompeteAgreementsMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001050140</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:NoncompeteAgreementsMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:instant>2020-01-31</xbrli:instant>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="i_2020-01-31_FiniteLivedIntangibleAssetsByMajorClassAxis-TradeNamesMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001050140</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:TradeNamesMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:instant>2020-01-31</xbrli:instant>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="i_2020-01-31_HedgingDesignationAxis-DesignatedAsHedgingInstrumentMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001050140</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:HedgingDesignationAxis">us-gaap:DesignatedAsHedgingInstrumentMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:instant>2020-01-31</xbrli:instant>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="i_2020-01-31_HedgingDesignationAxis-NondesignatedMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001050140</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:HedgingDesignationAxis">us-gaap:NondesignatedMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:instant>2020-01-31</xbrli:instant>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="i_2020-01-31_IncomeTaxAuthorityAxis-DomesticCountryMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001050140</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:IncomeTaxAuthorityAxis">us-gaap:DomesticCountryMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:instant>2020-01-31</xbrli:instant>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="i_2020-01-31_IncomeTaxAuthorityAxis-DomesticCountryMember_IncomeTaxAuthorityNameAxis-CanadaRevenueAgencyMember_TaxPeriodAxis-TaxYear2021Member">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001050140</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:IncomeTaxAuthorityAxis">us-gaap:DomesticCountryMember</xbrldi:explicitMember>
        <xbrldi:explicitMember dimension="us-gaap:IncomeTaxAuthorityNameAxis">us-gaap:CanadaRevenueAgencyMember</xbrldi:explicitMember>
        <xbrldi:explicitMember dimension="us-gaap:TaxPeriodAxis">dsgx:TaxYear2021Member</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:instant>2020-01-31</xbrli:instant>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="i_2020-01-31_IncomeTaxAuthorityAxis-DomesticCountryMember_IncomeTaxAuthorityNameAxis-InternalRevenueServiceIRSMember_TaxPeriodAxis-AfterTaxYear2025Member">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001050140</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:IncomeTaxAuthorityAxis">us-gaap:DomesticCountryMember</xbrldi:explicitMember>
        <xbrldi:explicitMember dimension="us-gaap:IncomeTaxAuthorityNameAxis">us-gaap:InternalRevenueServiceIRSMember</xbrldi:explicitMember>
        <xbrldi:explicitMember dimension="us-gaap:TaxPeriodAxis">dsgx:AfterTaxYear2025Member</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:instant>2020-01-31</xbrli:instant>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="i_2020-01-31_IncomeTaxAuthorityAxis-DomesticCountryMember_IncomeTaxAuthorityNameAxis-InternalRevenueServiceIRSMember_TaxPeriodAxis-TaxYear2022Member">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001050140</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:IncomeTaxAuthorityAxis">us-gaap:DomesticCountryMember</xbrldi:explicitMember>
        <xbrldi:explicitMember dimension="us-gaap:IncomeTaxAuthorityNameAxis">us-gaap:InternalRevenueServiceIRSMember</xbrldi:explicitMember>
        <xbrldi:explicitMember dimension="us-gaap:TaxPeriodAxis">dsgx:TaxYear2022Member</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:instant>2020-01-31</xbrli:instant>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="i_2020-01-31_IncomeTaxAuthorityAxis-DomesticCountryMember_IncomeTaxAuthorityNameAxis-InternalRevenueServiceIRSMember_TaxPeriodAxis-TaxYear2023Member">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001050140</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:IncomeTaxAuthorityAxis">us-gaap:DomesticCountryMember</xbrldi:explicitMember>
        <xbrldi:explicitMember dimension="us-gaap:IncomeTaxAuthorityNameAxis">us-gaap:InternalRevenueServiceIRSMember</xbrldi:explicitMember>
        <xbrldi:explicitMember dimension="us-gaap:TaxPeriodAxis">dsgx:TaxYear2023Member</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:instant>2020-01-31</xbrli:instant>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="i_2020-01-31_IncomeTaxAuthorityAxis-DomesticCountryMember_IncomeTaxAuthorityNameAxis-InternalRevenueServiceIRSMember_TaxPeriodAxis-TaxYear2024Member">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001050140</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:IncomeTaxAuthorityAxis">us-gaap:DomesticCountryMember</xbrldi:explicitMember>
        <xbrldi:explicitMember dimension="us-gaap:IncomeTaxAuthorityNameAxis">us-gaap:InternalRevenueServiceIRSMember</xbrldi:explicitMember>
        <xbrldi:explicitMember dimension="us-gaap:TaxPeriodAxis">dsgx:TaxYear2024Member</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:instant>2020-01-31</xbrli:instant>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="i_2020-01-31_IncomeTaxAuthorityAxis-DomesticCountryMember_IncomeTaxAuthorityNameAxis-InternalRevenueServiceIRSMember_TaxPeriodAxis-TaxYear2025Member">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001050140</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:IncomeTaxAuthorityAxis">us-gaap:DomesticCountryMember</xbrldi:explicitMember>
        <xbrldi:explicitMember dimension="us-gaap:IncomeTaxAuthorityNameAxis">us-gaap:InternalRevenueServiceIRSMember</xbrldi:explicitMember>
        <xbrldi:explicitMember dimension="us-gaap:TaxPeriodAxis">dsgx:TaxYear2025Member</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:instant>2020-01-31</xbrli:instant>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="i_2020-01-31_IncomeTaxAuthorityAxis-ForeignCountryMember_IncomeTaxAuthorityNameAxis-AsiaPacificIncomeTaxAuthorityMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001050140</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:IncomeTaxAuthorityAxis">us-gaap:ForeignCountryMember</xbrldi:explicitMember>
        <xbrldi:explicitMember dimension="us-gaap:IncomeTaxAuthorityNameAxis">dsgx:AsiaPacificIncomeTaxAuthorityMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:instant>2020-01-31</xbrli:instant>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="i_2020-01-31_IncomeTaxAuthorityAxis-ForeignCountryMember_IncomeTaxAuthorityNameAxis-AsiaPacificIncomeTaxAuthorityMember_TaxPeriodAxis-AfterTaxYear2025Member">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001050140</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:IncomeTaxAuthorityAxis">us-gaap:ForeignCountryMember</xbrldi:explicitMember>
        <xbrldi:explicitMember dimension="us-gaap:IncomeTaxAuthorityNameAxis">dsgx:AsiaPacificIncomeTaxAuthorityMember</xbrldi:explicitMember>
        <xbrldi:explicitMember dimension="us-gaap:TaxPeriodAxis">dsgx:AfterTaxYear2025Member</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:instant>2020-01-31</xbrli:instant>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="i_2020-01-31_IncomeTaxAuthorityAxis-ForeignCountryMember_IncomeTaxAuthorityNameAxis-AsiaPacificIncomeTaxAuthorityMember_TaxPeriodAxis-TaxYear2021Member">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001050140</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:IncomeTaxAuthorityAxis">us-gaap:ForeignCountryMember</xbrldi:explicitMember>
        <xbrldi:explicitMember dimension="us-gaap:IncomeTaxAuthorityNameAxis">dsgx:AsiaPacificIncomeTaxAuthorityMember</xbrldi:explicitMember>
        <xbrldi:explicitMember dimension="us-gaap:TaxPeriodAxis">dsgx:TaxYear2021Member</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:instant>2020-01-31</xbrli:instant>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="i_2020-01-31_IncomeTaxAuthorityAxis-ForeignCountryMember_IncomeTaxAuthorityNameAxis-AsiaPacificIncomeTaxAuthorityMember_TaxPeriodAxis-TaxYear2022Member">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001050140</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:IncomeTaxAuthorityAxis">us-gaap:ForeignCountryMember</xbrldi:explicitMember>
        <xbrldi:explicitMember dimension="us-gaap:IncomeTaxAuthorityNameAxis">dsgx:AsiaPacificIncomeTaxAuthorityMember</xbrldi:explicitMember>
        <xbrldi:explicitMember dimension="us-gaap:TaxPeriodAxis">dsgx:TaxYear2022Member</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:instant>2020-01-31</xbrli:instant>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="i_2020-01-31_IncomeTaxAuthorityAxis-ForeignCountryMember_IncomeTaxAuthorityNameAxis-AsiaPacificIncomeTaxAuthorityMember_TaxPeriodAxis-TaxYear2023Member">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001050140</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:IncomeTaxAuthorityAxis">us-gaap:ForeignCountryMember</xbrldi:explicitMember>
        <xbrldi:explicitMember dimension="us-gaap:IncomeTaxAuthorityNameAxis">dsgx:AsiaPacificIncomeTaxAuthorityMember</xbrldi:explicitMember>
        <xbrldi:explicitMember dimension="us-gaap:TaxPeriodAxis">dsgx:TaxYear2023Member</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:instant>2020-01-31</xbrli:instant>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="i_2020-01-31_IncomeTaxAuthorityAxis-ForeignCountryMember_IncomeTaxAuthorityNameAxis-AsiaPacificIncomeTaxAuthorityMember_TaxPeriodAxis-TaxYear2024Member">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001050140</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:IncomeTaxAuthorityAxis">us-gaap:ForeignCountryMember</xbrldi:explicitMember>
        <xbrldi:explicitMember dimension="us-gaap:IncomeTaxAuthorityNameAxis">dsgx:AsiaPacificIncomeTaxAuthorityMember</xbrldi:explicitMember>
        <xbrldi:explicitMember dimension="us-gaap:TaxPeriodAxis">dsgx:TaxYear2024Member</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:instant>2020-01-31</xbrli:instant>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="i_2020-01-31_IncomeTaxAuthorityAxis-ForeignCountryMember_IncomeTaxAuthorityNameAxis-AsiaPacificIncomeTaxAuthorityMember_TaxPeriodAxis-TaxYear2025Member">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001050140</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:IncomeTaxAuthorityAxis">us-gaap:ForeignCountryMember</xbrldi:explicitMember>
        <xbrldi:explicitMember dimension="us-gaap:IncomeTaxAuthorityNameAxis">dsgx:AsiaPacificIncomeTaxAuthorityMember</xbrldi:explicitMember>
        <xbrldi:explicitMember dimension="us-gaap:TaxPeriodAxis">dsgx:TaxYear2025Member</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:instant>2020-01-31</xbrli:instant>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="i_2020-01-31_IncomeTaxAuthorityAxis-ForeignCountryMember_IncomeTaxAuthorityNameAxis-CanadaRevenueAgencyMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001050140</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:IncomeTaxAuthorityAxis">us-gaap:ForeignCountryMember</xbrldi:explicitMember>
        <xbrldi:explicitMember dimension="us-gaap:IncomeTaxAuthorityNameAxis">us-gaap:CanadaRevenueAgencyMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:instant>2020-01-31</xbrli:instant>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="i_2020-01-31_IncomeTaxAuthorityAxis-ForeignCountryMember_IncomeTaxAuthorityNameAxis-CanadaRevenueAgencyMember_TaxPeriodAxis-AfterTaxYear2025Member">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001050140</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:IncomeTaxAuthorityAxis">us-gaap:ForeignCountryMember</xbrldi:explicitMember>
        <xbrldi:explicitMember dimension="us-gaap:IncomeTaxAuthorityNameAxis">us-gaap:CanadaRevenueAgencyMember</xbrldi:explicitMember>
        <xbrldi:explicitMember dimension="us-gaap:TaxPeriodAxis">dsgx:AfterTaxYear2025Member</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:instant>2020-01-31</xbrli:instant>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="i_2020-01-31_IncomeTaxAuthorityAxis-ForeignCountryMember_IncomeTaxAuthorityNameAxis-CanadaRevenueAgencyMember_TaxPeriodAxis-TaxYear2021Member">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001050140</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:IncomeTaxAuthorityAxis">us-gaap:ForeignCountryMember</xbrldi:explicitMember>
        <xbrldi:explicitMember dimension="us-gaap:IncomeTaxAuthorityNameAxis">us-gaap:CanadaRevenueAgencyMember</xbrldi:explicitMember>
        <xbrldi:explicitMember dimension="us-gaap:TaxPeriodAxis">dsgx:TaxYear2021Member</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:instant>2020-01-31</xbrli:instant>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="i_2020-01-31_IncomeTaxAuthorityAxis-ForeignCountryMember_IncomeTaxAuthorityNameAxis-CanadaRevenueAgencyMember_TaxPeriodAxis-TaxYear2022Member">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001050140</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:IncomeTaxAuthorityAxis">us-gaap:ForeignCountryMember</xbrldi:explicitMember>
        <xbrldi:explicitMember dimension="us-gaap:IncomeTaxAuthorityNameAxis">us-gaap:CanadaRevenueAgencyMember</xbrldi:explicitMember>
        <xbrldi:explicitMember dimension="us-gaap:TaxPeriodAxis">dsgx:TaxYear2022Member</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:instant>2020-01-31</xbrli:instant>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="i_2020-01-31_IncomeTaxAuthorityAxis-ForeignCountryMember_IncomeTaxAuthorityNameAxis-CanadaRevenueAgencyMember_TaxPeriodAxis-TaxYear2023Member">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001050140</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:IncomeTaxAuthorityAxis">us-gaap:ForeignCountryMember</xbrldi:explicitMember>
        <xbrldi:explicitMember dimension="us-gaap:IncomeTaxAuthorityNameAxis">us-gaap:CanadaRevenueAgencyMember</xbrldi:explicitMember>
        <xbrldi:explicitMember dimension="us-gaap:TaxPeriodAxis">dsgx:TaxYear2023Member</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:instant>2020-01-31</xbrli:instant>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="i_2020-01-31_IncomeTaxAuthorityAxis-ForeignCountryMember_IncomeTaxAuthorityNameAxis-CanadaRevenueAgencyMember_TaxPeriodAxis-TaxYear2024Member">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001050140</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:IncomeTaxAuthorityAxis">us-gaap:ForeignCountryMember</xbrldi:explicitMember>
        <xbrldi:explicitMember dimension="us-gaap:IncomeTaxAuthorityNameAxis">us-gaap:CanadaRevenueAgencyMember</xbrldi:explicitMember>
        <xbrldi:explicitMember dimension="us-gaap:TaxPeriodAxis">dsgx:TaxYear2024Member</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:instant>2020-01-31</xbrli:instant>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="i_2020-01-31_IncomeTaxAuthorityAxis-ForeignCountryMember_IncomeTaxAuthorityNameAxis-CanadaRevenueAgencyMember_TaxPeriodAxis-TaxYear2025Member">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001050140</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:IncomeTaxAuthorityAxis">us-gaap:ForeignCountryMember</xbrldi:explicitMember>
        <xbrldi:explicitMember dimension="us-gaap:IncomeTaxAuthorityNameAxis">us-gaap:CanadaRevenueAgencyMember</xbrldi:explicitMember>
        <xbrldi:explicitMember dimension="us-gaap:TaxPeriodAxis">dsgx:TaxYear2025Member</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:instant>2020-01-31</xbrli:instant>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="i_2020-01-31_IncomeTaxAuthorityAxis-ForeignCountryMember_IncomeTaxAuthorityNameAxis-EmeaIncomeTaxAuthorityMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001050140</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:IncomeTaxAuthorityAxis">us-gaap:ForeignCountryMember</xbrldi:explicitMember>
        <xbrldi:explicitMember dimension="us-gaap:IncomeTaxAuthorityNameAxis">dsgx:EmeaIncomeTaxAuthorityMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:instant>2020-01-31</xbrli:instant>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="i_2020-01-31_IncomeTaxAuthorityAxis-ForeignCountryMember_IncomeTaxAuthorityNameAxis-EmeaIncomeTaxAuthorityMember_TaxPeriodAxis-AfterTaxYear2025Member">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001050140</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:IncomeTaxAuthorityAxis">us-gaap:ForeignCountryMember</xbrldi:explicitMember>
        <xbrldi:explicitMember dimension="us-gaap:IncomeTaxAuthorityNameAxis">dsgx:EmeaIncomeTaxAuthorityMember</xbrldi:explicitMember>
        <xbrldi:explicitMember dimension="us-gaap:TaxPeriodAxis">dsgx:AfterTaxYear2025Member</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:instant>2020-01-31</xbrli:instant>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="i_2020-01-31_IncomeTaxAuthorityAxis-ForeignCountryMember_IncomeTaxAuthorityNameAxis-EmeaIncomeTaxAuthorityMember_TaxPeriodAxis-TaxYear2021Member">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001050140</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:IncomeTaxAuthorityAxis">us-gaap:ForeignCountryMember</xbrldi:explicitMember>
        <xbrldi:explicitMember dimension="us-gaap:IncomeTaxAuthorityNameAxis">dsgx:EmeaIncomeTaxAuthorityMember</xbrldi:explicitMember>
        <xbrldi:explicitMember dimension="us-gaap:TaxPeriodAxis">dsgx:TaxYear2021Member</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:instant>2020-01-31</xbrli:instant>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="i_2020-01-31_IncomeTaxAuthorityAxis-ForeignCountryMember_IncomeTaxAuthorityNameAxis-EmeaIncomeTaxAuthorityMember_TaxPeriodAxis-TaxYear2022Member">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001050140</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:IncomeTaxAuthorityAxis">us-gaap:ForeignCountryMember</xbrldi:explicitMember>
        <xbrldi:explicitMember dimension="us-gaap:IncomeTaxAuthorityNameAxis">dsgx:EmeaIncomeTaxAuthorityMember</xbrldi:explicitMember>
        <xbrldi:explicitMember dimension="us-gaap:TaxPeriodAxis">dsgx:TaxYear2022Member</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:instant>2020-01-31</xbrli:instant>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="i_2020-01-31_IncomeTaxAuthorityAxis-ForeignCountryMember_IncomeTaxAuthorityNameAxis-EmeaIncomeTaxAuthorityMember_TaxPeriodAxis-TaxYear2023Member">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001050140</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:IncomeTaxAuthorityAxis">us-gaap:ForeignCountryMember</xbrldi:explicitMember>
        <xbrldi:explicitMember dimension="us-gaap:IncomeTaxAuthorityNameAxis">dsgx:EmeaIncomeTaxAuthorityMember</xbrldi:explicitMember>
        <xbrldi:explicitMember dimension="us-gaap:TaxPeriodAxis">dsgx:TaxYear2023Member</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:instant>2020-01-31</xbrli:instant>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="i_2020-01-31_IncomeTaxAuthorityAxis-ForeignCountryMember_IncomeTaxAuthorityNameAxis-EmeaIncomeTaxAuthorityMember_TaxPeriodAxis-TaxYear2024Member">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001050140</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:IncomeTaxAuthorityAxis">us-gaap:ForeignCountryMember</xbrldi:explicitMember>
        <xbrldi:explicitMember dimension="us-gaap:IncomeTaxAuthorityNameAxis">dsgx:EmeaIncomeTaxAuthorityMember</xbrldi:explicitMember>
        <xbrldi:explicitMember dimension="us-gaap:TaxPeriodAxis">dsgx:TaxYear2024Member</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:instant>2020-01-31</xbrli:instant>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="i_2020-01-31_IncomeTaxAuthorityAxis-ForeignCountryMember_IncomeTaxAuthorityNameAxis-EmeaIncomeTaxAuthorityMember_TaxPeriodAxis-TaxYear2025Member">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001050140</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:IncomeTaxAuthorityAxis">us-gaap:ForeignCountryMember</xbrldi:explicitMember>
        <xbrldi:explicitMember dimension="us-gaap:IncomeTaxAuthorityNameAxis">dsgx:EmeaIncomeTaxAuthorityMember</xbrldi:explicitMember>
        <xbrldi:explicitMember dimension="us-gaap:TaxPeriodAxis">dsgx:TaxYear2025Member</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:instant>2020-01-31</xbrli:instant>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="i_2020-01-31_PlanNameAxis-CashsettledRestrictedShareUnitMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001050140</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">dsgx:CashsettledRestrictedShareUnitMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:instant>2020-01-31</xbrli:instant>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="i_2020-01-31_PlanNameAxis-DeferredShareUnitPlanMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001050140</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">dsgx:DeferredShareUnitPlanMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:instant>2020-01-31</xbrli:instant>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="i_2020-01-31_PlanNameAxis-OptionsGrantedOutsideOfShareholderApprovedStockOptionPlanMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001050140</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">dsgx:OptionsGrantedOutsideOfShareholderApprovedStockOptionPlanMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:instant>2020-01-31</xbrli:instant>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="i_2020-01-31_PlanNameAxis-OutsideOfShareholderapprovedStockOptionPlanMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001050140</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">dsgx:OutsideOfShareholderapprovedStockOptionPlanMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:instant>2020-01-31</xbrli:instant>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="i_2020-01-31_PlanNameAxis-ShareholderapprovedStockOptionPlanMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001050140</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">dsgx:ShareholderapprovedStockOptionPlanMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:instant>2020-01-31</xbrli:instant>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="i_2020-01-31_PropertyPlantAndEquipmentByTypeAxis-AssetUnderConstructionMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001050140</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:AssetUnderConstructionMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:instant>2020-01-31</xbrli:instant>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="i_2020-01-31_PropertyPlantAndEquipmentByTypeAxis-ComputerEquipmentMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001050140</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:ComputerEquipmentMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:instant>2020-01-31</xbrli:instant>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="i_2020-01-31_PropertyPlantAndEquipmentByTypeAxis-EquipmentInstalledWithCustomersMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001050140</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">dsgx:EquipmentInstalledWithCustomersMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:instant>2020-01-31</xbrli:instant>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="i_2020-01-31_PropertyPlantAndEquipmentByTypeAxis-FurnitureAndFixturesMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001050140</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:FurnitureAndFixturesMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:instant>2020-01-31</xbrli:instant>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="i_2020-01-31_PropertyPlantAndEquipmentByTypeAxis-LeaseholdImprovementsMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001050140</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:LeaseholdImprovementsMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:instant>2020-01-31</xbrli:instant>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="i_2020-01-31_RangeAxis-MaximumMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001050140</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:instant>2020-01-31</xbrli:instant>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="i_2020-01-31_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis-RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis.domain-2020-02-01">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001050140</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:typedMember dimension="us-gaap:RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis">
          <us-gaap:RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis.domain>2020-02-01</us-gaap:RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis.domain>
        </xbrldi:typedMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:instant>2020-01-31</xbrli:instant>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="i_2020-01-31_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeAxis-Range1Member">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001050140</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeAxis">dsgx:Range1Member</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:instant>2020-01-31</xbrli:instant>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="i_2020-01-31_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeAxis-Range2Member">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001050140</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeAxis">dsgx:Range2Member</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:instant>2020-01-31</xbrli:instant>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="i_2020-01-31_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeAxis-Range3Member">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001050140</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeAxis">dsgx:Range3Member</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:instant>2020-01-31</xbrli:instant>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="i_2020-01-31_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeAxis-Range4Member">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001050140</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeAxis">dsgx:Range4Member</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:instant>2020-01-31</xbrli:instant>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="i_2020-01-31_StatementEquityComponentsAxis-AccumulatedOtherComprehensiveIncomeMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001050140</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedOtherComprehensiveIncomeMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:instant>2020-01-31</xbrli:instant>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="i_2020-01-31_StatementEquityComponentsAxis-AdditionalPaidInCapitalMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001050140</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:instant>2020-01-31</xbrli:instant>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="i_2020-01-31_StatementEquityComponentsAxis-CommonStockMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001050140</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:instant>2020-01-31</xbrli:instant>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="i_2020-01-31_StatementEquityComponentsAxis-RetainedEarningsMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001050140</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:instant>2020-01-31</xbrli:instant>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="i_2020-01-31_StatementGeographicalAxis-AsiaPacificMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001050140</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">srt:AsiaPacificMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:instant>2020-01-31</xbrli:instant>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="i_2020-01-31_StatementGeographicalAxis-CA">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001050140</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:CA</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:instant>2020-01-31</xbrli:instant>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="i_2020-01-31_StatementGeographicalAxis-EMEAMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001050140</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">us-gaap:EMEAMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:instant>2020-01-31</xbrli:instant>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="i_2020-01-31_StatementGeographicalAxis-US">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001050140</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:US</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:instant>2020-01-31</xbrli:instant>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="i_2020-01-31_TaxPeriodAxis-AfterTaxYear2025Member">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001050140</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:TaxPeriodAxis">dsgx:AfterTaxYear2025Member</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:instant>2020-01-31</xbrli:instant>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="i_2020-01-31_TaxPeriodAxis-TaxYear2021Member">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001050140</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:TaxPeriodAxis">dsgx:TaxYear2021Member</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:instant>2020-01-31</xbrli:instant>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="i_2020-01-31_TaxPeriodAxis-TaxYear2022Member">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001050140</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:TaxPeriodAxis">dsgx:TaxYear2022Member</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:instant>2020-01-31</xbrli:instant>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="i_2020-01-31_TaxPeriodAxis-TaxYear2023Member">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001050140</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:TaxPeriodAxis">dsgx:TaxYear2023Member</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:instant>2020-01-31</xbrli:instant>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="i_2020-01-31_TaxPeriodAxis-TaxYear2024Member">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001050140</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:TaxPeriodAxis">dsgx:TaxYear2024Member</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:instant>2020-01-31</xbrli:instant>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="i_2020-01-31_TaxPeriodAxis-TaxYear2025Member">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001050140</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:TaxPeriodAxis">dsgx:TaxYear2025Member</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:instant>2020-01-31</xbrli:instant>
    </xbrli:period>
  </xbrli:context>
</xbrli:xbrl>
</XBRL>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-101.SCH
<SEQUENCE>8
<FILENAME>dsgx-20200131.xsd
<DESCRIPTION>XBRL TAXONOMY EXTENSION SCHEMA
<TEXT>
<XBRL>
<?xml version="1.0" encoding="US-ASCII" standalone="no"?>
<!--Generated by ThunderDome XBRL - 06:59PM UTC 2020-04-03--><xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:country="http://xbrl.sec.gov/country/2017-01-31" xmlns:currency="http://xbrl.sec.gov/currency/2017-01-31" xmlns:dei="http://xbrl.sec.gov/dei/2019-01-31" xmlns:dsgx="http://www.descartes.com/20200131" xmlns:exch="http://xbrl.sec.gov/exch/2018-01-31" xmlns:link="http://www.xbrl.org/2003/linkbase" xmlns:naics="http://xbrl.sec.gov/naics/2011-01-31" xmlns:nonnum="http://www.xbrl.org/dtr/type/non-numeric" xmlns:num="http://www.xbrl.org/dtr/type/numeric" xmlns:sic="http://xbrl.sec.gov/sic/2011-01-31" xmlns:srt="http://fasb.org/srt/2019-01-31" xmlns:stpr="http://xbrl.sec.gov/stpr/2018-01-31" xmlns:us-gaap="http://fasb.org/us-gaap/2019-01-31" xmlns:us-types="http://fasb.org/us-types/2019-01-31" xmlns:xbrldt="http://xbrl.org/2005/xbrldt" xmlns:xbrli="http://www.xbrl.org/2003/instance" xmlns:xlink="http://www.w3.org/1999/xlink" attributeFormDefault="unqualified" elementFormDefault="qualified" targetNamespace="http://www.descartes.com/20200131">
  <xsd:import namespace="http://xbrl.sec.gov/country/2017-01-31" schemaLocation="https://xbrl.sec.gov/country/2017/country-2017-01-31.xsd"/>
  <xsd:import namespace="http://www.xbrl.org/dtr/type/non-numeric" schemaLocation="http://www.xbrl.org/dtr/type/nonNumeric-2009-12-16.xsd"/>
  <xsd:import namespace="http://xbrl.sec.gov/naics/2011-01-31" schemaLocation="http://xbrl.sec.gov/naics/2011/naics-2011-01-31.xsd"/>
  <xsd:import namespace="http://xbrl.sec.gov/stpr/2018-01-31" schemaLocation="https://xbrl.sec.gov/stpr/2018/stpr-2018-01-31.xsd"/>
  <xsd:import namespace="http://www.xbrl.org/2003/instance" schemaLocation="http://www.xbrl.org/2003/xbrl-instance-2003-12-31.xsd"/>
  <xsd:import namespace="http://xbrl.org/2005/xbrldt" schemaLocation="http://www.xbrl.org/2005/xbrldt-2005.xsd"/>
  <xsd:import namespace="http://xbrl.sec.gov/sic/2011-01-31" schemaLocation="http://xbrl.sec.gov/sic/2011/sic-2011-01-31.xsd"/>
  <xsd:import namespace="http://www.xbrl.org/dtr/type/numeric" schemaLocation="http://www.xbrl.org/dtr/type/numeric-2009-12-16.xsd"/>
  <xsd:import namespace="http://xbrl.sec.gov/exch/2018-01-31" schemaLocation="https://xbrl.sec.gov/exch/2018/exch-2018-01-31.xsd"/>
  <xsd:import namespace="http://www.xbrl.org/2009/role/negated" schemaLocation="http://www.xbrl.org/lrr/role/negated-2009-12-16.xsd"/>
  <xsd:import namespace="http://xbrl.sec.gov/currency/2017-01-31" schemaLocation="http://xbrl.sec.gov/currency/2017/currency-2017-01-31.xsd"/>
  <xsd:annotation>
    <xsd:appinfo>
      <link:linkbaseRef xlink:arcrole="http://www.w3.org/1999/xlink/properties/linkbase" xlink:href="dsgx-20200131_lab.xml" xlink:role="http://www.xbrl.org/2003/role/labelLinkbaseRef" xlink:type="simple"/>
      <link:linkbaseRef xlink:arcrole="http://www.w3.org/1999/xlink/properties/linkbase" xlink:href="dsgx-20200131_cal.xml" xlink:role="http://www.xbrl.org/2003/role/calculationLinkbaseRef" xlink:type="simple"/>
      <link:linkbaseRef xlink:arcrole="http://www.w3.org/1999/xlink/properties/linkbase" xlink:href="dsgx-20200131_def.xml" xlink:role="http://www.xbrl.org/2003/role/definitionLinkbaseRef" xlink:type="simple"/>
      <link:linkbaseRef xlink:arcrole="http://www.w3.org/1999/xlink/properties/linkbase" xlink:href="dsgx-20200131_pre.xml" xlink:role="http://www.xbrl.org/2003/role/presentationLinkbaseRef" xlink:type="simple"/>
      <link:roleType id="statement-document-and-entity-information" roleURI="http://www.descartes.com/20200131/role/statement-document-and-entity-information">
        <link:definition xmlns="http://www.xbrl.org/2003/linkbase">000 - Document - Document And Entity Information</link:definition>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
        <link:usedOn>link:presentationLink</link:usedOn>
      </link:roleType>
      <link:roleType id="statement-consolidated-balance-sheets" roleURI="http://www.descartes.com/20200131/role/statement-consolidated-balance-sheets">
        <link:definition xmlns="http://www.xbrl.org/2003/linkbase">001 - Statement - Consolidated Balance Sheets</link:definition>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
        <link:usedOn>link:presentationLink</link:usedOn>
      </link:roleType>
      <link:roleType id="statement-consolidated-balance-sheets-parentheticals" roleURI="http://www.descartes.com/20200131/role/statement-consolidated-balance-sheets-parentheticals">
        <link:definition xmlns="http://www.xbrl.org/2003/linkbase">002 - Statement - Consolidated Balance Sheets (Parentheticals)</link:definition>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
        <link:usedOn>link:presentationLink</link:usedOn>
      </link:roleType>
      <link:roleType id="statement-consolidated-statements-of-operations-" roleURI="http://www.descartes.com/20200131/role/statement-consolidated-statements-of-operations-">
        <link:definition xmlns="http://www.xbrl.org/2003/linkbase">003 - Statement - Consolidated Statements of Operations</link:definition>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
        <link:usedOn>link:presentationLink</link:usedOn>
      </link:roleType>
      <link:roleType id="statement-consolidated-statements-of-comprehensive-income" roleURI="http://www.descartes.com/20200131/role/statement-consolidated-statements-of-comprehensive-income">
        <link:definition xmlns="http://www.xbrl.org/2003/linkbase">004 - Statement - Consolidated Statements of Comprehensive Income</link:definition>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
        <link:usedOn>link:presentationLink</link:usedOn>
      </link:roleType>
      <link:roleType id="statement-consolidated-statements-of-comprehensive-income-parentheticals" roleURI="http://www.descartes.com/20200131/role/statement-consolidated-statements-of-comprehensive-income-parentheticals">
        <link:definition xmlns="http://www.xbrl.org/2003/linkbase">005 - Statement - Consolidated Statements of Comprehensive Income (Parentheticals)</link:definition>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
        <link:usedOn>link:presentationLink</link:usedOn>
      </link:roleType>
      <link:roleType id="statement-consolidated-statements-of-shareholders-equity" roleURI="http://www.descartes.com/20200131/role/statement-consolidated-statements-of-shareholders-equity">
        <link:definition xmlns="http://www.xbrl.org/2003/linkbase">006 - Statement - Consolidated Statements of Shareholders' Equity</link:definition>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
        <link:usedOn>link:presentationLink</link:usedOn>
      </link:roleType>
      <link:roleType id="statement-consolidated-statements-of-cash-flows" roleURI="http://www.descartes.com/20200131/role/statement-consolidated-statements-of-cash-flows">
        <link:definition xmlns="http://www.xbrl.org/2003/linkbase">007 - Statement - Consolidated Statements of Cash Flows</link:definition>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
        <link:usedOn>link:presentationLink</link:usedOn>
      </link:roleType>
      <link:roleType id="statement-note-1-description-of-the-business" roleURI="http://www.descartes.com/20200131/role/statement-note-1-description-of-the-business">
        <link:definition xmlns="http://www.xbrl.org/2003/linkbase">008 - Disclosure - Note 1 - Description of the Business</link:definition>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
        <link:usedOn>link:presentationLink</link:usedOn>
      </link:roleType>
      <link:roleType id="statement-note-2-basis-of-presentation" roleURI="http://www.descartes.com/20200131/role/statement-note-2-basis-of-presentation">
        <link:definition xmlns="http://www.xbrl.org/2003/linkbase">009 - Disclosure - Note 2 - Basis of Presentation</link:definition>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
        <link:usedOn>link:presentationLink</link:usedOn>
      </link:roleType>
      <link:roleType id="statement-note-3-acquisitions" roleURI="http://www.descartes.com/20200131/role/statement-note-3-acquisitions">
        <link:definition xmlns="http://www.xbrl.org/2003/linkbase">010 - Disclosure - Note 3 - Acquisitions</link:definition>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
        <link:usedOn>link:presentationLink</link:usedOn>
      </link:roleType>
      <link:roleType id="statement-note-4-fair-value-measurements" roleURI="http://www.descartes.com/20200131/role/statement-note-4-fair-value-measurements">
        <link:definition xmlns="http://www.xbrl.org/2003/linkbase">011 - Disclosure - Note 4 - Fair Value Measurements</link:definition>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
        <link:usedOn>link:presentationLink</link:usedOn>
      </link:roleType>
      <link:roleType id="statement-note-5-trade-receivables" roleURI="http://www.descartes.com/20200131/role/statement-note-5-trade-receivables">
        <link:definition xmlns="http://www.xbrl.org/2003/linkbase">012 - Disclosure - Note 5 - Trade Receivables</link:definition>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
        <link:usedOn>link:presentationLink</link:usedOn>
      </link:roleType>
      <link:roleType id="statement-note-6-other-receivables" roleURI="http://www.descartes.com/20200131/role/statement-note-6-other-receivables">
        <link:definition xmlns="http://www.xbrl.org/2003/linkbase">013 - Disclosure - Note 6 - Other Receivables</link:definition>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
        <link:usedOn>link:presentationLink</link:usedOn>
      </link:roleType>
      <link:roleType id="statement-note-7-inventory" roleURI="http://www.descartes.com/20200131/role/statement-note-7-inventory">
        <link:definition xmlns="http://www.xbrl.org/2003/linkbase">014 - Disclosure - Note 7 - Inventory</link:definition>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
        <link:usedOn>link:presentationLink</link:usedOn>
      </link:roleType>
      <link:roleType id="statement--note-8-property-and-equipment-" roleURI="http://www.descartes.com/20200131/role/statement--note-8-property-and-equipment-">
        <link:definition xmlns="http://www.xbrl.org/2003/linkbase">015 - Disclosure - Note 8 - Property and Equipment</link:definition>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
        <link:usedOn>link:presentationLink</link:usedOn>
      </link:roleType>
      <link:roleType id="statement-note-9-intangible-assets" roleURI="http://www.descartes.com/20200131/role/statement-note-9-intangible-assets">
        <link:definition xmlns="http://www.xbrl.org/2003/linkbase">016 - Disclosure - Note 9 - Intangible Assets</link:definition>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
        <link:usedOn>link:presentationLink</link:usedOn>
      </link:roleType>
      <link:roleType id="statement-note-10-goodwill" roleURI="http://www.descartes.com/20200131/role/statement-note-10-goodwill">
        <link:definition xmlns="http://www.xbrl.org/2003/linkbase">017 - Disclosure - Note 10 - Goodwill</link:definition>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
        <link:usedOn>link:presentationLink</link:usedOn>
      </link:roleType>
      <link:roleType id="statement-note-11-accrued-liabilities" roleURI="http://www.descartes.com/20200131/role/statement-note-11-accrued-liabilities">
        <link:definition xmlns="http://www.xbrl.org/2003/linkbase">018 - Disclosure - Note 11 - Accrued Liabilities</link:definition>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
        <link:usedOn>link:presentationLink</link:usedOn>
      </link:roleType>
      <link:roleType id="statement-note-12-debt" roleURI="http://www.descartes.com/20200131/role/statement-note-12-debt">
        <link:definition xmlns="http://www.xbrl.org/2003/linkbase">019 - Disclosure - Note 12 - Debt</link:definition>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
        <link:usedOn>link:presentationLink</link:usedOn>
      </link:roleType>
      <link:roleType id="statement-note-13-leases" roleURI="http://www.descartes.com/20200131/role/statement-note-13-leases">
        <link:definition xmlns="http://www.xbrl.org/2003/linkbase">020 - Disclosure - Note 13 - Leases</link:definition>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
        <link:usedOn>link:presentationLink</link:usedOn>
      </link:roleType>
      <link:roleType id="statement-note-14-commitments-contingencies-and-guarantees" roleURI="http://www.descartes.com/20200131/role/statement-note-14-commitments-contingencies-and-guarantees">
        <link:definition xmlns="http://www.xbrl.org/2003/linkbase">021 - Disclosure - Note 14 - Commitments, Contingencies and Guarantees</link:definition>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
        <link:usedOn>link:presentationLink</link:usedOn>
      </link:roleType>
      <link:roleType id="statement-note-15-share-capital" roleURI="http://www.descartes.com/20200131/role/statement-note-15-share-capital">
        <link:definition xmlns="http://www.xbrl.org/2003/linkbase">022 - Disclosure - Note 15 - Share Capital</link:definition>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
        <link:usedOn>link:presentationLink</link:usedOn>
      </link:roleType>
      <link:roleType id="statement-note-16-earnings-per-share" roleURI="http://www.descartes.com/20200131/role/statement-note-16-earnings-per-share">
        <link:definition xmlns="http://www.xbrl.org/2003/linkbase">023 - Disclosure - Note 16 - Earnings Per Share</link:definition>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
        <link:usedOn>link:presentationLink</link:usedOn>
      </link:roleType>
      <link:roleType id="statement-note-17-stockbased-compensation-plans" roleURI="http://www.descartes.com/20200131/role/statement-note-17-stockbased-compensation-plans">
        <link:definition xmlns="http://www.xbrl.org/2003/linkbase">024 - Disclosure - Note 17 - Stock-based Compensation Plans</link:definition>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
        <link:usedOn>link:presentationLink</link:usedOn>
      </link:roleType>
      <link:roleType id="statement-note-18-income-taxes" roleURI="http://www.descartes.com/20200131/role/statement-note-18-income-taxes">
        <link:definition xmlns="http://www.xbrl.org/2003/linkbase">025 - Disclosure - Note 18 - Income Taxes</link:definition>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
        <link:usedOn>link:presentationLink</link:usedOn>
      </link:roleType>
      <link:roleType id="statement-note-19-contract-balances-performance-obligations-and-contract-costs" roleURI="http://www.descartes.com/20200131/role/statement-note-19-contract-balances-performance-obligations-and-contract-costs">
        <link:definition xmlns="http://www.xbrl.org/2003/linkbase">026 - Disclosure - Note 19 - Contract Balances, Performance Obligations and Contract Costs</link:definition>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
        <link:usedOn>link:presentationLink</link:usedOn>
      </link:roleType>
      <link:roleType id="statement-note-20-other-charges" roleURI="http://www.descartes.com/20200131/role/statement-note-20-other-charges">
        <link:definition xmlns="http://www.xbrl.org/2003/linkbase">027 - Disclosure - Note 20 - Other Charges</link:definition>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
        <link:usedOn>link:presentationLink</link:usedOn>
      </link:roleType>
      <link:roleType id="statement-note-21-supplemental-cash-flow-information" roleURI="http://www.descartes.com/20200131/role/statement-note-21-supplemental-cash-flow-information">
        <link:definition xmlns="http://www.xbrl.org/2003/linkbase">028 - Disclosure - Note 21 - Supplemental Cash Flow Information</link:definition>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
        <link:usedOn>link:presentationLink</link:usedOn>
      </link:roleType>
      <link:roleType id="statement-note-22-segmented-information" roleURI="http://www.descartes.com/20200131/role/statement-note-22-segmented-information">
        <link:definition xmlns="http://www.xbrl.org/2003/linkbase">029 - Disclosure - Note 22 - Segmented Information</link:definition>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
        <link:usedOn>link:presentationLink</link:usedOn>
      </link:roleType>
      <link:roleType id="statement-note-23-subsequent-event-" roleURI="http://www.descartes.com/20200131/role/statement-note-23-subsequent-event-">
        <link:definition xmlns="http://www.xbrl.org/2003/linkbase">030 - Disclosure - Note 23 - Subsequent Event</link:definition>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
        <link:usedOn>link:presentationLink</link:usedOn>
      </link:roleType>
      <link:roleType id="statement-significant-accounting-policies-policies" roleURI="http://www.descartes.com/20200131/role/statement-significant-accounting-policies-policies">
        <link:definition xmlns="http://www.xbrl.org/2003/linkbase">031 - Disclosure - Significant Accounting Policies (Policies)</link:definition>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
        <link:usedOn>link:presentationLink</link:usedOn>
      </link:roleType>
      <link:roleType id="statement-note-3-acquisitions-tables" roleURI="http://www.descartes.com/20200131/role/statement-note-3-acquisitions-tables">
        <link:definition xmlns="http://www.xbrl.org/2003/linkbase">032 - Disclosure - Note 3 - Acquisitions (Tables)</link:definition>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
        <link:usedOn>link:presentationLink</link:usedOn>
      </link:roleType>
      <link:roleType id="statement-note-4-fair-value-measurements-tables" roleURI="http://www.descartes.com/20200131/role/statement-note-4-fair-value-measurements-tables">
        <link:definition xmlns="http://www.xbrl.org/2003/linkbase">033 - Disclosure - Note 4 - Fair Value Measurements (Tables)</link:definition>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
        <link:usedOn>link:presentationLink</link:usedOn>
      </link:roleType>
      <link:roleType id="statement-note-5-trade-receivables-tables" roleURI="http://www.descartes.com/20200131/role/statement-note-5-trade-receivables-tables">
        <link:definition xmlns="http://www.xbrl.org/2003/linkbase">034 - Disclosure - Note 5 - Trade Receivables (Tables)</link:definition>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
        <link:usedOn>link:presentationLink</link:usedOn>
      </link:roleType>
      <link:roleType id="statement-note-6-other-receivables-tables" roleURI="http://www.descartes.com/20200131/role/statement-note-6-other-receivables-tables">
        <link:definition xmlns="http://www.xbrl.org/2003/linkbase">035 - Disclosure - Note 6 - Other Receivables (Tables)</link:definition>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
        <link:usedOn>link:presentationLink</link:usedOn>
      </link:roleType>
      <link:roleType id="statement--note-8-property-and-equipment-tables" roleURI="http://www.descartes.com/20200131/role/statement--note-8-property-and-equipment-tables">
        <link:definition xmlns="http://www.xbrl.org/2003/linkbase">036 - Disclosure - Note 8 - Property and Equipment (Tables)</link:definition>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
        <link:usedOn>link:presentationLink</link:usedOn>
      </link:roleType>
      <link:roleType id="statement-note-9-intangible-assets-tables" roleURI="http://www.descartes.com/20200131/role/statement-note-9-intangible-assets-tables">
        <link:definition xmlns="http://www.xbrl.org/2003/linkbase">037 - Disclosure - Note 9 - Intangible Assets (Tables)</link:definition>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
        <link:usedOn>link:presentationLink</link:usedOn>
      </link:roleType>
      <link:roleType id="statement-note-10-goodwill-tables" roleURI="http://www.descartes.com/20200131/role/statement-note-10-goodwill-tables">
        <link:definition xmlns="http://www.xbrl.org/2003/linkbase">038 - Disclosure - Note 10 - Goodwill (Tables)</link:definition>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
        <link:usedOn>link:presentationLink</link:usedOn>
      </link:roleType>
      <link:roleType id="statement-note-11-accrued-liabilities-tables" roleURI="http://www.descartes.com/20200131/role/statement-note-11-accrued-liabilities-tables">
        <link:definition xmlns="http://www.xbrl.org/2003/linkbase">039 - Disclosure - Note 11 - Accrued Liabilities (Tables)</link:definition>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
        <link:usedOn>link:presentationLink</link:usedOn>
      </link:roleType>
      <link:roleType id="statement-note-12-debt-tables" roleURI="http://www.descartes.com/20200131/role/statement-note-12-debt-tables">
        <link:definition xmlns="http://www.xbrl.org/2003/linkbase">040 - Disclosure - Note 12 - Debt (Tables)</link:definition>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
        <link:usedOn>link:presentationLink</link:usedOn>
      </link:roleType>
      <link:roleType id="statement-note-13-leases-tables" roleURI="http://www.descartes.com/20200131/role/statement-note-13-leases-tables">
        <link:definition xmlns="http://www.xbrl.org/2003/linkbase">041 - Disclosure - Note 13 - Leases (Tables)</link:definition>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
        <link:usedOn>link:presentationLink</link:usedOn>
      </link:roleType>
      <link:roleType id="statement-note-15-share-capital-tables" roleURI="http://www.descartes.com/20200131/role/statement-note-15-share-capital-tables">
        <link:definition xmlns="http://www.xbrl.org/2003/linkbase">042 - Disclosure - Note 15 - Share Capital (Tables)</link:definition>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
        <link:usedOn>link:presentationLink</link:usedOn>
      </link:roleType>
      <link:roleType id="statement-note-16-earnings-per-share-tables" roleURI="http://www.descartes.com/20200131/role/statement-note-16-earnings-per-share-tables">
        <link:definition xmlns="http://www.xbrl.org/2003/linkbase">043 - Disclosure - Note 16 - Earnings Per Share (Tables)</link:definition>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
        <link:usedOn>link:presentationLink</link:usedOn>
      </link:roleType>
      <link:roleType id="statement-note-17-stockbased-compensation-plans-tables" roleURI="http://www.descartes.com/20200131/role/statement-note-17-stockbased-compensation-plans-tables">
        <link:definition xmlns="http://www.xbrl.org/2003/linkbase">044 - Disclosure - Note 17 - Stock-based Compensation Plans (Tables)</link:definition>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
        <link:usedOn>link:presentationLink</link:usedOn>
      </link:roleType>
      <link:roleType id="statement-note-18-income-taxes-tables" roleURI="http://www.descartes.com/20200131/role/statement-note-18-income-taxes-tables">
        <link:definition xmlns="http://www.xbrl.org/2003/linkbase">045 - Disclosure - Note 18 - Income Taxes (Tables)</link:definition>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
        <link:usedOn>link:presentationLink</link:usedOn>
      </link:roleType>
      <link:roleType id="statement-note-19-contract-balances-performance-obligations-and-contract-costs-tables" roleURI="http://www.descartes.com/20200131/role/statement-note-19-contract-balances-performance-obligations-and-contract-costs-tables">
        <link:definition xmlns="http://www.xbrl.org/2003/linkbase">046 - Disclosure - Note 19 - Contract Balances, Performance Obligations and Contract Costs (Tables)</link:definition>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
        <link:usedOn>link:presentationLink</link:usedOn>
      </link:roleType>
      <link:roleType id="statement-note-20-other-charges-tables" roleURI="http://www.descartes.com/20200131/role/statement-note-20-other-charges-tables">
        <link:definition xmlns="http://www.xbrl.org/2003/linkbase">047 - Disclosure - Note 20 - Other Charges (Tables)</link:definition>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
        <link:usedOn>link:presentationLink</link:usedOn>
      </link:roleType>
      <link:roleType id="statement-note-21-supplemental-cash-flow-information-tables" roleURI="http://www.descartes.com/20200131/role/statement-note-21-supplemental-cash-flow-information-tables">
        <link:definition xmlns="http://www.xbrl.org/2003/linkbase">048 - Disclosure - Note 21 - Supplemental Cash Flow Information (Tables)</link:definition>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
        <link:usedOn>link:presentationLink</link:usedOn>
      </link:roleType>
      <link:roleType id="statement-note-22-segmented-information-tables" roleURI="http://www.descartes.com/20200131/role/statement-note-22-segmented-information-tables">
        <link:definition xmlns="http://www.xbrl.org/2003/linkbase">049 - Disclosure - Note 22 - Segmented Information (Tables)</link:definition>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
        <link:usedOn>link:presentationLink</link:usedOn>
      </link:roleType>
      <link:roleType id="statement-note-2-basis-of-presentation-details-textual" roleURI="http://www.descartes.com/20200131/role/statement-note-2-basis-of-presentation-details-textual">
        <link:definition xmlns="http://www.xbrl.org/2003/linkbase">050 - Disclosure - Note 2 - Basis of Presentation (Details Textual)</link:definition>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
        <link:usedOn>link:presentationLink</link:usedOn>
      </link:roleType>
      <link:roleType id="statement-note-3-acquisitions-details-textual" roleURI="http://www.descartes.com/20200131/role/statement-note-3-acquisitions-details-textual">
        <link:definition xmlns="http://www.xbrl.org/2003/linkbase">051 - Disclosure - Note 3 - Acquisitions (Details Textual)</link:definition>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
        <link:usedOn>link:presentationLink</link:usedOn>
      </link:roleType>
      <link:roleType id="statement-note-3-acquisitions-preliminary-purchase-price-allocation-for-businesses-acquired-details" roleURI="http://www.descartes.com/20200131/role/statement-note-3-acquisitions-preliminary-purchase-price-allocation-for-businesses-acquired-details">
        <link:definition xmlns="http://www.xbrl.org/2003/linkbase">052 - Disclosure - Note 3 - Acquisitions - Preliminary Purchase Price Allocation for Businesses Acquired (Details)</link:definition>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
        <link:usedOn>link:presentationLink</link:usedOn>
      </link:roleType>
      <link:roleType id="statement-note-3-acquisitions-preliminary-purchase-price-allocation-for-businesses-acquired-details-parentheticals" roleURI="http://www.descartes.com/20200131/role/statement-note-3-acquisitions-preliminary-purchase-price-allocation-for-businesses-acquired-details-parentheticals">
        <link:definition xmlns="http://www.xbrl.org/2003/linkbase">053 - Disclosure - Note 3 - Acquisitions - Preliminary Purchase Price Allocation for Businesses Acquired (Details) (Parentheticals)</link:definition>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
        <link:usedOn>link:presentationLink</link:usedOn>
      </link:roleType>
      <link:roleType id="statement-note-3-acquisitions-acquired-intangible-assets-useful-lives-details" roleURI="http://www.descartes.com/20200131/role/statement-note-3-acquisitions-acquired-intangible-assets-useful-lives-details">
        <link:definition xmlns="http://www.xbrl.org/2003/linkbase">054 - Disclosure - Note 3 - Acquisitions - Acquired Intangible Assets Useful Lives (Details)</link:definition>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
        <link:usedOn>link:presentationLink</link:usedOn>
      </link:roleType>
      <link:roleType id="statement-note-3-acquisitions-pro-forma-results-of-operations-details" roleURI="http://www.descartes.com/20200131/role/statement-note-3-acquisitions-pro-forma-results-of-operations-details">
        <link:definition xmlns="http://www.xbrl.org/2003/linkbase">055 - Disclosure - Note 3 - Acquisitions - Pro Forma Results of Operations (Details)</link:definition>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
        <link:usedOn>link:presentationLink</link:usedOn>
      </link:roleType>
      <link:roleType id="statement-note-4-fair-value-measurements-details-textual" roleURI="http://www.descartes.com/20200131/role/statement-note-4-fair-value-measurements-details-textual">
        <link:definition xmlns="http://www.xbrl.org/2003/linkbase">056 - Disclosure - Note 4 - Fair Value Measurements (Details Textual)</link:definition>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
        <link:usedOn>link:presentationLink</link:usedOn>
      </link:roleType>
      <link:roleType id="statement-note-4-fair-value-measurements-derivative-instruments-at-fair-value-details" roleURI="http://www.descartes.com/20200131/role/statement-note-4-fair-value-measurements-derivative-instruments-at-fair-value-details">
        <link:definition xmlns="http://www.xbrl.org/2003/linkbase">057 - Disclosure - Note 4 - Fair Value Measurements - Derivative Instruments at Fair Value (Details)</link:definition>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
        <link:usedOn>link:presentationLink</link:usedOn>
      </link:roleType>
      <link:roleType id="statement-note-5-trade-receivables-details-textual" roleURI="http://www.descartes.com/20200131/role/statement-note-5-trade-receivables-details-textual">
        <link:definition xmlns="http://www.xbrl.org/2003/linkbase">058 - Disclosure - Note 5 - Trade Receivables (Details Textual)</link:definition>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
        <link:usedOn>link:presentationLink</link:usedOn>
      </link:roleType>
      <link:roleType id="statement-note-5-trade-receivables-trade-receivables-details" roleURI="http://www.descartes.com/20200131/role/statement-note-5-trade-receivables-trade-receivables-details">
        <link:definition xmlns="http://www.xbrl.org/2003/linkbase">059 - Disclosure - Note 5 - Trade Receivables - Trade Receivables (Details)</link:definition>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
        <link:usedOn>link:presentationLink</link:usedOn>
      </link:roleType>
      <link:roleType id="statement-note-6-other-receivables-details-textual" roleURI="http://www.descartes.com/20200131/role/statement-note-6-other-receivables-details-textual">
        <link:definition xmlns="http://www.xbrl.org/2003/linkbase">060 - Disclosure - Note 6 - Other Receivables (Details Textual)</link:definition>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
        <link:usedOn>link:presentationLink</link:usedOn>
      </link:roleType>
      <link:roleType id="statement-note-6-other-receivables-other-receivables-details" roleURI="http://www.descartes.com/20200131/role/statement-note-6-other-receivables-other-receivables-details">
        <link:definition xmlns="http://www.xbrl.org/2003/linkbase">061 - Disclosure - Note 6 - Other Receivables - Other Receivables (Details)</link:definition>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
        <link:usedOn>link:presentationLink</link:usedOn>
      </link:roleType>
      <link:roleType id="statement-note-7-inventory-details-textual" roleURI="http://www.descartes.com/20200131/role/statement-note-7-inventory-details-textual">
        <link:definition xmlns="http://www.xbrl.org/2003/linkbase">062 - Disclosure - Note 7 - Inventory (Details Textual)</link:definition>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
        <link:usedOn>link:presentationLink</link:usedOn>
      </link:roleType>
      <link:roleType id="statement-note-8-property-and-equipment-property-and-equipment-details" roleURI="http://www.descartes.com/20200131/role/statement-note-8-property-and-equipment-property-and-equipment-details">
        <link:definition xmlns="http://www.xbrl.org/2003/linkbase">063 - Disclosure - Note 8 - Property and Equipment - Property and Equipment (Details)</link:definition>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
        <link:usedOn>link:presentationLink</link:usedOn>
      </link:roleType>
      <link:roleType id="statement-note-9-intangible-assets-details-textual" roleURI="http://www.descartes.com/20200131/role/statement-note-9-intangible-assets-details-textual">
        <link:definition xmlns="http://www.xbrl.org/2003/linkbase">064 - Disclosure - Note 9 - Intangible Assets (Details Textual)</link:definition>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
        <link:usedOn>link:presentationLink</link:usedOn>
      </link:roleType>
      <link:roleType id="statement-note-9-intangible-assets-intangible-assets-details" roleURI="http://www.descartes.com/20200131/role/statement-note-9-intangible-assets-intangible-assets-details">
        <link:definition xmlns="http://www.xbrl.org/2003/linkbase">065 - Disclosure - Note 9 - Intangible Assets - Intangible Assets (Details)</link:definition>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
        <link:usedOn>link:presentationLink</link:usedOn>
      </link:roleType>
      <link:roleType id="statement-note-10-goodwill-goodwill-details" roleURI="http://www.descartes.com/20200131/role/statement-note-10-goodwill-goodwill-details">
        <link:definition xmlns="http://www.xbrl.org/2003/linkbase">066 - Disclosure - Note 10 - Goodwill - Goodwill (Details)</link:definition>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
        <link:usedOn>link:presentationLink</link:usedOn>
      </link:roleType>
      <link:roleType id="statement-note-11-accrued-liabilities-accrued-liabilities-details" roleURI="http://www.descartes.com/20200131/role/statement-note-11-accrued-liabilities-accrued-liabilities-details">
        <link:definition xmlns="http://www.xbrl.org/2003/linkbase">067 - Disclosure - Note 11 - Accrued Liabilities - Accrued Liabilities (Details)</link:definition>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
        <link:usedOn>link:presentationLink</link:usedOn>
      </link:roleType>
      <link:roleType id="statement-note-12-debt-details-textual" roleURI="http://www.descartes.com/20200131/role/statement-note-12-debt-details-textual">
        <link:definition xmlns="http://www.xbrl.org/2003/linkbase">068 - Disclosure - Note 12 - Debt (Details Textual)</link:definition>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
        <link:usedOn>link:presentationLink</link:usedOn>
      </link:roleType>
      <link:roleType id="statement-note-12-debt-schedule-of-longterm-debt-details" roleURI="http://www.descartes.com/20200131/role/statement-note-12-debt-schedule-of-longterm-debt-details">
        <link:definition xmlns="http://www.xbrl.org/2003/linkbase">069 - Disclosure - Note 12 - Debt - Schedule of Long-term Debt (Details)</link:definition>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
        <link:usedOn>link:presentationLink</link:usedOn>
      </link:roleType>
      <link:roleType id="statement-note-13-leases-details-textual" roleURI="http://www.descartes.com/20200131/role/statement-note-13-leases-details-textual">
        <link:definition xmlns="http://www.xbrl.org/2003/linkbase">070 - Disclosure - Note 13 - Leases (Details Textual)</link:definition>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
        <link:usedOn>link:presentationLink</link:usedOn>
      </link:roleType>
      <link:roleType id="statement-note-13-leases-components-of-operating-lease-expense-details" roleURI="http://www.descartes.com/20200131/role/statement-note-13-leases-components-of-operating-lease-expense-details">
        <link:definition xmlns="http://www.xbrl.org/2003/linkbase">071 - Disclosure - Note 13 - Leases - Components of Operating Lease Expense (Details)</link:definition>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
        <link:usedOn>link:presentationLink</link:usedOn>
      </link:roleType>
      <link:roleType id="statement-note-13-leases-maturities-of-operating-lease-liabilities-details" roleURI="http://www.descartes.com/20200131/role/statement-note-13-leases-maturities-of-operating-lease-liabilities-details">
        <link:definition xmlns="http://www.xbrl.org/2003/linkbase">072 - Disclosure - Note 13 - Leases - Maturities of Operating Lease Liabilities (Details)</link:definition>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
        <link:usedOn>link:presentationLink</link:usedOn>
      </link:roleType>
      <link:roleType id="statement-note-13-leases-lease-obligations-details" roleURI="http://www.descartes.com/20200131/role/statement-note-13-leases-lease-obligations-details">
        <link:definition xmlns="http://www.xbrl.org/2003/linkbase">073 - Disclosure - Note 13 - Leases - Lease Obligations (Details)</link:definition>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
        <link:usedOn>link:presentationLink</link:usedOn>
      </link:roleType>
      <link:roleType id="statement-note-14-commitments-contingencies-and-guarantees-details-textual" roleURI="http://www.descartes.com/20200131/role/statement-note-14-commitments-contingencies-and-guarantees-details-textual">
        <link:definition xmlns="http://www.xbrl.org/2003/linkbase">074 - Disclosure - Note 14 - Commitments, Contingencies and Guarantees (Details Textual)</link:definition>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
        <link:usedOn>link:presentationLink</link:usedOn>
      </link:roleType>
      <link:roleType id="statement-note-15-share-capital-details-textual" roleURI="http://www.descartes.com/20200131/role/statement-note-15-share-capital-details-textual">
        <link:definition xmlns="http://www.xbrl.org/2003/linkbase">075 - Disclosure - Note 15 - Share Capital (Details Textual)</link:definition>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
        <link:usedOn>link:presentationLink</link:usedOn>
      </link:roleType>
      <link:roleType id="statement-note-15-share-capital-common-shares-outstanding-details" roleURI="http://www.descartes.com/20200131/role/statement-note-15-share-capital-common-shares-outstanding-details">
        <link:definition xmlns="http://www.xbrl.org/2003/linkbase">076 - Disclosure - Note 15 - Share Capital - Common Shares Outstanding (Details)</link:definition>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
        <link:usedOn>link:presentationLink</link:usedOn>
      </link:roleType>
      <link:roleType id="statement-note-16-earnings-per-share-details-textual" roleURI="http://www.descartes.com/20200131/role/statement-note-16-earnings-per-share-details-textual">
        <link:definition xmlns="http://www.xbrl.org/2003/linkbase">077 - Disclosure - Note 16 - Earnings Per Share (Details Textual)</link:definition>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
        <link:usedOn>link:presentationLink</link:usedOn>
      </link:roleType>
      <link:roleType id="statement-note-16-earnings-per-share-computation-of-basic-and-diluted-earnings-per-share-details" roleURI="http://www.descartes.com/20200131/role/statement-note-16-earnings-per-share-computation-of-basic-and-diluted-earnings-per-share-details">
        <link:definition xmlns="http://www.xbrl.org/2003/linkbase">078 - Disclosure - Note 16 - Earnings Per Share - Computation of Basic and Diluted Earnings Per Share (Details)</link:definition>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
        <link:usedOn>link:presentationLink</link:usedOn>
      </link:roleType>
      <link:roleType id="statement-note-17-stockbased-compensation-plans-details-textual" roleURI="http://www.descartes.com/20200131/role/statement-note-17-stockbased-compensation-plans-details-textual">
        <link:definition xmlns="http://www.xbrl.org/2003/linkbase">079 - Disclosure - Note 17 - Stock-based Compensation Plans (Details Textual)</link:definition>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
        <link:usedOn>link:presentationLink</link:usedOn>
      </link:roleType>
      <link:roleType id="statement-note-17-stockbased-compensation-plans-total-estimated-stockbased-compensation-expense-details" roleURI="http://www.descartes.com/20200131/role/statement-note-17-stockbased-compensation-plans-total-estimated-stockbased-compensation-expense-details">
        <link:definition xmlns="http://www.xbrl.org/2003/linkbase">080 - Disclosure - Note 17 - Stock-based Compensation Plans - Total Estimated Stock-based Compensation Expense (Details)</link:definition>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
        <link:usedOn>link:presentationLink</link:usedOn>
      </link:roleType>
      <link:roleType id="statement-note-17-stockbased-compensation-plans-assumptions-used-in-blackscholes-model-for-each-grant-details" roleURI="http://www.descartes.com/20200131/role/statement-note-17-stockbased-compensation-plans-assumptions-used-in-blackscholes-model-for-each-grant-details">
        <link:definition xmlns="http://www.xbrl.org/2003/linkbase">081 - Disclosure - Note 17 - Stock-based Compensation Plans - Assumptions Used in Black-scholes Model for Each Grant (Details)</link:definition>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
        <link:usedOn>link:presentationLink</link:usedOn>
      </link:roleType>
      <link:roleType id="statement-note-17-stockbased-compensation-plans-summary-of-option-activity-details" roleURI="http://www.descartes.com/20200131/role/statement-note-17-stockbased-compensation-plans-summary-of-option-activity-details">
        <link:definition xmlns="http://www.xbrl.org/2003/linkbase">082 - Disclosure - Note 17 -Stock-based Compensation Plans - Summary of Option Activity (Details)</link:definition>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
        <link:usedOn>link:presentationLink</link:usedOn>
      </link:roleType>
      <link:roleType id="statement-note-17-stockbased-compensation-plans-options-outstanding-and-options-exercisable-details" roleURI="http://www.descartes.com/20200131/role/statement-note-17-stockbased-compensation-plans-options-outstanding-and-options-exercisable-details">
        <link:definition xmlns="http://www.xbrl.org/2003/linkbase">083 - Disclosure - Note 17 - Stock-based Compensation Plans - Options Outstanding and Options Exercisable (Details)</link:definition>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
        <link:usedOn>link:presentationLink</link:usedOn>
      </link:roleType>
      <link:roleType id="statement-note-17-stockbased-compensation-plans-summary-of-nonvested-share-details" roleURI="http://www.descartes.com/20200131/role/statement-note-17-stockbased-compensation-plans-summary-of-nonvested-share-details">
        <link:definition xmlns="http://www.xbrl.org/2003/linkbase">084 - Disclosure - Note 17 - Stock-based Compensation Plans - Summary of Nonvested Share (Details)</link:definition>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
        <link:usedOn>link:presentationLink</link:usedOn>
      </link:roleType>
      <link:roleType id="statement-note-17-stockbased-compensation-plans-summary-of-performance-share-units-activity-details" roleURI="http://www.descartes.com/20200131/role/statement-note-17-stockbased-compensation-plans-summary-of-performance-share-units-activity-details">
        <link:definition xmlns="http://www.xbrl.org/2003/linkbase">085 - Disclosure - Note 17 - Stock-based Compensation Plans Summary of Performance Share Units Activity (Details)</link:definition>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
        <link:usedOn>link:presentationLink</link:usedOn>
      </link:roleType>
      <link:roleType id="statement-note-17-stockbased-compensation-plans-summary-of-restricted-share-units-activity-details" roleURI="http://www.descartes.com/20200131/role/statement-note-17-stockbased-compensation-plans-summary-of-restricted-share-units-activity-details">
        <link:definition xmlns="http://www.xbrl.org/2003/linkbase">086 - Disclosure - Note 17 - Stock-based Compensation Plans - Summary of Restricted Share Units Activity (Details)</link:definition>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
        <link:usedOn>link:presentationLink</link:usedOn>
      </link:roleType>
      <link:roleType id="statement-note-17-stockbased-compensation-plans-summary-of-crsu-plan-activity-details" roleURI="http://www.descartes.com/20200131/role/statement-note-17-stockbased-compensation-plans-summary-of-crsu-plan-activity-details">
        <link:definition xmlns="http://www.xbrl.org/2003/linkbase">087 - Disclosure - Note 17 - Stock-based Compensation Plans - Summary of CRSU Plan Activity (Details)</link:definition>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
        <link:usedOn>link:presentationLink</link:usedOn>
      </link:roleType>
      <link:roleType id="statement-note-18-income-taxes-details-textual" roleURI="http://www.descartes.com/20200131/role/statement-note-18-income-taxes-details-textual">
        <link:definition xmlns="http://www.xbrl.org/2003/linkbase">088 - Disclosure - Note 18 - Income Taxes (Details Textual)</link:definition>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
        <link:usedOn>link:presentationLink</link:usedOn>
      </link:roleType>
      <link:roleType id="statement-note-18-income-taxes-income-loss-before-income-taxes-earned-by-tax-jurisdictions-details" roleURI="http://www.descartes.com/20200131/role/statement-note-18-income-taxes-income-loss-before-income-taxes-earned-by-tax-jurisdictions-details">
        <link:definition xmlns="http://www.xbrl.org/2003/linkbase">089 - Disclosure - Note 18 - Income Taxes - Income (Loss) Before Income Taxes Earned by Tax Jurisdictions (Details)</link:definition>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
        <link:usedOn>link:presentationLink</link:usedOn>
      </link:roleType>
      <link:roleType id="statement-note-18-income-taxes-income-tax-expense-recovery-incurred-by-jurisdictions-details" roleURI="http://www.descartes.com/20200131/role/statement-note-18-income-taxes-income-tax-expense-recovery-incurred-by-jurisdictions-details">
        <link:definition xmlns="http://www.xbrl.org/2003/linkbase">090 - Disclosure - Note 18 - Income Taxes - Income Tax Expense (Recovery) Incurred by Jurisdictions (Details)</link:definition>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
        <link:usedOn>link:presentationLink</link:usedOn>
      </link:roleType>
      <link:roleType id="statement-note-18-income-taxes-components-of-deferred-income-tax-assets-and-liabilities-details" roleURI="http://www.descartes.com/20200131/role/statement-note-18-income-taxes-components-of-deferred-income-tax-assets-and-liabilities-details">
        <link:definition xmlns="http://www.xbrl.org/2003/linkbase">091 - Disclosure - Note 18 - Income Taxes - Components of Deferred Income Tax Assets and Liabilities (Details)</link:definition>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
        <link:usedOn>link:presentationLink</link:usedOn>
      </link:roleType>
      <link:roleType id="statement-note-18-income-taxes-provision-recovery-for-income-taxes-from-the-expected-provision-at-the-statutory-rates-details" roleURI="http://www.descartes.com/20200131/role/statement-note-18-income-taxes-provision-recovery-for-income-taxes-from-the-expected-provision-at-the-statutory-rates-details">
        <link:definition xmlns="http://www.xbrl.org/2003/linkbase">092 - Disclosure - Note 18 - Income Taxes - Provision (Recovery) for Income Taxes from the Expected Provision at the Statutory Rates (Details)</link:definition>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
        <link:usedOn>link:presentationLink</link:usedOn>
      </link:roleType>
      <link:roleType id="statement-note-18-income-taxes-income-tax-loss-carryforwards-expiration-dates-details" roleURI="http://www.descartes.com/20200131/role/statement-note-18-income-taxes-income-tax-loss-carryforwards-expiration-dates-details">
        <link:definition xmlns="http://www.xbrl.org/2003/linkbase">093 - Disclosure - Note 18 - Income Taxes - Income Tax Loss Carryforwards Expiration Dates (Details)</link:definition>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
        <link:usedOn>link:presentationLink</link:usedOn>
      </link:roleType>
      <link:roleType id="statement-note-18-income-taxes-reconciliation-of-the-total-estimated-liability-associated-with-uncertain-tax-provisions-details" roleURI="http://www.descartes.com/20200131/role/statement-note-18-income-taxes-reconciliation-of-the-total-estimated-liability-associated-with-uncertain-tax-provisions-details">
        <link:definition xmlns="http://www.xbrl.org/2003/linkbase">094 - Disclosure - Note 18 - Income Taxes - Reconciliation of the Total Estimated Liability Associated With Uncertain Tax Provisions (Details)</link:definition>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
        <link:usedOn>link:presentationLink</link:usedOn>
      </link:roleType>
      <link:roleType id="statement-note-19-contract-balances-performance-obligations-and-contract-costs-1-details-textual" roleURI="http://www.descartes.com/20200131/role/statement-note-19-contract-balances-performance-obligations-and-contract-costs-1-details-textual">
        <link:definition xmlns="http://www.xbrl.org/2003/linkbase">095 - Disclosure - Note 19 - Contract Balances, Performance Obligations and Contract Costs 1 (Details Textual)</link:definition>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
        <link:usedOn>link:presentationLink</link:usedOn>
      </link:roleType>
      <link:roleType id="statement-note-19-contract-balances-performance-obligations-and-contract-costs-2-details-textual" roleURI="http://www.descartes.com/20200131/role/statement-note-19-contract-balances-performance-obligations-and-contract-costs-2-details-textual">
        <link:definition xmlns="http://www.xbrl.org/2003/linkbase">096 - Disclosure - Note 19 - Contract Balances, Performance Obligations and Contract Costs 2 (Details Textual)</link:definition>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
        <link:usedOn>link:presentationLink</link:usedOn>
      </link:roleType>
      <link:roleType id="statement-note-19-contract-balances-performance-obligations-and-contract-costs-changes-in-deferred-revenue-and-contract-assets-details" roleURI="http://www.descartes.com/20200131/role/statement-note-19-contract-balances-performance-obligations-and-contract-costs-changes-in-deferred-revenue-and-contract-assets-details">
        <link:definition xmlns="http://www.xbrl.org/2003/linkbase">097 - Disclosure - Note 19 - Contract Balances, Performance Obligations and Contract Costs - Changes in Deferred Revenue and Contract Assets (Details)</link:definition>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
        <link:usedOn>link:presentationLink</link:usedOn>
      </link:roleType>
      <link:roleType id="statement-note-20-other-charges-other-charges-included-in-consolidated-statements-of-operations-details" roleURI="http://www.descartes.com/20200131/role/statement-note-20-other-charges-other-charges-included-in-consolidated-statements-of-operations-details">
        <link:definition xmlns="http://www.xbrl.org/2003/linkbase">098 - Disclosure - Note 20 - Other Charges - Other Charges Included in Consolidated Statements of Operations (Details)</link:definition>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
        <link:usedOn>link:presentationLink</link:usedOn>
      </link:roleType>
      <link:roleType id="statement-note-21-supplemental-cash-flow-information-cash-flow-changes-in-operating-asset-and-liabilities-details" roleURI="http://www.descartes.com/20200131/role/statement-note-21-supplemental-cash-flow-information-cash-flow-changes-in-operating-asset-and-liabilities-details">
        <link:definition xmlns="http://www.xbrl.org/2003/linkbase">099 - Disclosure - Note 21 - Supplemental Cash Flow Information - Cash Flow Changes in Operating Asset and Liabilities (Details)</link:definition>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
        <link:usedOn>link:presentationLink</link:usedOn>
      </link:roleType>
      <link:roleType id="statement-note-22-segmented-information-details-textual" roleURI="http://www.descartes.com/20200131/role/statement-note-22-segmented-information-details-textual">
        <link:definition xmlns="http://www.xbrl.org/2003/linkbase">100 - Disclosure - Note 22 - Segmented Information (Details Textual)</link:definition>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
        <link:usedOn>link:presentationLink</link:usedOn>
      </link:roleType>
      <link:roleType id="statement-note-22-segmented-information-segmented-revenue-by-geographical-location-of-customer-details" roleURI="http://www.descartes.com/20200131/role/statement-note-22-segmented-information-segmented-revenue-by-geographical-location-of-customer-details">
        <link:definition xmlns="http://www.xbrl.org/2003/linkbase">101 - Disclosure - Note 22 - Segmented Information - Segmented Revenue by Geographical Location of Customer (Details)</link:definition>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
        <link:usedOn>link:presentationLink</link:usedOn>
      </link:roleType>
      <link:roleType id="statement-note-22-segmented-information-segmented-revenue-by-revenue-type-details" roleURI="http://www.descartes.com/20200131/role/statement-note-22-segmented-information-segmented-revenue-by-revenue-type-details">
        <link:definition xmlns="http://www.xbrl.org/2003/linkbase">102 - Disclosure - Note 22 - Segmented Information - Segmented Revenue by Revenue Type (Details)</link:definition>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
        <link:usedOn>link:presentationLink</link:usedOn>
      </link:roleType>
      <link:roleType id="statement-note-22-segmented-information-longlived-assets-by-geographical-location-details" roleURI="http://www.descartes.com/20200131/role/statement-note-22-segmented-information-longlived-assets-by-geographical-location-details">
        <link:definition xmlns="http://www.xbrl.org/2003/linkbase">103 - Disclosure - Note 22 - Segmented Information - Long-lived Assets by Geographical Location (Details)</link:definition>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
        <link:usedOn>link:presentationLink</link:usedOn>
      </link:roleType>
      <link:roleType id="statement-note-23-subsequent-event-details-textual" roleURI="http://www.descartes.com/20200131/role/statement-note-23-subsequent-event-details-textual">
        <link:definition xmlns="http://www.xbrl.org/2003/linkbase">104 - Disclosure - Note 23 - Subsequent Event (Details Textual)</link:definition>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
        <link:usedOn>link:presentationLink</link:usedOn>
      </link:roleType>
    </xsd:appinfo>
  </xsd:annotation>
  <xsd:element abstract="true" id="dsgx_AfterTaxYear2025Member" name="AfterTaxYear2025Member" nillable="true" substitutionGroup="xbrli:item" type="nonnum:domainItemType" xbrli:periodType="duration"/>
  <xsd:element abstract="true" id="dsgx_AljexSoftwareIncMember" name="AljexSoftwareIncMember" nillable="true" substitutionGroup="xbrli:item" type="nonnum:domainItemType" xbrli:periodType="duration"/>
  <xsd:element id="dsgx_AmountsRecoverableFromFundsHeldInEscrow" name="AmountsRecoverableFromFundsHeldInEscrow" nillable="true" substitutionGroup="xbrli:item" type="xbrli:monetaryItemType" xbrli:balance="debit" xbrli:periodType="instant"/>
  <xsd:element abstract="true" id="dsgx_AsiaPacificIncomeTaxAuthorityMember" name="AsiaPacificIncomeTaxAuthorityMember" nillable="true" substitutionGroup="xbrli:item" type="nonnum:domainItemType" xbrli:periodType="duration"/>
  <xsd:element id="dsgx_BaseAnnualFeePercent" name="BaseAnnualFeePercent" nillable="true" substitutionGroup="xbrli:item" type="num:percentItemType" xbrli:periodType="duration"/>
  <xsd:element abstract="true" id="dsgx_BesttransportMember" name="BesttransportMember" nillable="true" substitutionGroup="xbrli:item" type="nonnum:domainItemType" xbrli:periodType="duration"/>
  <xsd:element id="dsgx_BusinessAcquisitionCostOfAcquiredEntityWorkingCapitalAdjustments" name="BusinessAcquisitionCostOfAcquiredEntityWorkingCapitalAdjustments" nillable="true" substitutionGroup="xbrli:item" type="xbrli:monetaryItemType" xbrli:balance="credit" xbrli:periodType="duration"/>
  <xsd:element id="dsgx_BusinessCombinationContingentConsiderationArrangementsPeriodForRevenuePerformanceTargets" name="BusinessCombinationContingentConsiderationArrangementsPeriodForRevenuePerformanceTargets" nillable="true" substitutionGroup="xbrli:item" type="xbrli:durationItemType" xbrli:periodType="duration"/>
  <xsd:element id="dsgx_BusinessCombinationRecognizedIdentifiableAssetAcquiredAndLiabilityAssumedOperatingLeaseObligation" name="BusinessCombinationRecognizedIdentifiableAssetAcquiredAndLiabilityAssumedOperatingLeaseObligation" nillable="true" substitutionGroup="xbrli:item" type="xbrli:monetaryItemType" xbrli:balance="credit" xbrli:periodType="instant"/>
  <xsd:element id="dsgx_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedRightofuseAssets" name="BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedRightofuseAssets" nillable="true" substitutionGroup="xbrli:item" type="xbrli:monetaryItemType" xbrli:balance="debit" xbrli:periodType="instant"/>
  <xsd:element id="dsgx_BusinessCombinationRecognizedIdentifiableTangibleAssetsAcquiredAndLiabilitiesAssumedNet" name="BusinessCombinationRecognizedIdentifiableTangibleAssetsAcquiredAndLiabilitiesAssumedNet" nillable="true" substitutionGroup="xbrli:item" type="xbrli:monetaryItemType" xbrli:balance="debit" xbrli:periodType="instant"/>
  <xsd:element id="dsgx_CRSUAwardNonvestedNumber" name="CRSUAwardNonvestedNumber" nillable="true" substitutionGroup="xbrli:item" type="xbrli:sharesItemType" xbrli:periodType="instant"/>
  <xsd:element id="dsgx_CRSUAwardNonvestedWeightedAverageContractualLife" name="CRSUAwardNonvestedWeightedAverageContractualLife" nillable="true" substitutionGroup="xbrli:item" type="xbrli:durationItemType" xbrli:periodType="duration"/>
  <xsd:element id="dsgx_CRSUAwardsGrantsInPeriod" name="CRSUAwardsGrantsInPeriod" nillable="true" substitutionGroup="xbrli:item" type="xbrli:sharesItemType" xbrli:periodType="duration"/>
  <xsd:element id="dsgx_CRSUAwardsOutstandingNumber" name="CRSUAwardsOutstandingNumber" nillable="true" substitutionGroup="xbrli:item" type="xbrli:sharesItemType" xbrli:periodType="instant"/>
  <xsd:element id="dsgx_CRSUAwardsVestedAndSettledInCash" name="CRSUAwardsVestedAndSettledInCash" nillable="true" substitutionGroup="xbrli:item" type="xbrli:sharesItemType" xbrli:periodType="duration"/>
  <xsd:element id="dsgx_CRSUAwardsWeightedAverageContractualLife" name="CRSUAwardsWeightedAverageContractualLife" nillable="true" substitutionGroup="xbrli:item" type="xbrli:durationItemType" xbrli:periodType="duration"/>
  <xsd:element abstract="true" id="dsgx_CanadaOrUsPrimeRateBaOrLiborMember" name="CanadaOrUsPrimeRateBaOrLiborMember" nillable="true" substitutionGroup="xbrli:item" type="nonnum:domainItemType" xbrli:periodType="duration"/>
  <xsd:element abstract="true" id="dsgx_CapitalLeasesMember" name="CapitalLeasesMember" nillable="true" substitutionGroup="xbrli:item" type="nonnum:domainItemType" xbrli:periodType="duration"/>
  <xsd:element id="dsgx_CashSettledRestrictedShareUnitsCompensationExpense" name="CashSettledRestrictedShareUnitsCompensationExpense" nillable="true" substitutionGroup="xbrli:item" type="xbrli:monetaryItemType" xbrli:balance="debit" xbrli:periodType="duration"/>
  <xsd:element id="dsgx_CashSettledRestrictedShareUnitsNonvestedTotalCompensationCostNotYetRecognized" name="CashSettledRestrictedShareUnitsNonvestedTotalCompensationCostNotYetRecognized" nillable="true" substitutionGroup="xbrli:item" type="xbrli:monetaryItemType" xbrli:balance="debit" xbrli:periodType="duration"/>
  <xsd:element id="dsgx_CashSettledRestrictedShareUnitsVestingPeriod" name="CashSettledRestrictedShareUnitsVestingPeriod" nillable="true" substitutionGroup="xbrli:item" type="xbrli:durationItemType" xbrli:periodType="duration"/>
  <xsd:element abstract="true" id="dsgx_CashsettledRestrictedSharePlanMember" name="CashsettledRestrictedSharePlanMember" nillable="true" substitutionGroup="xbrli:item" type="nonnum:domainItemType" xbrli:periodType="duration"/>
  <xsd:element abstract="true" id="dsgx_CashsettledRestrictedShareUnitMember" name="CashsettledRestrictedShareUnitMember" nillable="true" substitutionGroup="xbrli:item" type="nonnum:domainItemType" xbrli:periodType="duration"/>
  <xsd:element id="dsgx_ContractWithCustomerAssetAdjustmentForAdoptionOfASC606" name="ContractWithCustomerAssetAdjustmentForAdoptionOfASC606" nillable="true" substitutionGroup="xbrli:item" type="xbrli:monetaryItemType" xbrli:balance="debit" xbrli:periodType="duration"/>
  <xsd:element id="dsgx_ContractWithCustomerAssetIncreaseDecreaseForForeignExchange" name="ContractWithCustomerAssetIncreaseDecreaseForForeignExchange" nillable="true" substitutionGroup="xbrli:item" type="xbrli:monetaryItemType" xbrli:balance="debit" xbrli:periodType="duration"/>
  <xsd:element id="dsgx_ContractWithCustomerAssetIncreaseDecreaseForTermLicensesNet" name="ContractWithCustomerAssetIncreaseDecreaseForTermLicensesNet" nillable="true" substitutionGroup="xbrli:item" type="xbrli:monetaryItemType" xbrli:balance="debit" xbrli:periodType="duration"/>
  <xsd:element id="dsgx_ContractWithCustomerContractAssetBeforeAdoptionOfASC606" name="ContractWithCustomerContractAssetBeforeAdoptionOfASC606" nillable="true" substitutionGroup="xbrli:item" type="xbrli:monetaryItemType" xbrli:balance="debit" xbrli:periodType="instant"/>
  <xsd:element id="dsgx_ContractWithCustomerLiabilityIncreaseDecreaseForForeignExchange" name="ContractWithCustomerLiabilityIncreaseDecreaseForForeignExchange" nillable="true" substitutionGroup="xbrli:item" type="xbrli:monetaryItemType" xbrli:balance="credit" xbrli:periodType="duration"/>
  <xsd:element id="dsgx_ContractWithCustomerLiabilityIncreaseFromDeferralOfRevenue" name="ContractWithCustomerLiabilityIncreaseFromDeferralOfRevenue" nillable="true" substitutionGroup="xbrli:item" type="xbrli:monetaryItemType" xbrli:balance="credit" xbrli:periodType="duration"/>
  <xsd:element id="dsgx_ContractualObligationDueInEigthYear" name="ContractualObligationDueInEigthYear" nillable="true" substitutionGroup="xbrli:item" type="xbrli:monetaryItemType" xbrli:balance="credit" xbrli:periodType="instant"/>
  <xsd:element id="dsgx_ContractualObligationDueInSeventhYear" name="ContractualObligationDueInSeventhYear" nillable="true" substitutionGroup="xbrli:item" type="xbrli:monetaryItemType" xbrli:balance="credit" xbrli:periodType="instant"/>
  <xsd:element id="dsgx_ContractualObligationDueInSixthYear" name="ContractualObligationDueInSixthYear" nillable="true" substitutionGroup="xbrli:item" type="xbrli:monetaryItemType" xbrli:balance="credit" xbrli:periodType="instant"/>
  <xsd:element abstract="true" id="dsgx_CoreTransportTechnologiesNzLimitedMember" name="CoreTransportTechnologiesNzLimitedMember" nillable="true" substitutionGroup="xbrli:item" type="nonnum:domainItemType" xbrli:periodType="duration"/>
  <xsd:element id="dsgx_CostsToObtainAContractWithACustomerPeriodOfBenefitIncludingRenewals" name="CostsToObtainAContractWithACustomerPeriodOfBenefitIncludingRenewals" nillable="true" substitutionGroup="xbrli:item" type="xbrli:durationItemType" xbrli:periodType="duration"/>
  <xsd:element id="dsgx_DeferredShareUnitLiabilityNumberOfCommonShares" name="DeferredShareUnitLiabilityNumberOfCommonShares" nillable="true" substitutionGroup="xbrli:item" type="xbrli:sharesItemType" xbrli:periodType="instant"/>
  <xsd:element abstract="true" id="dsgx_DeferredShareUnitPlanMember" name="DeferredShareUnitPlanMember" nillable="true" substitutionGroup="xbrli:item" type="nonnum:domainItemType" xbrli:periodType="duration"/>
  <xsd:element id="dsgx_DeferredShareUnitsCompensationExpense" name="DeferredShareUnitsCompensationExpense" nillable="true" substitutionGroup="xbrli:item" type="xbrli:monetaryItemType" xbrli:balance="debit" xbrli:periodType="duration"/>
  <xsd:element id="dsgx_DeferredShareUnitsGrantsInPeriod" name="DeferredShareUnitsGrantsInPeriod" nillable="true" substitutionGroup="xbrli:item" type="xbrli:sharesItemType" xbrli:periodType="duration"/>
  <xsd:element id="dsgx_DeferredShareUnitsOutstandingNumber" name="DeferredShareUnitsOutstandingNumber" nillable="true" substitutionGroup="xbrli:item" type="xbrli:sharesItemType" xbrli:periodType="instant"/>
  <xsd:element id="dsgx_DeferredShareUnitsRedeemedAndSettledInCash" name="DeferredShareUnitsRedeemedAndSettledInCash" nillable="true" substitutionGroup="xbrli:item" type="xbrli:sharesItemType" xbrli:periodType="duration"/>
  <xsd:element id="dsgx_DeferredTaxAssetsLiabilitesNet1" name="DeferredTaxAssetsLiabilitesNet1" nillable="true" substitutionGroup="xbrli:item" type="xbrli:monetaryItemType" xbrli:balance="debit" xbrli:periodType="instant"/>
  <xsd:element id="dsgx_DeferredTaxAssetsNetBeforeValuationAllowance" name="DeferredTaxAssetsNetBeforeValuationAllowance" nillable="true" substitutionGroup="xbrli:item" type="xbrli:monetaryItemType" xbrli:balance="debit" xbrli:periodType="instant"/>
  <xsd:element id="dsgx_DeferredTaxCharges" name="DeferredTaxCharges" nillable="true" substitutionGroup="xbrli:item" type="xbrli:monetaryItemType" xbrli:balance="debit" xbrli:periodType="duration"/>
  <xsd:element id="dsgx_DerivativeInstrumentCommonSharesHeldPerShare" name="DerivativeInstrumentCommonSharesHeldPerShare" nillable="true" substitutionGroup="xbrli:item" type="num:perShareItemType" xbrli:periodType="instant"/>
  <xsd:element id="dsgx_DerivativeInstrumentSharesOfCommonStockHeld" name="DerivativeInstrumentSharesOfCommonStockHeld" nillable="true" substitutionGroup="xbrli:item" type="xbrli:sharesItemType" xbrli:periodType="instant"/>
  <xsd:element abstract="true" id="dsgx_DirectorsAndOfficersMember" name="DirectorsAndOfficersMember" nillable="true" substitutionGroup="xbrli:item" type="nonnum:domainItemType" xbrli:periodType="duration"/>
  <xsd:element abstract="true" id="dsgx_DocumentAndEntityInformation" name="DocumentAndEntityInformation" nillable="true" substitutionGroup="xbrli:item" type="xbrli:stringItemType" xbrli:periodType="duration"/>
  <xsd:element id="dsgx_EffectiveIncomeTaxRateReconciliationIncreaseDecreaseInAccrualsForUncertainTaxPositions" name="EffectiveIncomeTaxRateReconciliationIncreaseDecreaseInAccrualsForUncertainTaxPositions" nillable="true" substitutionGroup="xbrli:item" type="xbrli:monetaryItemType" xbrli:balance="debit" xbrli:periodType="duration"/>
  <xsd:element abstract="true" id="dsgx_EmeaIncomeTaxAuthorityMember" name="EmeaIncomeTaxAuthorityMember" nillable="true" substitutionGroup="xbrli:item" type="nonnum:domainItemType" xbrli:periodType="duration"/>
  <xsd:element abstract="true" id="dsgx_EquipmentInstalledWithCustomersMember" name="EquipmentInstalledWithCustomersMember" nillable="true" substitutionGroup="xbrli:item" type="nonnum:domainItemType" xbrli:periodType="duration"/>
  <xsd:element abstract="true" id="dsgx_ExistingTechnologyMember" name="ExistingTechnologyMember" nillable="true" substitutionGroup="xbrli:item" type="nonnum:domainItemType" xbrli:periodType="duration"/>
  <xsd:element id="dsgx_IncomeBeforeTaxesPercent" name="IncomeBeforeTaxesPercent" nillable="true" substitutionGroup="xbrli:item" type="num:percentItemType" xbrli:periodType="duration"/>
  <xsd:element id="dsgx_IncomeTaxReconciliationDeferredTaxCharges" name="IncomeTaxReconciliationDeferredTaxCharges" nillable="true" substitutionGroup="xbrli:item" type="xbrli:monetaryItemType" xbrli:balance="debit" xbrli:periodType="duration"/>
  <xsd:element id="dsgx_IncreaseDecreaseInOperatingLeaseLiabilities" name="IncreaseDecreaseInOperatingLeaseLiabilities" nillable="true" substitutionGroup="xbrli:item" type="xbrli:monetaryItemType" xbrli:balance="debit" xbrli:periodType="duration"/>
  <xsd:element id="dsgx_LesseeOperatingLeaseRemainingLeaseTerm" name="LesseeOperatingLeaseRemainingLeaseTerm" nillable="true" substitutionGroup="xbrli:item" type="xbrli:durationItemType" xbrli:periodType="duration"/>
  <xsd:element abstract="true" id="dsgx_LineOfCreditBorrowingsToSupportForeignExchangeAndInterestRateHedgingMember" name="LineOfCreditBorrowingsToSupportForeignExchangeAndInterestRateHedgingMember" nillable="true" substitutionGroup="xbrli:item" type="nonnum:domainItemType" xbrli:periodType="duration"/>
  <xsd:element abstract="true" id="dsgx_MacroPointLLCMember" name="MacroPointLLCMember" nillable="true" substitutionGroup="xbrli:item" type="nonnum:domainItemType" xbrli:periodType="duration"/>
  <xsd:element id="dsgx_NetWorkingCapitalAdjustmentsReceivableFromAcquisitions" name="NetWorkingCapitalAdjustmentsReceivableFromAcquisitions" nillable="true" substitutionGroup="xbrli:item" type="xbrli:monetaryItemType" xbrli:balance="debit" xbrli:periodType="instant"/>
  <xsd:element abstract="true" id="dsgx_NoteToFinancialStatementDetailsTextual" name="NoteToFinancialStatementDetailsTextual" nillable="true" substitutionGroup="xbrli:item" type="xbrli:stringItemType" xbrli:periodType="duration"/>
  <xsd:element abstract="true" id="dsgx_NotesToFinancialStatements" name="NotesToFinancialStatements" nillable="true" substitutionGroup="xbrli:item" type="xbrli:stringItemType" xbrli:periodType="duration"/>
  <xsd:element abstract="true" id="dsgx_NotesToFinancialStatementsAbstract" name="NotesToFinancialStatementsAbstract" nillable="true" substitutionGroup="xbrli:item" type="xbrli:stringItemType" xbrli:periodType="duration"/>
  <xsd:element id="dsgx_NumberOfMajorCustomers" name="NumberOfMajorCustomers" nillable="true" substitutionGroup="xbrli:item" type="xbrli:integerItemType" xbrli:periodType="duration"/>
  <xsd:element abstract="true" id="dsgx_OperatingLeasesMember" name="OperatingLeasesMember" nillable="true" substitutionGroup="xbrli:item" type="nonnum:domainItemType" xbrli:periodType="duration"/>
  <xsd:element abstract="true" id="dsgx_OptionsGrantedOutsideOfShareholderApprovedStockOptionPlanMember" name="OptionsGrantedOutsideOfShareholderApprovedStockOptionPlanMember" nillable="true" substitutionGroup="xbrli:item" type="nonnum:domainItemType" xbrli:periodType="duration"/>
  <xsd:element abstract="true" id="dsgx_OtherCountriesMember" name="OtherCountriesMember" nillable="true" substitutionGroup="xbrli:item" type="nonnum:domainItemType" xbrli:periodType="duration"/>
  <xsd:element id="dsgx_OtherReceivablesTableTextBlock" name="OtherReceivablesTableTextBlock" nillable="true" substitutionGroup="xbrli:item" type="nonnum:textBlockItemType" xbrli:periodType="duration"/>
  <xsd:element id="dsgx_OtherReceivablesTextBlock" name="OtherReceivablesTextBlock" nillable="true" substitutionGroup="xbrli:item" type="nonnum:textBlockItemType" xbrli:periodType="duration"/>
  <xsd:element abstract="true" id="dsgx_OutsideOfShareholderapprovedStockOptionPlanMember" name="OutsideOfShareholderapprovedStockOptionPlanMember" nillable="true" substitutionGroup="xbrli:item" type="nonnum:domainItemType" xbrli:periodType="duration"/>
  <xsd:element id="dsgx_OverallotmentOption" name="OverallotmentOption" nillable="true" substitutionGroup="xbrli:item" type="num:percentItemType" xbrli:periodType="duration"/>
  <xsd:element abstract="true" id="dsgx_PCSTracIncMember" name="PCSTracIncMember" nillable="true" substitutionGroup="xbrli:item" type="nonnum:domainItemType" xbrli:periodType="duration"/>
  <xsd:element abstract="true" id="dsgx_PeoplevoxLimitedMember" name="PeoplevoxLimitedMember" nillable="true" substitutionGroup="xbrli:item" type="nonnum:domainItemType" xbrli:periodType="duration"/>
  <xsd:element abstract="true" id="dsgx_PinPointMember" name="PinPointMember" nillable="true" substitutionGroup="xbrli:item" type="nonnum:domainItemType" xbrli:periodType="duration"/>
  <xsd:element abstract="true" id="dsgx_PinpointAndCoreMember" name="PinpointAndCoreMember" nillable="true" substitutionGroup="xbrli:item" type="nonnum:domainItemType" xbrli:periodType="duration"/>
  <xsd:element id="dsgx_ProceedsFromIssuanceOfCommonStockNet" name="ProceedsFromIssuanceOfCommonStockNet" nillable="true" substitutionGroup="xbrli:item" type="xbrli:monetaryItemType" xbrli:balance="debit" xbrli:periodType="duration"/>
  <xsd:element abstract="true" id="dsgx_ProfessionalServicesAndOtherMember" name="ProfessionalServicesAndOtherMember" nillable="true" substitutionGroup="xbrli:item" type="nonnum:domainItemType" xbrli:periodType="duration"/>
  <xsd:element id="dsgx_PropertyPlantAndEquipmentPercentDecliningBalanceDepreciation" name="PropertyPlantAndEquipmentPercentDecliningBalanceDepreciation" nillable="true" substitutionGroup="xbrli:item" type="num:percentItemType" xbrli:periodType="duration"/>
  <xsd:element abstract="true" id="dsgx_Range1Member" name="Range1Member" nillable="true" substitutionGroup="xbrli:item" type="nonnum:domainItemType" xbrli:periodType="duration"/>
  <xsd:element abstract="true" id="dsgx_Range2Member" name="Range2Member" nillable="true" substitutionGroup="xbrli:item" type="nonnum:domainItemType" xbrli:periodType="duration"/>
  <xsd:element abstract="true" id="dsgx_Range3Member" name="Range3Member" nillable="true" substitutionGroup="xbrli:item" type="nonnum:domainItemType" xbrli:periodType="duration"/>
  <xsd:element abstract="true" id="dsgx_Range4Member" name="Range4Member" nillable="true" substitutionGroup="xbrli:item" type="nonnum:domainItemType" xbrli:periodType="duration"/>
  <xsd:element abstract="true" id="dsgx_RevolvingOperatingCreditFacilityMember" name="RevolvingOperatingCreditFacilityMember" nillable="true" substitutionGroup="xbrli:item" type="nonnum:domainItemType" xbrli:periodType="duration"/>
  <xsd:element id="dsgx_ScheduleOfCashSettledRestrictedShareUnitPlanActivityTableTextBlock" name="ScheduleOfCashSettledRestrictedShareUnitPlanActivityTableTextBlock" nillable="true" substitutionGroup="xbrli:item" type="nonnum:textBlockItemType" xbrli:periodType="duration"/>
  <xsd:element id="dsgx_ScheduleOfFutureMinimumRentalPaymentsForLeasesTableTextBlock" name="ScheduleOfFutureMinimumRentalPaymentsForLeasesTableTextBlock" nillable="true" substitutionGroup="xbrli:item" type="nonnum:textBlockItemType" xbrli:periodType="duration"/>
  <xsd:element abstract="true" id="dsgx_SeniorSecuredCreditFacilityMember" name="SeniorSecuredCreditFacilityMember" nillable="true" substitutionGroup="xbrli:item" type="nonnum:domainItemType" xbrli:periodType="duration"/>
  <xsd:element id="dsgx_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsAggregateIntrinsicValueExercisable" name="ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsAggregateIntrinsicValueExercisable" nillable="true" substitutionGroup="xbrli:item" type="xbrli:monetaryItemType" xbrli:balance="debit" xbrli:periodType="instant"/>
  <xsd:element id="dsgx_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsExercisable" name="ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsExercisable" nillable="true" substitutionGroup="xbrli:item" type="xbrli:sharesItemType" xbrli:periodType="instant"/>
  <xsd:element id="dsgx_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsExercisableWeightedAverageGrantDateFairValue" name="ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsExercisableWeightedAverageGrantDateFairValue" nillable="true" substitutionGroup="xbrli:item" type="num:perShareItemType" xbrli:periodType="instant"/>
  <xsd:element id="dsgx_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsExercisableWeightedAverageRemainingContractualTerm" name="ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsExercisableWeightedAverageRemainingContractualTerm" nillable="true" substitutionGroup="xbrli:item" type="xbrli:durationItemType" xbrli:periodType="duration"/>
  <xsd:element id="dsgx_ShareBasedCompensationArrangementByShareBasedPaymentAwardUnitsIssuedInPeriodWeightedAverageGrantDateFairValue" name="ShareBasedCompensationArrangementByShareBasedPaymentAwardUnitsIssuedInPeriodWeightedAverageGrantDateFairValue" nillable="true" substitutionGroup="xbrli:item" type="num:perShareItemType" xbrli:periodType="duration"/>
  <xsd:element id="dsgx_ShareCapitalTextBlock" name="ShareCapitalTextBlock" nillable="true" substitutionGroup="xbrli:item" type="nonnum:textBlockItemType" xbrli:periodType="duration"/>
  <xsd:element abstract="true" id="dsgx_ShareholderapprovedStockOptionPlanMember" name="ShareholderapprovedStockOptionPlanMember" nillable="true" substitutionGroup="xbrli:item" type="nonnum:domainItemType" xbrli:periodType="duration"/>
  <xsd:element id="dsgx_ShelfProspectusMaximumAmount" name="ShelfProspectusMaximumAmount" nillable="true" substitutionGroup="xbrli:item" type="xbrli:monetaryItemType" xbrli:balance="credit" xbrli:periodType="instant"/>
  <xsd:element abstract="true" id="dsgx_ShelfProspectusMember" name="ShelfProspectusMember" nillable="true" substitutionGroup="xbrli:item" type="nonnum:domainItemType" xbrli:periodType="duration"/>
  <xsd:element id="dsgx_ShelfProspectusPeriod" name="ShelfProspectusPeriod" nillable="true" substitutionGroup="xbrli:item" type="xbrli:durationItemType" xbrli:periodType="duration"/>
  <xsd:element abstract="true" id="dsgx_ShipRushMember" name="ShipRushMember" nillable="true" substitutionGroup="xbrli:item" type="nonnum:domainItemType" xbrli:periodType="duration"/>
  <xsd:element abstract="true" id="dsgx_StepcomMember" name="StepcomMember" nillable="true" substitutionGroup="xbrli:item" type="nonnum:domainItemType" xbrli:periodType="duration"/>
  <xsd:element id="dsgx_StockIssuedDuringPeriodSharesOptionsAndShareUnitsExercised" name="StockIssuedDuringPeriodSharesOptionsAndShareUnitsExercised" nillable="true" substitutionGroup="xbrli:item" type="xbrli:sharesItemType" xbrli:periodType="duration"/>
  <xsd:element abstract="true" id="dsgx_StockOptionsTreasuryStockMethodMember" name="StockOptionsTreasuryStockMethodMember" nillable="true" substitutionGroup="xbrli:item" type="nonnum:domainItemType" xbrli:periodType="duration"/>
  <xsd:element abstract="true" id="dsgx_TaxYear2021Member" name="TaxYear2021Member" nillable="true" substitutionGroup="xbrli:item" type="nonnum:domainItemType" xbrli:periodType="duration"/>
  <xsd:element abstract="true" id="dsgx_TaxYear2022Member" name="TaxYear2022Member" nillable="true" substitutionGroup="xbrli:item" type="nonnum:domainItemType" xbrli:periodType="duration"/>
  <xsd:element abstract="true" id="dsgx_TaxYear2023Member" name="TaxYear2023Member" nillable="true" substitutionGroup="xbrli:item" type="nonnum:domainItemType" xbrli:periodType="duration"/>
  <xsd:element abstract="true" id="dsgx_TaxYear2024Member" name="TaxYear2024Member" nillable="true" substitutionGroup="xbrli:item" type="nonnum:domainItemType" xbrli:periodType="duration"/>
  <xsd:element abstract="true" id="dsgx_TaxYear2025Member" name="TaxYear2025Member" nillable="true" substitutionGroup="xbrli:item" type="nonnum:domainItemType" xbrli:periodType="duration"/>
  <xsd:element abstract="true" id="dsgx_The2018AcquisitionsMember" name="The2018AcquisitionsMember" nillable="true" substitutionGroup="xbrli:item" type="nonnum:domainItemType" xbrli:periodType="duration"/>
  <xsd:element abstract="true" id="dsgx_The2019AcquisitionsMember" name="The2019AcquisitionsMember" nillable="true" substitutionGroup="xbrli:item" type="nonnum:domainItemType" xbrli:periodType="duration"/>
  <xsd:element abstract="true" id="dsgx_The2020AcquisitionsMember" name="The2020AcquisitionsMember" nillable="true" substitutionGroup="xbrli:item" type="nonnum:domainItemType" xbrli:periodType="duration"/>
  <xsd:element abstract="true" id="dsgx_VelocityMailMember" name="VelocityMailMember" nillable="true" substitutionGroup="xbrli:item" type="nonnum:domainItemType" xbrli:periodType="duration"/>
  <xsd:element abstract="true" id="dsgx_VisualComplianceMember" name="VisualComplianceMember" nillable="true" substitutionGroup="xbrli:item" type="nonnum:domainItemType" xbrli:periodType="duration"/>
  <xsd:element abstract="true" id="dsgx_statement-statement--note-8-property-and-equipment-tables" name="statement-statement--note-8-property-and-equipment-tables" nillable="true" substitutionGroup="xbrli:item" type="xbrli:stringItemType" xbrli:periodType="duration"/>
  <xsd:element abstract="true" id="dsgx_statement-statement-note-10-goodwill-goodwill-details" name="statement-statement-note-10-goodwill-goodwill-details" nillable="true" substitutionGroup="xbrli:item" type="xbrli:stringItemType" xbrli:periodType="duration"/>
  <xsd:element abstract="true" id="dsgx_statement-statement-note-10-goodwill-tables" name="statement-statement-note-10-goodwill-tables" nillable="true" substitutionGroup="xbrli:item" type="xbrli:stringItemType" xbrli:periodType="duration"/>
  <xsd:element abstract="true" id="dsgx_statement-statement-note-11-accrued-liabilities-accrued-liabilities-details" name="statement-statement-note-11-accrued-liabilities-accrued-liabilities-details" nillable="true" substitutionGroup="xbrli:item" type="xbrli:stringItemType" xbrli:periodType="duration"/>
  <xsd:element abstract="true" id="dsgx_statement-statement-note-11-accrued-liabilities-tables" name="statement-statement-note-11-accrued-liabilities-tables" nillable="true" substitutionGroup="xbrli:item" type="xbrli:stringItemType" xbrli:periodType="duration"/>
  <xsd:element abstract="true" id="dsgx_statement-statement-note-12-debt-schedule-of-longterm-debt-details" name="statement-statement-note-12-debt-schedule-of-longterm-debt-details" nillable="true" substitutionGroup="xbrli:item" type="xbrli:stringItemType" xbrli:periodType="duration"/>
  <xsd:element abstract="true" id="dsgx_statement-statement-note-12-debt-tables" name="statement-statement-note-12-debt-tables" nillable="true" substitutionGroup="xbrli:item" type="xbrli:stringItemType" xbrli:periodType="duration"/>
  <xsd:element abstract="true" id="dsgx_statement-statement-note-13-leases-components-of-operating-lease-expense-details" name="statement-statement-note-13-leases-components-of-operating-lease-expense-details" nillable="true" substitutionGroup="xbrli:item" type="xbrli:stringItemType" xbrli:periodType="duration"/>
  <xsd:element abstract="true" id="dsgx_statement-statement-note-13-leases-lease-obligations-details" name="statement-statement-note-13-leases-lease-obligations-details" nillable="true" substitutionGroup="xbrli:item" type="xbrli:stringItemType" xbrli:periodType="duration"/>
  <xsd:element abstract="true" id="dsgx_statement-statement-note-13-leases-maturities-of-operating-lease-liabilities-details" name="statement-statement-note-13-leases-maturities-of-operating-lease-liabilities-details" nillable="true" substitutionGroup="xbrli:item" type="xbrli:stringItemType" xbrli:periodType="duration"/>
  <xsd:element abstract="true" id="dsgx_statement-statement-note-13-leases-tables" name="statement-statement-note-13-leases-tables" nillable="true" substitutionGroup="xbrli:item" type="xbrli:stringItemType" xbrli:periodType="duration"/>
  <xsd:element abstract="true" id="dsgx_statement-statement-note-15-share-capital-common-shares-outstanding-details" name="statement-statement-note-15-share-capital-common-shares-outstanding-details" nillable="true" substitutionGroup="xbrli:item" type="xbrli:stringItemType" xbrli:periodType="duration"/>
  <xsd:element abstract="true" id="dsgx_statement-statement-note-15-share-capital-tables" name="statement-statement-note-15-share-capital-tables" nillable="true" substitutionGroup="xbrli:item" type="xbrli:stringItemType" xbrli:periodType="duration"/>
  <xsd:element abstract="true" id="dsgx_statement-statement-note-16-earnings-per-share-computation-of-basic-and-diluted-earnings-per-share-details" name="statement-statement-note-16-earnings-per-share-computation-of-basic-and-diluted-earnings-per-share-details" nillable="true" substitutionGroup="xbrli:item" type="xbrli:stringItemType" xbrli:periodType="duration"/>
  <xsd:element abstract="true" id="dsgx_statement-statement-note-16-earnings-per-share-tables" name="statement-statement-note-16-earnings-per-share-tables" nillable="true" substitutionGroup="xbrli:item" type="xbrli:stringItemType" xbrli:periodType="duration"/>
  <xsd:element abstract="true" id="dsgx_statement-statement-note-17-stockbased-compensation-plans-assumptions-used-in-blackscholes-model-for-each-grant-details" name="statement-statement-note-17-stockbased-compensation-plans-assumptions-used-in-blackscholes-model-for-each-grant-details" nillable="true" substitutionGroup="xbrli:item" type="xbrli:stringItemType" xbrli:periodType="duration"/>
  <xsd:element abstract="true" id="dsgx_statement-statement-note-17-stockbased-compensation-plans-options-outstanding-and-options-exercisable-details" name="statement-statement-note-17-stockbased-compensation-plans-options-outstanding-and-options-exercisable-details" nillable="true" substitutionGroup="xbrli:item" type="xbrli:stringItemType" xbrli:periodType="duration"/>
  <xsd:element abstract="true" id="dsgx_statement-statement-note-17-stockbased-compensation-plans-summary-of-crsu-plan-activity-details" name="statement-statement-note-17-stockbased-compensation-plans-summary-of-crsu-plan-activity-details" nillable="true" substitutionGroup="xbrli:item" type="xbrli:stringItemType" xbrli:periodType="duration"/>
  <xsd:element abstract="true" id="dsgx_statement-statement-note-17-stockbased-compensation-plans-summary-of-nonvested-share-details" name="statement-statement-note-17-stockbased-compensation-plans-summary-of-nonvested-share-details" nillable="true" substitutionGroup="xbrli:item" type="xbrli:stringItemType" xbrli:periodType="duration"/>
  <xsd:element abstract="true" id="dsgx_statement-statement-note-17-stockbased-compensation-plans-summary-of-option-activity-details" name="statement-statement-note-17-stockbased-compensation-plans-summary-of-option-activity-details" nillable="true" substitutionGroup="xbrli:item" type="xbrli:stringItemType" xbrli:periodType="duration"/>
  <xsd:element abstract="true" id="dsgx_statement-statement-note-17-stockbased-compensation-plans-summary-of-performance-share-units-activity-details" name="statement-statement-note-17-stockbased-compensation-plans-summary-of-performance-share-units-activity-details" nillable="true" substitutionGroup="xbrli:item" type="xbrli:stringItemType" xbrli:periodType="duration"/>
  <xsd:element abstract="true" id="dsgx_statement-statement-note-17-stockbased-compensation-plans-summary-of-restricted-share-units-activity-details" name="statement-statement-note-17-stockbased-compensation-plans-summary-of-restricted-share-units-activity-details" nillable="true" substitutionGroup="xbrli:item" type="xbrli:stringItemType" xbrli:periodType="duration"/>
  <xsd:element abstract="true" id="dsgx_statement-statement-note-17-stockbased-compensation-plans-tables" name="statement-statement-note-17-stockbased-compensation-plans-tables" nillable="true" substitutionGroup="xbrli:item" type="xbrli:stringItemType" xbrli:periodType="duration"/>
  <xsd:element abstract="true" id="dsgx_statement-statement-note-17-stockbased-compensation-plans-total-estimated-stockbased-compensation-expense-details" name="statement-statement-note-17-stockbased-compensation-plans-total-estimated-stockbased-compensation-expense-details" nillable="true" substitutionGroup="xbrli:item" type="xbrli:stringItemType" xbrli:periodType="duration"/>
  <xsd:element abstract="true" id="dsgx_statement-statement-note-18-income-taxes-components-of-deferred-income-tax-assets-and-liabilities-details" name="statement-statement-note-18-income-taxes-components-of-deferred-income-tax-assets-and-liabilities-details" nillable="true" substitutionGroup="xbrli:item" type="xbrli:stringItemType" xbrli:periodType="duration"/>
  <xsd:element abstract="true" id="dsgx_statement-statement-note-18-income-taxes-income-loss-before-income-taxes-earned-by-tax-jurisdictions-details" name="statement-statement-note-18-income-taxes-income-loss-before-income-taxes-earned-by-tax-jurisdictions-details" nillable="true" substitutionGroup="xbrli:item" type="xbrli:stringItemType" xbrli:periodType="duration"/>
  <xsd:element abstract="true" id="dsgx_statement-statement-note-18-income-taxes-income-tax-expense-recovery-incurred-by-jurisdictions-details" name="statement-statement-note-18-income-taxes-income-tax-expense-recovery-incurred-by-jurisdictions-details" nillable="true" substitutionGroup="xbrli:item" type="xbrli:stringItemType" xbrli:periodType="duration"/>
  <xsd:element abstract="true" id="dsgx_statement-statement-note-18-income-taxes-income-tax-loss-carryforwards-expiration-dates-details" name="statement-statement-note-18-income-taxes-income-tax-loss-carryforwards-expiration-dates-details" nillable="true" substitutionGroup="xbrli:item" type="xbrli:stringItemType" xbrli:periodType="duration"/>
  <xsd:element abstract="true" id="dsgx_statement-statement-note-18-income-taxes-provision-recovery-for-income-taxes-from-the-expected-provision-at-the-statutory-rates-details" name="statement-statement-note-18-income-taxes-provision-recovery-for-income-taxes-from-the-expected-provision-at-the-statutory-rates-details" nillable="true" substitutionGroup="xbrli:item" type="xbrli:stringItemType" xbrli:periodType="duration"/>
  <xsd:element abstract="true" id="dsgx_statement-statement-note-18-income-taxes-reconciliation-of-the-total-estimated-liability-associated-with-uncertain-tax-provisions-details" name="statement-statement-note-18-income-taxes-reconciliation-of-the-total-estimated-liability-associated-with-uncertain-tax-provisions-details" nillable="true" substitutionGroup="xbrli:item" type="xbrli:stringItemType" xbrli:periodType="duration"/>
  <xsd:element abstract="true" id="dsgx_statement-statement-note-18-income-taxes-tables" name="statement-statement-note-18-income-taxes-tables" nillable="true" substitutionGroup="xbrli:item" type="xbrli:stringItemType" xbrli:periodType="duration"/>
  <xsd:element abstract="true" id="dsgx_statement-statement-note-19-contract-balances-performance-obligations-and-contract-costs-changes-in-deferred-revenue-and-contract-assets-details" name="statement-statement-note-19-contract-balances-performance-obligations-and-contract-costs-changes-in-deferred-revenue-and-contract-assets-details" nillable="true" substitutionGroup="xbrli:item" type="xbrli:stringItemType" xbrli:periodType="duration"/>
  <xsd:element abstract="true" id="dsgx_statement-statement-note-19-contract-balances-performance-obligations-and-contract-costs-tables" name="statement-statement-note-19-contract-balances-performance-obligations-and-contract-costs-tables" nillable="true" substitutionGroup="xbrli:item" type="xbrli:stringItemType" xbrli:periodType="duration"/>
  <xsd:element abstract="true" id="dsgx_statement-statement-note-20-other-charges-other-charges-included-in-consolidated-statements-of-operations-details" name="statement-statement-note-20-other-charges-other-charges-included-in-consolidated-statements-of-operations-details" nillable="true" substitutionGroup="xbrli:item" type="xbrli:stringItemType" xbrli:periodType="duration"/>
  <xsd:element abstract="true" id="dsgx_statement-statement-note-20-other-charges-tables" name="statement-statement-note-20-other-charges-tables" nillable="true" substitutionGroup="xbrli:item" type="xbrli:stringItemType" xbrli:periodType="duration"/>
  <xsd:element abstract="true" id="dsgx_statement-statement-note-21-supplemental-cash-flow-information-cash-flow-changes-in-operating-asset-and-liabilities-details" name="statement-statement-note-21-supplemental-cash-flow-information-cash-flow-changes-in-operating-asset-and-liabilities-details" nillable="true" substitutionGroup="xbrli:item" type="xbrli:stringItemType" xbrli:periodType="duration"/>
  <xsd:element abstract="true" id="dsgx_statement-statement-note-21-supplemental-cash-flow-information-tables" name="statement-statement-note-21-supplemental-cash-flow-information-tables" nillable="true" substitutionGroup="xbrli:item" type="xbrli:stringItemType" xbrli:periodType="duration"/>
  <xsd:element abstract="true" id="dsgx_statement-statement-note-22-segmented-information-longlived-assets-by-geographical-location-details" name="statement-statement-note-22-segmented-information-longlived-assets-by-geographical-location-details" nillable="true" substitutionGroup="xbrli:item" type="xbrli:stringItemType" xbrli:periodType="duration"/>
  <xsd:element abstract="true" id="dsgx_statement-statement-note-22-segmented-information-segmented-revenue-by-geographical-location-of-customer-details" name="statement-statement-note-22-segmented-information-segmented-revenue-by-geographical-location-of-customer-details" nillable="true" substitutionGroup="xbrli:item" type="xbrli:stringItemType" xbrli:periodType="duration"/>
  <xsd:element abstract="true" id="dsgx_statement-statement-note-22-segmented-information-segmented-revenue-by-revenue-type-details" name="statement-statement-note-22-segmented-information-segmented-revenue-by-revenue-type-details" nillable="true" substitutionGroup="xbrli:item" type="xbrli:stringItemType" xbrli:periodType="duration"/>
  <xsd:element abstract="true" id="dsgx_statement-statement-note-22-segmented-information-tables" name="statement-statement-note-22-segmented-information-tables" nillable="true" substitutionGroup="xbrli:item" type="xbrli:stringItemType" xbrli:periodType="duration"/>
  <xsd:element abstract="true" id="dsgx_statement-statement-note-3-acquisitions-acquired-intangible-assets-useful-lives-details" name="statement-statement-note-3-acquisitions-acquired-intangible-assets-useful-lives-details" nillable="true" substitutionGroup="xbrli:item" type="xbrli:stringItemType" xbrli:periodType="duration"/>
  <xsd:element abstract="true" id="dsgx_statement-statement-note-3-acquisitions-preliminary-purchase-price-allocation-for-businesses-acquired-details" name="statement-statement-note-3-acquisitions-preliminary-purchase-price-allocation-for-businesses-acquired-details" nillable="true" substitutionGroup="xbrli:item" type="xbrli:stringItemType" xbrli:periodType="duration"/>
  <xsd:element abstract="true" id="dsgx_statement-statement-note-3-acquisitions-preliminary-purchase-price-allocation-for-businesses-acquired-details-parentheticals" name="statement-statement-note-3-acquisitions-preliminary-purchase-price-allocation-for-businesses-acquired-details-parentheticals" nillable="true" substitutionGroup="xbrli:item" type="xbrli:stringItemType" xbrli:periodType="duration"/>
  <xsd:element abstract="true" id="dsgx_statement-statement-note-3-acquisitions-pro-forma-results-of-operations-details" name="statement-statement-note-3-acquisitions-pro-forma-results-of-operations-details" nillable="true" substitutionGroup="xbrli:item" type="xbrli:stringItemType" xbrli:periodType="duration"/>
  <xsd:element abstract="true" id="dsgx_statement-statement-note-3-acquisitions-tables" name="statement-statement-note-3-acquisitions-tables" nillable="true" substitutionGroup="xbrli:item" type="xbrli:stringItemType" xbrli:periodType="duration"/>
  <xsd:element abstract="true" id="dsgx_statement-statement-note-4-fair-value-measurements-derivative-instruments-at-fair-value-details" name="statement-statement-note-4-fair-value-measurements-derivative-instruments-at-fair-value-details" nillable="true" substitutionGroup="xbrli:item" type="xbrli:stringItemType" xbrli:periodType="duration"/>
  <xsd:element abstract="true" id="dsgx_statement-statement-note-4-fair-value-measurements-tables" name="statement-statement-note-4-fair-value-measurements-tables" nillable="true" substitutionGroup="xbrli:item" type="xbrli:stringItemType" xbrli:periodType="duration"/>
  <xsd:element abstract="true" id="dsgx_statement-statement-note-5-trade-receivables-tables" name="statement-statement-note-5-trade-receivables-tables" nillable="true" substitutionGroup="xbrli:item" type="xbrli:stringItemType" xbrli:periodType="duration"/>
  <xsd:element abstract="true" id="dsgx_statement-statement-note-5-trade-receivables-trade-receivables-details" name="statement-statement-note-5-trade-receivables-trade-receivables-details" nillable="true" substitutionGroup="xbrli:item" type="xbrli:stringItemType" xbrli:periodType="duration"/>
  <xsd:element abstract="true" id="dsgx_statement-statement-note-6-other-receivables-other-receivables-details" name="statement-statement-note-6-other-receivables-other-receivables-details" nillable="true" substitutionGroup="xbrli:item" type="xbrli:stringItemType" xbrli:periodType="duration"/>
  <xsd:element abstract="true" id="dsgx_statement-statement-note-6-other-receivables-tables" name="statement-statement-note-6-other-receivables-tables" nillable="true" substitutionGroup="xbrli:item" type="xbrli:stringItemType" xbrli:periodType="duration"/>
  <xsd:element abstract="true" id="dsgx_statement-statement-note-8-property-and-equipment-property-and-equipment-details" name="statement-statement-note-8-property-and-equipment-property-and-equipment-details" nillable="true" substitutionGroup="xbrli:item" type="xbrli:stringItemType" xbrli:periodType="duration"/>
  <xsd:element abstract="true" id="dsgx_statement-statement-note-9-intangible-assets-intangible-assets-details" name="statement-statement-note-9-intangible-assets-intangible-assets-details" nillable="true" substitutionGroup="xbrli:item" type="xbrli:stringItemType" xbrli:periodType="duration"/>
  <xsd:element abstract="true" id="dsgx_statement-statement-note-9-intangible-assets-tables" name="statement-statement-note-9-intangible-assets-tables" nillable="true" substitutionGroup="xbrli:item" type="xbrli:stringItemType" xbrli:periodType="duration"/>
  <xsd:element abstract="true" id="dsgx_statement-statement-significant-accounting-policies-policies" name="statement-statement-significant-accounting-policies-policies" nillable="true" substitutionGroup="xbrli:item" type="xbrli:stringItemType" xbrli:periodType="duration"/>
</xsd:schema>
</XBRL>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-101.CAL
<SEQUENCE>9
<FILENAME>dsgx-20200131_cal.xml
<DESCRIPTION>XBRL TAXONOMY EXTENSION CALCULATION LINKBASE
<TEXT>
<XBRL>
<?xml version="1.0" encoding="US-ASCII" standalone="no"?>
<!--Generated by ThunderDome XBRL - 07:00PM UTC 2020-04-03--><link:linkbase xmlns:link="http://www.xbrl.org/2003/linkbase" xmlns:xbrldt="http://xbrl.org/2005/xbrldt" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.xbrl.org/2003/linkbase http://www.xbrl.org/2003/xbrl-linkbase-2003-12-31.xsd">
  <link:roleRef roleURI="http://www.descartes.com/20200131/role/statement-note-13-leases-components-of-operating-lease-expense-details" xlink:href="dsgx-20200131.xsd#statement-note-13-leases-components-of-operating-lease-expense-details" xlink:type="simple"/>
  <link:calculationLink xlink:role="http://www.descartes.com/20200131/role/statement-note-13-leases-components-of-operating-lease-expense-details" xlink:type="extended">
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_LeaseCost" xlink:label="us-gaap_LeaseCost" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_OperatingLeaseCost" xlink:label="us-gaap_OperatingLeaseCost" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ShortTermLeaseCost" xlink:label="us-gaap_ShortTermLeaseCost" xlink:type="locator"/>
    <link:calculationArc order="0" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_LeaseCost" xlink:to="us-gaap_ShortTermLeaseCost" xlink:type="arc"/>
    <link:calculationArc order="1" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_LeaseCost" xlink:to="us-gaap_OperatingLeaseCost" xlink:type="arc"/>
  </link:calculationLink>
  <link:roleRef roleURI="http://www.descartes.com/20200131/role/statement-note-13-leases-maturities-of-operating-lease-liabilities-details" xlink:href="dsgx-20200131.xsd#statement-note-13-leases-maturities-of-operating-lease-liabilities-details" xlink:type="simple"/>
  <link:calculationLink xlink:role="http://www.descartes.com/20200131/role/statement-note-13-leases-maturities-of-operating-lease-liabilities-details" xlink:type="extended">
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueAfterYearFive" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueAfterYearFive" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFive" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFive" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFour" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFour" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearThree" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearThree" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearTwo" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearTwo" xlink:type="locator"/>
    <link:calculationArc order="0" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue" xlink:to="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFive" xlink:type="arc"/>
    <link:calculationArc order="1" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue" xlink:to="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueAfterYearFive" xlink:type="arc"/>
    <link:calculationArc order="2" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue" xlink:to="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearThree" xlink:type="arc"/>
    <link:calculationArc order="3" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue" xlink:to="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFour" xlink:type="arc"/>
    <link:calculationArc order="4" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue" xlink:to="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths" xlink:type="arc"/>
    <link:calculationArc order="5" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue" xlink:to="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearTwo" xlink:type="arc"/>
  </link:calculationLink>
  <link:roleRef roleURI="http://www.descartes.com/20200131/role/statement-note-13-leases-lease-obligations-details" xlink:href="dsgx-20200131.xsd#statement-note-13-leases-lease-obligations-details" xlink:type="simple"/>
  <link:calculationLink xlink:role="http://www.descartes.com/20200131/role/statement-note-13-leases-lease-obligations-details" xlink:type="extended">
    <link:loc xlink:href="dsgx-20200131.xsd#dsgx_ContractualObligationDueInEigthYear" xlink:label="dsgx_ContractualObligationDueInEigthYear" xlink:type="locator"/>
    <link:loc xlink:href="dsgx-20200131.xsd#dsgx_ContractualObligationDueInSeventhYear" xlink:label="dsgx_ContractualObligationDueInSeventhYear" xlink:type="locator"/>
    <link:loc xlink:href="dsgx-20200131.xsd#dsgx_ContractualObligationDueInSixthYear" xlink:label="dsgx_ContractualObligationDueInSixthYear" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ContractualObligation" xlink:label="us-gaap_ContractualObligation" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ContractualObligationDueInFifthYear" xlink:label="us-gaap_ContractualObligationDueInFifthYear" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ContractualObligationDueInFourthYear" xlink:label="us-gaap_ContractualObligationDueInFourthYear" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ContractualObligationDueInNextTwelveMonths" xlink:label="us-gaap_ContractualObligationDueInNextTwelveMonths" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ContractualObligationDueInSecondYear" xlink:label="us-gaap_ContractualObligationDueInSecondYear" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ContractualObligationDueInThirdYear" xlink:label="us-gaap_ContractualObligationDueInThirdYear" xlink:type="locator"/>
    <link:calculationArc order="0" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_ContractualObligation" xlink:to="dsgx_ContractualObligationDueInSeventhYear" xlink:type="arc"/>
    <link:calculationArc order="1" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_ContractualObligation" xlink:to="dsgx_ContractualObligationDueInSixthYear" xlink:type="arc"/>
    <link:calculationArc order="2" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_ContractualObligation" xlink:to="us-gaap_ContractualObligationDueInNextTwelveMonths" xlink:type="arc"/>
    <link:calculationArc order="3" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_ContractualObligation" xlink:to="us-gaap_ContractualObligationDueInFifthYear" xlink:type="arc"/>
    <link:calculationArc order="4" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_ContractualObligation" xlink:to="us-gaap_ContractualObligationDueInFourthYear" xlink:type="arc"/>
    <link:calculationArc order="5" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_ContractualObligation" xlink:to="dsgx_ContractualObligationDueInEigthYear" xlink:type="arc"/>
    <link:calculationArc order="6" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_ContractualObligation" xlink:to="us-gaap_ContractualObligationDueInThirdYear" xlink:type="arc"/>
    <link:calculationArc order="7" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_ContractualObligation" xlink:to="us-gaap_ContractualObligationDueInSecondYear" xlink:type="arc"/>
  </link:calculationLink>
  <link:roleRef roleURI="http://www.descartes.com/20200131/role/statement-consolidated-statements-of-cash-flows" xlink:href="dsgx-20200131.xsd#statement-consolidated-statements-of-cash-flows" xlink:type="simple"/>
  <link:calculationLink xlink:role="http://www.descartes.com/20200131/role/statement-consolidated-statements-of-cash-flows" xlink:type="extended">
    <link:loc xlink:href="dsgx-20200131.xsd#dsgx_DeferredTaxCharges" xlink:label="dsgx_DeferredTaxCharges" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_AmortizationOfIntangibleAssets" xlink:label="us-gaap_AmortizationOfIntangibleAssets" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_CashAndCashEquivalentsPeriodIncreaseDecrease" xlink:label="us-gaap_CashAndCashEquivalentsPeriodIncreaseDecrease" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_DeferredIncomeTaxExpenseBenefit" xlink:label="us-gaap_DeferredIncomeTaxExpenseBenefit" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_Depreciation" xlink:label="us-gaap_Depreciation" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_EffectOfExchangeRateOnCashAndCashEquivalents" xlink:label="us-gaap_EffectOfExchangeRateOnCashAndCashEquivalents" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_IncreaseDecreaseInOperatingCapital" xlink:label="us-gaap_IncreaseDecreaseInOperatingCapital" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_NetCashProvidedByUsedInFinancingActivities" xlink:label="us-gaap_NetCashProvidedByUsedInFinancingActivities" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_NetCashProvidedByUsedInInvestingActivities" xlink:label="us-gaap_NetCashProvidedByUsedInInvestingActivities" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_NetCashProvidedByUsedInOperatingActivities" xlink:label="us-gaap_NetCashProvidedByUsedInOperatingActivities" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_NetIncomeLoss" xlink:label="us-gaap_NetIncomeLoss" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_OtherNoncashIncomeExpense" xlink:label="us-gaap_OtherNoncashIncomeExpense" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_PaymentForContingentConsiderationLiabilityFinancingActivities" xlink:label="us-gaap_PaymentForContingentConsiderationLiabilityFinancingActivities" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_PaymentsOfDebtIssuanceCosts" xlink:label="us-gaap_PaymentsOfDebtIssuanceCosts" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_PaymentsToAcquireBusinessesNetOfCashAcquired" xlink:label="us-gaap_PaymentsToAcquireBusinessesNetOfCashAcquired" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_PaymentsToAcquirePropertyPlantAndEquipment" xlink:label="us-gaap_PaymentsToAcquirePropertyPlantAndEquipment" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ProceedsFromIssuanceOfCommonStock" xlink:label="us-gaap_ProceedsFromIssuanceOfCommonStock" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ProceedsFromLinesOfCredit" xlink:label="us-gaap_ProceedsFromLinesOfCredit" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_RepaymentsOfDebt" xlink:label="us-gaap_RepaymentsOfDebt" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ShareBasedCompensation" xlink:label="us-gaap_ShareBasedCompensation" xlink:type="locator"/>
    <link:calculationArc order="0" weight="-1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivities" xlink:to="us-gaap_IncreaseDecreaseInOperatingCapital" xlink:type="arc"/>
    <link:calculationArc order="1" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivities" xlink:to="us-gaap_AmortizationOfIntangibleAssets" xlink:type="arc"/>
    <link:calculationArc order="2" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivities" xlink:to="us-gaap_Depreciation" xlink:type="arc"/>
    <link:calculationArc order="3" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivities" xlink:to="dsgx_DeferredTaxCharges" xlink:type="arc"/>
    <link:calculationArc order="4" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivities" xlink:to="us-gaap_NetIncomeLoss" xlink:type="arc"/>
    <link:calculationArc order="5" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivities" xlink:to="us-gaap_DeferredIncomeTaxExpenseBenefit" xlink:type="arc"/>
    <link:calculationArc order="6" weight="-1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivities" xlink:to="us-gaap_OtherNoncashIncomeExpense" xlink:type="arc"/>
    <link:calculationArc order="7" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivities" xlink:to="us-gaap_ShareBasedCompensation" xlink:type="arc"/>
    <link:calculationArc order="0" weight="-1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInInvestingActivities" xlink:to="us-gaap_PaymentsToAcquireBusinessesNetOfCashAcquired" xlink:type="arc"/>
    <link:calculationArc order="1" weight="-1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInInvestingActivities" xlink:to="us-gaap_PaymentsToAcquirePropertyPlantAndEquipment" xlink:type="arc"/>
    <link:calculationArc order="0" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInFinancingActivities" xlink:to="us-gaap_ProceedsFromLinesOfCredit" xlink:type="arc"/>
    <link:calculationArc order="1" weight="-1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInFinancingActivities" xlink:to="us-gaap_PaymentForContingentConsiderationLiabilityFinancingActivities" xlink:type="arc"/>
    <link:calculationArc order="2" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInFinancingActivities" xlink:to="us-gaap_ProceedsFromIssuanceOfCommonStock" xlink:type="arc"/>
    <link:calculationArc order="3" weight="-1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInFinancingActivities" xlink:to="us-gaap_PaymentsOfDebtIssuanceCosts" xlink:type="arc"/>
    <link:calculationArc order="4" weight="-1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInFinancingActivities" xlink:to="us-gaap_RepaymentsOfDebt" xlink:type="arc"/>
    <link:calculationArc order="0" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_CashAndCashEquivalentsPeriodIncreaseDecrease" xlink:to="us-gaap_NetCashProvidedByUsedInOperatingActivities" xlink:type="arc"/>
    <link:calculationArc order="1" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_CashAndCashEquivalentsPeriodIncreaseDecrease" xlink:to="us-gaap_EffectOfExchangeRateOnCashAndCashEquivalents" xlink:type="arc"/>
    <link:calculationArc order="2" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_CashAndCashEquivalentsPeriodIncreaseDecrease" xlink:to="us-gaap_NetCashProvidedByUsedInFinancingActivities" xlink:type="arc"/>
    <link:calculationArc order="3" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_CashAndCashEquivalentsPeriodIncreaseDecrease" xlink:to="us-gaap_NetCashProvidedByUsedInInvestingActivities" xlink:type="arc"/>
  </link:calculationLink>
  <link:roleRef roleURI="http://www.descartes.com/20200131/role/statement-note-5-trade-receivables-trade-receivables-details" xlink:href="dsgx-20200131.xsd#statement-note-5-trade-receivables-trade-receivables-details" xlink:type="simple"/>
  <link:calculationLink xlink:role="http://www.descartes.com/20200131/role/statement-note-5-trade-receivables-trade-receivables-details" xlink:type="extended">
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_AccountsReceivableGrossCurrent" xlink:label="us-gaap_AccountsReceivableGrossCurrent" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_AccountsReceivableNetCurrent" xlink:label="us-gaap_AccountsReceivableNetCurrent" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent" xlink:label="us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent" xlink:type="locator"/>
    <link:calculationArc order="0" weight="-1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_AccountsReceivableNetCurrent" xlink:to="us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent" xlink:type="arc"/>
    <link:calculationArc order="1" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_AccountsReceivableNetCurrent" xlink:to="us-gaap_AccountsReceivableGrossCurrent" xlink:type="arc"/>
  </link:calculationLink>
  <link:roleRef roleURI="http://www.descartes.com/20200131/role/statement-note-6-other-receivables-other-receivables-details" xlink:href="dsgx-20200131.xsd#statement-note-6-other-receivables-other-receivables-details" xlink:type="simple"/>
  <link:calculationLink xlink:role="http://www.descartes.com/20200131/role/statement-note-6-other-receivables-other-receivables-details" xlink:type="extended">
    <link:loc xlink:href="dsgx-20200131.xsd#dsgx_NetWorkingCapitalAdjustmentsReceivableFromAcquisitions" xlink:label="dsgx_NetWorkingCapitalAdjustmentsReceivableFromAcquisitions" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_OtherAssetsCurrent" xlink:label="us-gaap_OtherAssetsCurrent" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_OtherReceivablesNetCurrent" xlink:label="us-gaap_OtherReceivablesNetCurrent" xlink:type="locator"/>
    <link:calculationArc order="0" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_OtherReceivablesNetCurrent" xlink:to="us-gaap_OtherAssetsCurrent" xlink:type="arc"/>
    <link:calculationArc order="1" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_OtherReceivablesNetCurrent" xlink:to="dsgx_NetWorkingCapitalAdjustmentsReceivableFromAcquisitions" xlink:type="arc"/>
  </link:calculationLink>
  <link:roleRef roleURI="http://www.descartes.com/20200131/role/statement-note-11-accrued-liabilities-accrued-liabilities-details" xlink:href="dsgx-20200131.xsd#statement-note-11-accrued-liabilities-accrued-liabilities-details" xlink:type="simple"/>
  <link:calculationLink xlink:role="http://www.descartes.com/20200131/role/statement-note-11-accrued-liabilities-accrued-liabilities-details" xlink:type="extended">
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_AccruedLiabilitiesCurrent" xlink:label="us-gaap_AccruedLiabilitiesCurrent" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_AccruedProfessionalFeesCurrent" xlink:label="us-gaap_AccruedProfessionalFeesCurrent" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_EmployeeRelatedLiabilitiesCurrent" xlink:label="us-gaap_EmployeeRelatedLiabilitiesCurrent" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_OtherAccruedLiabilitiesCurrent" xlink:label="us-gaap_OtherAccruedLiabilitiesCurrent" xlink:type="locator"/>
    <link:calculationArc order="0" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_AccruedLiabilitiesCurrent" xlink:to="us-gaap_OtherAccruedLiabilitiesCurrent" xlink:type="arc"/>
    <link:calculationArc order="1" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_AccruedLiabilitiesCurrent" xlink:to="us-gaap_AccruedProfessionalFeesCurrent" xlink:type="arc"/>
    <link:calculationArc order="2" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_AccruedLiabilitiesCurrent" xlink:to="us-gaap_EmployeeRelatedLiabilitiesCurrent" xlink:type="arc"/>
  </link:calculationLink>
  <link:roleRef roleURI="http://www.descartes.com/20200131/role/statement-consolidated-balance-sheets" xlink:href="dsgx-20200131.xsd#statement-consolidated-balance-sheets" xlink:type="simple"/>
  <link:calculationLink xlink:role="http://www.descartes.com/20200131/role/statement-consolidated-balance-sheets" xlink:type="extended">
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_AccountsPayableCurrent" xlink:label="us-gaap_AccountsPayableCurrent" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_AccountsReceivableNetCurrent" xlink:label="us-gaap_AccountsReceivableNetCurrent" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_AccruedIncomeTaxesCurrent" xlink:label="us-gaap_AccruedIncomeTaxesCurrent" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_AccruedIncomeTaxesNoncurrent" xlink:label="us-gaap_AccruedIncomeTaxesNoncurrent" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_AccruedLiabilitiesCurrent" xlink:label="us-gaap_AccruedLiabilitiesCurrent" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax" xlink:label="us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_AdditionalPaidInCapitalCommonStock" xlink:label="us-gaap_AdditionalPaidInCapitalCommonStock" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_Assets" xlink:label="us-gaap_Assets" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_AssetsCurrent" xlink:label="us-gaap_AssetsCurrent" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_CashAndCashEquivalentsAtCarryingValue" xlink:label="us-gaap_CashAndCashEquivalentsAtCarryingValue" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_CommitmentsAndContingencies" xlink:label="us-gaap_CommitmentsAndContingencies" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_CommonStockValue" xlink:label="us-gaap_CommonStockValue" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ContractWithCustomerLiabilityCurrent" xlink:label="us-gaap_ContractWithCustomerLiabilityCurrent" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_DeferredIncomeTaxAssetsNet" xlink:label="us-gaap_DeferredIncomeTaxAssetsNet" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_DeferredIncomeTaxLiabilitiesNet" xlink:label="us-gaap_DeferredIncomeTaxLiabilitiesNet" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_DeferredRevenueNoncurrent" xlink:label="us-gaap_DeferredRevenueNoncurrent" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_Goodwill" xlink:label="us-gaap_Goodwill" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_IntangibleAssetsNetExcludingGoodwill" xlink:label="us-gaap_IntangibleAssetsNetExcludingGoodwill" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_InventoryNet" xlink:label="us-gaap_InventoryNet" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_Liabilities" xlink:label="us-gaap_Liabilities" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_LiabilitiesAndStockholdersEquity" xlink:label="us-gaap_LiabilitiesAndStockholdersEquity" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_LiabilitiesCurrent" xlink:label="us-gaap_LiabilitiesCurrent" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_LongTermDebtNoncurrent" xlink:label="us-gaap_LongTermDebtNoncurrent" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_OperatingLeaseLiabilityCurrent" xlink:label="us-gaap_OperatingLeaseLiabilityCurrent" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_OperatingLeaseLiabilityNoncurrent" xlink:label="us-gaap_OperatingLeaseLiabilityNoncurrent" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_OperatingLeaseRightOfUseAsset" xlink:label="us-gaap_OperatingLeaseRightOfUseAsset" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_OtherAssetsNoncurrent" xlink:label="us-gaap_OtherAssetsNoncurrent" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_OtherReceivablesNetCurrent" xlink:label="us-gaap_OtherReceivablesNetCurrent" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_PrepaidExpenseAndOtherAssetsCurrent" xlink:label="us-gaap_PrepaidExpenseAndOtherAssetsCurrent" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_PropertyPlantAndEquipmentNet" xlink:label="us-gaap_PropertyPlantAndEquipmentNet" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_RetainedEarningsAccumulatedDeficit" xlink:label="us-gaap_RetainedEarningsAccumulatedDeficit" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_StockholdersEquity" xlink:label="us-gaap_StockholdersEquity" xlink:type="locator"/>
    <link:calculationArc order="0" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_AssetsCurrent" xlink:to="us-gaap_CashAndCashEquivalentsAtCarryingValue" xlink:type="arc"/>
    <link:calculationArc order="1" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_AssetsCurrent" xlink:to="us-gaap_InventoryNet" xlink:type="arc"/>
    <link:calculationArc order="2" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_AssetsCurrent" xlink:to="us-gaap_PrepaidExpenseAndOtherAssetsCurrent" xlink:type="arc"/>
    <link:calculationArc order="3" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_AssetsCurrent" xlink:to="us-gaap_OtherReceivablesNetCurrent" xlink:type="arc"/>
    <link:calculationArc order="4" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_AssetsCurrent" xlink:to="us-gaap_AccountsReceivableNetCurrent" xlink:type="arc"/>
    <link:calculationArc order="0" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_Assets" xlink:to="us-gaap_OperatingLeaseRightOfUseAsset" xlink:type="arc"/>
    <link:calculationArc order="1" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_Assets" xlink:to="us-gaap_PropertyPlantAndEquipmentNet" xlink:type="arc"/>
    <link:calculationArc order="2" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_Assets" xlink:to="us-gaap_OtherAssetsNoncurrent" xlink:type="arc"/>
    <link:calculationArc order="3" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_Assets" xlink:to="us-gaap_AssetsCurrent" xlink:type="arc"/>
    <link:calculationArc order="4" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_Assets" xlink:to="us-gaap_Goodwill" xlink:type="arc"/>
    <link:calculationArc order="5" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_Assets" xlink:to="us-gaap_IntangibleAssetsNetExcludingGoodwill" xlink:type="arc"/>
    <link:calculationArc order="6" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_Assets" xlink:to="us-gaap_DeferredIncomeTaxAssetsNet" xlink:type="arc"/>
    <link:calculationArc order="0" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_LiabilitiesCurrent" xlink:to="us-gaap_OperatingLeaseLiabilityCurrent" xlink:type="arc"/>
    <link:calculationArc order="1" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_LiabilitiesCurrent" xlink:to="us-gaap_AccruedLiabilitiesCurrent" xlink:type="arc"/>
    <link:calculationArc order="2" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_LiabilitiesCurrent" xlink:to="us-gaap_AccountsPayableCurrent" xlink:type="arc"/>
    <link:calculationArc order="3" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_LiabilitiesCurrent" xlink:to="us-gaap_ContractWithCustomerLiabilityCurrent" xlink:type="arc"/>
    <link:calculationArc order="4" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_LiabilitiesCurrent" xlink:to="us-gaap_AccruedIncomeTaxesCurrent" xlink:type="arc"/>
    <link:calculationArc order="0" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_Liabilities" xlink:to="us-gaap_DeferredIncomeTaxLiabilitiesNet" xlink:type="arc"/>
    <link:calculationArc order="1" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_Liabilities" xlink:to="us-gaap_AccruedIncomeTaxesNoncurrent" xlink:type="arc"/>
    <link:calculationArc order="2" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_Liabilities" xlink:to="us-gaap_DeferredRevenueNoncurrent" xlink:type="arc"/>
    <link:calculationArc order="3" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_Liabilities" xlink:to="us-gaap_OperatingLeaseLiabilityNoncurrent" xlink:type="arc"/>
    <link:calculationArc order="4" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_Liabilities" xlink:to="us-gaap_LongTermDebtNoncurrent" xlink:type="arc"/>
    <link:calculationArc order="5" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_Liabilities" xlink:to="us-gaap_LiabilitiesCurrent" xlink:type="arc"/>
    <link:calculationArc order="0" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_StockholdersEquity" xlink:to="us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax" xlink:type="arc"/>
    <link:calculationArc order="1" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_StockholdersEquity" xlink:to="us-gaap_AdditionalPaidInCapitalCommonStock" xlink:type="arc"/>
    <link:calculationArc order="2" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_StockholdersEquity" xlink:to="us-gaap_CommonStockValue" xlink:type="arc"/>
    <link:calculationArc order="3" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_StockholdersEquity" xlink:to="us-gaap_RetainedEarningsAccumulatedDeficit" xlink:type="arc"/>
    <link:calculationArc order="0" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_LiabilitiesAndStockholdersEquity" xlink:to="us-gaap_CommitmentsAndContingencies" xlink:type="arc"/>
    <link:calculationArc order="1" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_LiabilitiesAndStockholdersEquity" xlink:to="us-gaap_StockholdersEquity" xlink:type="arc"/>
    <link:calculationArc order="2" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_LiabilitiesAndStockholdersEquity" xlink:to="us-gaap_Liabilities" xlink:type="arc"/>
  </link:calculationLink>
  <link:roleRef roleURI="http://www.descartes.com/20200131/role/statement-consolidated-statements-of-operations-" xlink:href="dsgx-20200131.xsd#statement-consolidated-statements-of-operations-" xlink:type="simple"/>
  <link:calculationLink xlink:role="http://www.descartes.com/20200131/role/statement-consolidated-statements-of-operations-" xlink:type="extended">
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_AmortizationOfIntangibleAssets" xlink:label="us-gaap_AmortizationOfIntangibleAssets" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_CostOfGoodsAndServicesSold" xlink:label="us-gaap_CostOfGoodsAndServicesSold" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_CurrentIncomeTaxExpenseBenefit" xlink:label="us-gaap_CurrentIncomeTaxExpenseBenefit" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_DeferredIncomeTaxExpenseBenefit" xlink:label="us-gaap_DeferredIncomeTaxExpenseBenefit" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_GeneralAndAdministrativeExpense" xlink:label="us-gaap_GeneralAndAdministrativeExpense" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_GrossProfit" xlink:label="us-gaap_GrossProfit" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesMinorityInterestAndIncomeLossFromEquityMethodInvestments" xlink:label="us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesMinorityInterestAndIncomeLossFromEquityMethodInvestments" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_IncomeTaxExpenseBenefit" xlink:label="us-gaap_IncomeTaxExpenseBenefit" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_InterestExpense" xlink:label="us-gaap_InterestExpense" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_InvestmentIncomeNet" xlink:label="us-gaap_InvestmentIncomeNet" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_NetIncomeLoss" xlink:label="us-gaap_NetIncomeLoss" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_OperatingExpenses" xlink:label="us-gaap_OperatingExpenses" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_OperatingIncomeLoss" xlink:label="us-gaap_OperatingIncomeLoss" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_OtherNonoperatingExpense" xlink:label="us-gaap_OtherNonoperatingExpense" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ResearchAndDevelopmentExpense" xlink:label="us-gaap_ResearchAndDevelopmentExpense" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax" xlink:label="us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_SellingAndMarketingExpense" xlink:label="us-gaap_SellingAndMarketingExpense" xlink:type="locator"/>
    <link:calculationArc order="0" weight="-1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_GrossProfit" xlink:to="us-gaap_CostOfGoodsAndServicesSold" xlink:type="arc"/>
    <link:calculationArc order="1" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_GrossProfit" xlink:to="us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax" xlink:type="arc"/>
    <link:calculationArc order="0" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_OperatingExpenses" xlink:to="us-gaap_AmortizationOfIntangibleAssets" xlink:type="arc"/>
    <link:calculationArc order="1" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_OperatingExpenses" xlink:to="us-gaap_OtherNonoperatingExpense" xlink:type="arc"/>
    <link:calculationArc order="2" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_OperatingExpenses" xlink:to="us-gaap_GeneralAndAdministrativeExpense" xlink:type="arc"/>
    <link:calculationArc order="3" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_OperatingExpenses" xlink:to="us-gaap_ResearchAndDevelopmentExpense" xlink:type="arc"/>
    <link:calculationArc order="4" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_OperatingExpenses" xlink:to="us-gaap_SellingAndMarketingExpense" xlink:type="arc"/>
    <link:calculationArc order="0" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesMinorityInterestAndIncomeLossFromEquityMethodInvestments" xlink:to="us-gaap_InvestmentIncomeNet" xlink:type="arc"/>
    <link:calculationArc order="1" weight="-1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesMinorityInterestAndIncomeLossFromEquityMethodInvestments" xlink:to="us-gaap_InterestExpense" xlink:type="arc"/>
    <link:calculationArc order="2" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesMinorityInterestAndIncomeLossFromEquityMethodInvestments" xlink:to="us-gaap_OperatingIncomeLoss" xlink:type="arc"/>
    <link:calculationArc order="0" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_IncomeTaxExpenseBenefit" xlink:to="us-gaap_DeferredIncomeTaxExpenseBenefit" xlink:type="arc"/>
    <link:calculationArc order="1" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_IncomeTaxExpenseBenefit" xlink:to="us-gaap_CurrentIncomeTaxExpenseBenefit" xlink:type="arc"/>
    <link:calculationArc order="0" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetIncomeLoss" xlink:to="us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesMinorityInterestAndIncomeLossFromEquityMethodInvestments" xlink:type="arc"/>
    <link:calculationArc order="1" weight="-1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetIncomeLoss" xlink:to="us-gaap_IncomeTaxExpenseBenefit" xlink:type="arc"/>
  </link:calculationLink>
  <link:roleRef roleURI="http://www.descartes.com/20200131/role/statement-note-8-property-and-equipment-property-and-equipment-details" xlink:href="dsgx-20200131.xsd#statement-note-8-property-and-equipment-property-and-equipment-details" xlink:type="simple"/>
  <link:calculationLink xlink:role="http://www.descartes.com/20200131/role/statement-note-8-property-and-equipment-property-and-equipment-details" xlink:type="extended">
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment" xlink:label="us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_PropertyPlantAndEquipmentGross" xlink:label="us-gaap_PropertyPlantAndEquipmentGross" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_PropertyPlantAndEquipmentNet" xlink:label="us-gaap_PropertyPlantAndEquipmentNet" xlink:type="locator"/>
    <link:calculationArc order="0" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_PropertyPlantAndEquipmentNet" xlink:to="us-gaap_PropertyPlantAndEquipmentGross" xlink:type="arc"/>
    <link:calculationArc order="1" weight="-1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_PropertyPlantAndEquipmentNet" xlink:to="us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment" xlink:type="arc"/>
  </link:calculationLink>
  <link:roleRef roleURI="http://www.descartes.com/20200131/role/statement-note-9-intangible-assets-intangible-assets-details" xlink:href="dsgx-20200131.xsd#statement-note-9-intangible-assets-intangible-assets-details" xlink:type="simple"/>
  <link:calculationLink xlink:role="http://www.descartes.com/20200131/role/statement-note-9-intangible-assets-intangible-assets-details" xlink:type="extended">
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization" xlink:label="us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetsGross" xlink:label="us-gaap_FiniteLivedIntangibleAssetsGross" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetsNet" xlink:label="us-gaap_FiniteLivedIntangibleAssetsNet" xlink:type="locator"/>
    <link:calculationArc order="0" weight="-1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_FiniteLivedIntangibleAssetsNet" xlink:to="us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization" xlink:type="arc"/>
    <link:calculationArc order="1" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_FiniteLivedIntangibleAssetsNet" xlink:to="us-gaap_FiniteLivedIntangibleAssetsGross" xlink:type="arc"/>
  </link:calculationLink>
  <link:roleRef roleURI="http://www.descartes.com/20200131/role/statement-note-18-income-taxes-components-of-deferred-income-tax-assets-and-liabilities-details" xlink:href="dsgx-20200131.xsd#statement-note-18-income-taxes-components-of-deferred-income-tax-assets-and-liabilities-details" xlink:type="simple"/>
  <link:calculationLink xlink:role="http://www.descartes.com/20200131/role/statement-note-18-income-taxes-components-of-deferred-income-tax-assets-and-liabilities-details" xlink:type="extended">
    <link:loc xlink:href="dsgx-20200131.xsd#dsgx_DeferredTaxAssetsLiabilitesNet1" xlink:label="dsgx_DeferredTaxAssetsLiabilitesNet1" xlink:type="locator"/>
    <link:loc xlink:href="dsgx-20200131.xsd#dsgx_DeferredTaxAssetsNetBeforeValuationAllowance" xlink:label="dsgx_DeferredTaxAssetsNetBeforeValuationAllowance" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_DeferredIncomeTaxLiabilities" xlink:label="us-gaap_DeferredIncomeTaxLiabilities" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_DeferredTaxAssetsGross" xlink:label="us-gaap_DeferredTaxAssetsGross" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_DeferredTaxAssetsOperatingLossCarryforwards" xlink:label="us-gaap_DeferredTaxAssetsOperatingLossCarryforwards" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_DeferredTaxAssetsPropertyPlantAndEquipment" xlink:label="us-gaap_DeferredTaxAssetsPropertyPlantAndEquipment" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_DeferredTaxAssetsTaxCreditCarryforwardsResearch" xlink:label="us-gaap_DeferredTaxAssetsTaxCreditCarryforwardsResearch" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAccruedLiabilities" xlink:label="us-gaap_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAccruedLiabilities" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_DeferredTaxAssetsValuationAllowance" xlink:label="us-gaap_DeferredTaxAssetsValuationAllowance" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_DeferredTaxLiabilitiesGoodwillAndIntangibleAssetsIntangibleAssets" xlink:label="us-gaap_DeferredTaxLiabilitiesGoodwillAndIntangibleAssetsIntangibleAssets" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_DeferredTaxLiabilitiesOther" xlink:label="us-gaap_DeferredTaxLiabilitiesOther" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_DeferredTaxLiabilitiesPropertyPlantAndEquipment" xlink:label="us-gaap_DeferredTaxLiabilitiesPropertyPlantAndEquipment" xlink:type="locator"/>
    <link:calculationArc order="0" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_DeferredTaxAssetsGross" xlink:to="us-gaap_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAccruedLiabilities" xlink:type="arc"/>
    <link:calculationArc order="1" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_DeferredTaxAssetsGross" xlink:to="us-gaap_DeferredTaxAssetsTaxCreditCarryforwardsResearch" xlink:type="arc"/>
    <link:calculationArc order="2" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_DeferredTaxAssetsGross" xlink:to="us-gaap_DeferredTaxAssetsPropertyPlantAndEquipment" xlink:type="arc"/>
    <link:calculationArc order="3" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_DeferredTaxAssetsGross" xlink:to="us-gaap_DeferredTaxAssetsOperatingLossCarryforwards" xlink:type="arc"/>
    <link:calculationArc order="0" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_DeferredIncomeTaxLiabilities" xlink:to="us-gaap_DeferredTaxLiabilitiesOther" xlink:type="arc"/>
    <link:calculationArc order="1" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_DeferredIncomeTaxLiabilities" xlink:to="us-gaap_DeferredTaxLiabilitiesPropertyPlantAndEquipment" xlink:type="arc"/>
    <link:calculationArc order="2" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_DeferredIncomeTaxLiabilities" xlink:to="us-gaap_DeferredTaxLiabilitiesGoodwillAndIntangibleAssetsIntangibleAssets" xlink:type="arc"/>
    <link:calculationArc order="0" weight="-1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="dsgx_DeferredTaxAssetsNetBeforeValuationAllowance" xlink:to="us-gaap_DeferredIncomeTaxLiabilities" xlink:type="arc"/>
    <link:calculationArc order="1" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="dsgx_DeferredTaxAssetsNetBeforeValuationAllowance" xlink:to="us-gaap_DeferredTaxAssetsGross" xlink:type="arc"/>
    <link:calculationArc order="0" weight="-1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="dsgx_DeferredTaxAssetsLiabilitesNet1" xlink:to="us-gaap_DeferredTaxAssetsValuationAllowance" xlink:type="arc"/>
    <link:calculationArc order="1" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="dsgx_DeferredTaxAssetsLiabilitesNet1" xlink:to="dsgx_DeferredTaxAssetsNetBeforeValuationAllowance" xlink:type="arc"/>
  </link:calculationLink>
  <link:roleRef roleURI="http://www.descartes.com/20200131/role/statement-consolidated-statements-of-comprehensive-income" xlink:href="dsgx-20200131.xsd#statement-consolidated-statements-of-comprehensive-income" xlink:type="simple"/>
  <link:calculationLink xlink:role="http://www.descartes.com/20200131/role/statement-consolidated-statements-of-comprehensive-income" xlink:type="extended">
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ComprehensiveIncomeNetOfTax" xlink:label="us-gaap_ComprehensiveIncomeNetOfTax" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_NetIncomeLoss" xlink:label="us-gaap_NetIncomeLoss" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax" xlink:label="us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_OtherComprehensiveIncomeLossNetOfTax" xlink:label="us-gaap_OtherComprehensiveIncomeLossNetOfTax" xlink:type="locator"/>
    <link:calculationArc order="0" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_OtherComprehensiveIncomeLossNetOfTax" xlink:to="us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax" xlink:type="arc"/>
    <link:calculationArc order="0" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_ComprehensiveIncomeNetOfTax" xlink:to="us-gaap_NetIncomeLoss" xlink:type="arc"/>
    <link:calculationArc order="1" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_ComprehensiveIncomeNetOfTax" xlink:to="us-gaap_OtherComprehensiveIncomeLossNetOfTax" xlink:type="arc"/>
  </link:calculationLink>
</link:linkbase>
</XBRL>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-101.DEF
<SEQUENCE>10
<FILENAME>dsgx-20200131_def.xml
<DESCRIPTION>XBRL TAXONOMY EXTENSION DEFINITION LINKBASE
<TEXT>
<XBRL>
<?xml version="1.0" encoding="US-ASCII" standalone="no"?>
<!--Generated by ThunderDome XBRL - 07:00PM UTC 2020-04-03--><link:linkbase xmlns:link="http://www.xbrl.org/2003/linkbase" xmlns:xbrldt="http://xbrl.org/2005/xbrldt" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.xbrl.org/2003/linkbase http://www.xbrl.org/2003/xbrl-linkbase-2003-12-31.xsd">
  <link:arcroleRef arcroleURI="http://xbrl.org/int/dim/arcrole/all" xlink:href="http://www.xbrl.org/2005/xbrldt-2005.xsd#all" xlink:type="simple"/>
  <link:arcroleRef arcroleURI="http://xbrl.org/int/dim/arcrole/domain-member" xlink:href="http://www.xbrl.org/2005/xbrldt-2005.xsd#domain-member" xlink:type="simple"/>
  <link:arcroleRef arcroleURI="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:href="http://www.xbrl.org/2005/xbrldt-2005.xsd#dimension-domain" xlink:type="simple"/>
  <link:arcroleRef arcroleURI="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:href="http://www.xbrl.org/2005/xbrldt-2005.xsd#hypercube-dimension" xlink:type="simple"/>
  <link:arcroleRef arcroleURI="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:href="http://www.xbrl.org/2005/xbrldt-2005.xsd#dimension-default" xlink:type="simple"/>
  <link:roleRef roleURI="http://www.descartes.com/20200131/role/statement-note-21-supplemental-cash-flow-information" xlink:href="dsgx-20200131.xsd#statement-note-21-supplemental-cash-flow-information" xlink:type="simple"/>
  <link:definitionLink xlink:role="http://www.descartes.com/20200131/role/statement-note-21-supplemental-cash-flow-information" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_CashFlowSupplementalDisclosuresTextBlock" xlink:label="us-gaap_CashFlowSupplementalDisclosuresTextBlock" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_DisclosureTextBlockAbstract" xlink:label="us-gaap_DisclosureTextBlockAbstract" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_DisclosureTextBlockAbstract" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain-default" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xbrldt:contextElement="segment" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_DisclosureTextBlockAbstract" xlink:to="us-gaap_CashFlowSupplementalDisclosuresTextBlock" xlink:type="arc"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://www.descartes.com/20200131/role/statement-note-20-other-charges" xlink:href="dsgx-20200131.xsd#statement-note-20-other-charges" xlink:type="simple"/>
  <link:definitionLink xlink:role="http://www.descartes.com/20200131/role/statement-note-20-other-charges" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_DisclosureTextBlockAbstract" xlink:label="us-gaap_DisclosureTextBlockAbstract" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_OtherIncomeAndOtherExpenseDisclosureTextBlock" xlink:label="us-gaap_OtherIncomeAndOtherExpenseDisclosureTextBlock" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_DisclosureTextBlockAbstract" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain-default" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xbrldt:contextElement="segment" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_DisclosureTextBlockAbstract" xlink:to="us-gaap_OtherIncomeAndOtherExpenseDisclosureTextBlock" xlink:type="arc"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://www.descartes.com/20200131/role/statement-note-11-accrued-liabilities" xlink:href="dsgx-20200131.xsd#statement-note-11-accrued-liabilities" xlink:type="simple"/>
  <link:definitionLink xlink:role="http://www.descartes.com/20200131/role/statement-note-11-accrued-liabilities" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_AccountsPayableAndAccruedLiabilitiesDisclosureTextBlock" xlink:label="us-gaap_AccountsPayableAndAccruedLiabilitiesDisclosureTextBlock" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_DisclosureTextBlockAbstract" xlink:label="us-gaap_DisclosureTextBlockAbstract" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_DisclosureTextBlockAbstract" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain-default" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xbrldt:contextElement="segment" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_DisclosureTextBlockAbstract" xlink:to="us-gaap_AccountsPayableAndAccruedLiabilitiesDisclosureTextBlock" xlink:type="arc"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://www.descartes.com/20200131/role/statement-note-10-goodwill" xlink:href="dsgx-20200131.xsd#statement-note-10-goodwill" xlink:type="simple"/>
  <link:definitionLink xlink:role="http://www.descartes.com/20200131/role/statement-note-10-goodwill" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_DisclosureTextBlockAbstract" xlink:label="us-gaap_DisclosureTextBlockAbstract" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_GoodwillDisclosureTextBlock" xlink:label="us-gaap_GoodwillDisclosureTextBlock" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_DisclosureTextBlockAbstract" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain-default" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xbrldt:contextElement="segment" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_DisclosureTextBlockAbstract" xlink:to="us-gaap_GoodwillDisclosureTextBlock" xlink:type="arc"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://www.descartes.com/20200131/role/statement--note-8-property-and-equipment-" xlink:href="dsgx-20200131.xsd#statement--note-8-property-and-equipment-" xlink:type="simple"/>
  <link:definitionLink xlink:role="http://www.descartes.com/20200131/role/statement--note-8-property-and-equipment-" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_DisclosureTextBlockAbstract" xlink:label="us-gaap_DisclosureTextBlockAbstract" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_PropertyPlantAndEquipmentDisclosureTextBlock" xlink:label="us-gaap_PropertyPlantAndEquipmentDisclosureTextBlock" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_DisclosureTextBlockAbstract" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain-default" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xbrldt:contextElement="segment" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_DisclosureTextBlockAbstract" xlink:to="us-gaap_PropertyPlantAndEquipmentDisclosureTextBlock" xlink:type="arc"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://www.descartes.com/20200131/role/statement-note-1-description-of-the-business" xlink:href="dsgx-20200131.xsd#statement-note-1-description-of-the-business" xlink:type="simple"/>
  <link:definitionLink xlink:role="http://www.descartes.com/20200131/role/statement-note-1-description-of-the-business" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_BusinessDescriptionAndBasisOfPresentationTextBlock" xlink:label="us-gaap_BusinessDescriptionAndBasisOfPresentationTextBlock" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_DisclosureTextBlockAbstract" xlink:label="us-gaap_DisclosureTextBlockAbstract" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_DisclosureTextBlockAbstract" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain-default" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xbrldt:contextElement="segment" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_DisclosureTextBlockAbstract" xlink:to="us-gaap_BusinessDescriptionAndBasisOfPresentationTextBlock" xlink:type="arc"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://www.descartes.com/20200131/role/statement-document-and-entity-information" xlink:href="dsgx-20200131.xsd#statement-document-and-entity-information" xlink:type="simple"/>
  <link:definitionLink xlink:role="http://www.descartes.com/20200131/role/statement-document-and-entity-information" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_AmendmentFlag" xlink:label="dei_AmendmentFlag" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_CurrentFiscalYearEndDate" xlink:label="dei_CurrentFiscalYearEndDate" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_DocumentFiscalPeriodFocus" xlink:label="dei_DocumentFiscalPeriodFocus" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_DocumentFiscalYearFocus" xlink:label="dei_DocumentFiscalYearFocus" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_DocumentInformationLineItems" xlink:label="dei_DocumentInformationLineItems" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_DocumentInformationTable" xlink:label="dei_DocumentInformationTable" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_DocumentPeriodEndDate" xlink:label="dei_DocumentPeriodEndDate" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_DocumentType" xlink:label="dei_DocumentType" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_EntityCentralIndexKey" xlink:label="dei_EntityCentralIndexKey" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_EntityCommonStockSharesOutstanding" xlink:label="dei_EntityCommonStockSharesOutstanding" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_EntityCurrentReportingStatus" xlink:label="dei_EntityCurrentReportingStatus" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_EntityEmergingGrowthCompany" xlink:label="dei_EntityEmergingGrowthCompany" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_EntityInteractiveDataCurrent" xlink:label="dei_EntityInteractiveDataCurrent" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_EntityRegistrantName" xlink:label="dei_EntityRegistrantName" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="dei_DocumentInformationTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain-default" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xbrldt:contextElement="segment" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="dei_DocumentInformationLineItems" xlink:to="dei_DocumentInformationTable" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="dei_DocumentInformationLineItems" xlink:to="dei_EntityRegistrantName" xlink:type="arc"/>
    <link:definitionArc order="2" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="dei_DocumentInformationLineItems" xlink:to="dei_EntityCentralIndexKey" xlink:type="arc"/>
    <link:definitionArc order="3" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="dei_DocumentInformationLineItems" xlink:to="dei_CurrentFiscalYearEndDate" xlink:type="arc"/>
    <link:definitionArc order="5" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="dei_DocumentInformationLineItems" xlink:to="dei_EntityCurrentReportingStatus" xlink:type="arc"/>
    <link:definitionArc order="8" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="dei_DocumentInformationLineItems" xlink:to="dei_EntityEmergingGrowthCompany" xlink:type="arc"/>
    <link:definitionArc order="10" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="dei_DocumentInformationLineItems" xlink:to="dei_EntityInteractiveDataCurrent" xlink:type="arc"/>
    <link:definitionArc order="11" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="dei_DocumentInformationLineItems" xlink:to="dei_EntityCommonStockSharesOutstanding" xlink:type="arc"/>
    <link:definitionArc order="13" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="dei_DocumentInformationLineItems" xlink:to="dei_DocumentType" xlink:type="arc"/>
    <link:definitionArc order="14" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="dei_DocumentInformationLineItems" xlink:to="dei_DocumentPeriodEndDate" xlink:type="arc"/>
    <link:definitionArc order="15" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="dei_DocumentInformationLineItems" xlink:to="dei_DocumentFiscalYearFocus" xlink:type="arc"/>
    <link:definitionArc order="16" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="dei_DocumentInformationLineItems" xlink:to="dei_DocumentFiscalPeriodFocus" xlink:type="arc"/>
    <link:definitionArc order="17" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="dei_DocumentInformationLineItems" xlink:to="dei_AmendmentFlag" xlink:type="arc"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://www.descartes.com/20200131/role/statement-consolidated-balance-sheets-parentheticals" xlink:href="dsgx-20200131.xsd#statement-consolidated-balance-sheets-parentheticals" xlink:type="simple"/>
  <link:definitionLink xlink:role="http://www.descartes.com/20200131/role/statement-consolidated-balance-sheets-parentheticals" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_CommonStockSharesIssued" xlink:label="us-gaap_CommonStockSharesIssued" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_CommonStockSharesOutstanding" xlink:label="us-gaap_CommonStockSharesOutstanding" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain-default" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xbrldt:contextElement="segment" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_CommonStockSharesIssued" xlink:type="arc"/>
    <link:definitionArc order="2" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_CommonStockSharesOutstanding" xlink:type="arc"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://www.descartes.com/20200131/role/statement-consolidated-statements-of-comprehensive-income-parentheticals" xlink:href="dsgx-20200131.xsd#statement-consolidated-statements-of-comprehensive-income-parentheticals" xlink:type="simple"/>
  <link:definitionLink xlink:role="http://www.descartes.com/20200131/role/statement-consolidated-statements-of-comprehensive-income-parentheticals" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTranslationAdjustmentTax" xlink:label="us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTranslationAdjustmentTax" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain-default" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xbrldt:contextElement="segment" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTranslationAdjustmentTax" xlink:type="arc"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://www.descartes.com/20200131/role/statement-note-2-basis-of-presentation" xlink:href="dsgx-20200131.xsd#statement-note-2-basis-of-presentation" xlink:type="simple"/>
  <link:definitionLink xlink:role="http://www.descartes.com/20200131/role/statement-note-2-basis-of-presentation" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="dsgx-20200131.xsd#dsgx_CashsettledRestrictedSharePlanMember" xlink:label="dsgx_CashsettledRestrictedSharePlanMember" xlink:type="locator"/>
    <link:loc xlink:href="dsgx-20200131.xsd#dsgx_DeferredShareUnitPlanMember" xlink:label="dsgx_DeferredShareUnitPlanMember" xlink:type="locator"/>
    <link:loc xlink:href="dsgx-20200131.xsd#dsgx_DirectorsAndOfficersMember" xlink:label="dsgx_DirectorsAndOfficersMember" xlink:type="locator"/>
    <link:loc xlink:href="dsgx-20200131.xsd#dsgx_ExistingTechnologyMember" xlink:label="dsgx_ExistingTechnologyMember" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/srt/2019/elts/srt-2019-01-31.xsd#srt_MaximumMember" xlink:label="srt_MaximumMember" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/srt/2019/elts/srt-2019-01-31.xsd#srt_MinimumMember" xlink:label="srt_MinimumMember" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/srt/2019/elts/srt-2019-01-31.xsd#srt_RangeAxis" xlink:label="srt_RangeAxis" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/srt/2019/elts/srt-2019-01-31.xsd#srt_RangeMember" xlink:label="srt_RangeMember" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/srt/2019/elts/srt-2019-01-31.xsd#srt_RangeMember" xlink:label="srt_RangeMember-default" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/srt/2019/elts/srt-2019-01-31.xsd#srt_TitleOfIndividualAxis" xlink:label="srt_TitleOfIndividualAxis" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/srt/2019/elts/srt-2019-01-31.xsd#srt_TitleOfIndividualWithRelationshipToEntityDomain" xlink:label="srt_TitleOfIndividualWithRelationshipToEntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/srt/2019/elts/srt-2019-01-31.xsd#srt_TitleOfIndividualWithRelationshipToEntityDomain" xlink:label="srt_TitleOfIndividualWithRelationshipToEntityDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_AccountingStandardsUpdate201409Member" xlink:label="us-gaap_AccountingStandardsUpdate201409Member" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_AccountingStandardsUpdate201602Member" xlink:label="us-gaap_AccountingStandardsUpdate201602Member" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_AccountingStandardsUpdate201606Member" xlink:label="us-gaap_AccountingStandardsUpdate201606Member" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_AccountsReceivableMember" xlink:label="us-gaap_AccountsReceivableMember" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_AdjustmentsForNewAccountingPronouncementsAxis" xlink:label="us-gaap_AdjustmentsForNewAccountingPronouncementsAxis" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_AwardTypeAxis" xlink:label="us-gaap_AwardTypeAxis" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ComputerEquipmentMember" xlink:label="us-gaap_ComputerEquipmentMember" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ConcentrationRiskBenchmarkDomain" xlink:label="us-gaap_ConcentrationRiskBenchmarkDomain" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ConcentrationRiskBenchmarkDomain" xlink:label="us-gaap_ConcentrationRiskBenchmarkDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ConcentrationRiskByBenchmarkAxis" xlink:label="us-gaap_ConcentrationRiskByBenchmarkAxis" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ConcentrationRiskByTypeAxis" xlink:label="us-gaap_ConcentrationRiskByTypeAxis" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ConcentrationRiskTypeDomain" xlink:label="us-gaap_ConcentrationRiskTypeDomain" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ConcentrationRiskTypeDomain" xlink:label="us-gaap_ConcentrationRiskTypeDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_CustomerConcentrationRiskMember" xlink:label="us-gaap_CustomerConcentrationRiskMember" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_CustomerRelationshipsMember" xlink:label="us-gaap_CustomerRelationshipsMember" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_DisclosureTextBlockAbstract" xlink:label="us-gaap_DisclosureTextBlockAbstract" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_EmployeeStockOptionMember" xlink:label="us-gaap_EmployeeStockOptionMember" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_EquityComponentDomain" xlink:label="us-gaap_EquityComponentDomain" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_EquityComponentDomain" xlink:label="us-gaap_EquityComponentDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis" xlink:label="us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain" xlink:label="us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain" xlink:label="us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_FurnitureAndFixturesMember" xlink:label="us-gaap_FurnitureAndFixturesMember" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_NoncompeteAgreementsMember" xlink:label="us-gaap_NoncompeteAgreementsMember" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_PerformanceSharesMember" xlink:label="us-gaap_PerformanceSharesMember" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_PropertyPlantAndEquipmentByTypeAxis" xlink:label="us-gaap_PropertyPlantAndEquipmentByTypeAxis" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_PropertyPlantAndEquipmentTypeDomain" xlink:label="us-gaap_PropertyPlantAndEquipmentTypeDomain" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_PropertyPlantAndEquipmentTypeDomain" xlink:label="us-gaap_PropertyPlantAndEquipmentTypeDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_RestrictedStockUnitsRSUMember" xlink:label="us-gaap_RestrictedStockUnitsRSUMember" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_RetainedEarningsMember" xlink:label="us-gaap_RetainedEarningsMember" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:label="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:label="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_SignificantAccountingPoliciesTextBlock" xlink:label="us-gaap_SignificantAccountingPoliciesTextBlock" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_StatementEquityComponentsAxis" xlink:label="us-gaap_StatementEquityComponentsAxis" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_TradeNamesMember" xlink:label="us-gaap_TradeNamesMember" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_TypeOfAdoptionMember" xlink:label="us-gaap_TypeOfAdoptionMember" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_TypeOfAdoptionMember" xlink:label="us-gaap_TypeOfAdoptionMember-default" xlink:type="locator"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_DisclosureTextBlockAbstract" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="srt_RangeAxis" xlink:to="srt_RangeMember" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="us-gaap_AdjustmentsForNewAccountingPronouncementsAxis" xlink:to="us-gaap_TypeOfAdoptionMember" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="us-gaap_StatementEquityComponentsAxis" xlink:to="us-gaap_EquityComponentDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="us-gaap_ConcentrationRiskByTypeAxis" xlink:to="us-gaap_ConcentrationRiskTypeDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="us-gaap_ConcentrationRiskByBenchmarkAxis" xlink:to="us-gaap_ConcentrationRiskBenchmarkDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="us-gaap_PropertyPlantAndEquipmentByTypeAxis" xlink:to="us-gaap_PropertyPlantAndEquipmentTypeDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="us-gaap_AwardTypeAxis" xlink:to="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis" xlink:to="us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="srt_TitleOfIndividualAxis" xlink:to="srt_TitleOfIndividualWithRelationshipToEntityDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_ConcentrationRiskByTypeAxis" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_ConcentrationRiskTypeDomain" xlink:to="us-gaap_CustomerConcentrationRiskMember" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="us-gaap_ConcentrationRiskByTypeAxis" xlink:to="us-gaap_ConcentrationRiskTypeDomain-default" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_ConcentrationRiskByBenchmarkAxis" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_ConcentrationRiskBenchmarkDomain" xlink:to="us-gaap_AccountsReceivableMember" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="us-gaap_ConcentrationRiskByBenchmarkAxis" xlink:to="us-gaap_ConcentrationRiskBenchmarkDomain-default" xlink:type="arc"/>
    <link:definitionArc order="2" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain" xlink:to="us-gaap_CustomerRelationshipsMember" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis" xlink:to="us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain-default" xlink:type="arc"/>
    <link:definitionArc order="3" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="srt_RangeAxis" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="srt_RangeMember" xlink:to="srt_MinimumMember" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="srt_RangeAxis" xlink:to="srt_RangeMember-default" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="srt_RangeMember" xlink:to="srt_MaximumMember" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain" xlink:to="dsgx_ExistingTechnologyMember" xlink:type="arc"/>
    <link:definitionArc order="2" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain" xlink:to="us-gaap_TradeNamesMember" xlink:type="arc"/>
    <link:definitionArc order="3" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain" xlink:to="us-gaap_NoncompeteAgreementsMember" xlink:type="arc"/>
    <link:definitionArc order="4" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_PropertyPlantAndEquipmentByTypeAxis" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_PropertyPlantAndEquipmentTypeDomain" xlink:to="us-gaap_ComputerEquipmentMember" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="us-gaap_PropertyPlantAndEquipmentByTypeAxis" xlink:to="us-gaap_PropertyPlantAndEquipmentTypeDomain-default" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_PropertyPlantAndEquipmentTypeDomain" xlink:to="us-gaap_FurnitureAndFixturesMember" xlink:type="arc"/>
    <link:definitionArc order="5" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_AwardTypeAxis" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:to="us-gaap_EmployeeStockOptionMember" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="us-gaap_AwardTypeAxis" xlink:to="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain-default" xlink:type="arc"/>
    <link:definitionArc order="6" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="srt_TitleOfIndividualAxis" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="srt_TitleOfIndividualWithRelationshipToEntityDomain" xlink:to="dsgx_DirectorsAndOfficersMember" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="srt_TitleOfIndividualAxis" xlink:to="srt_TitleOfIndividualWithRelationshipToEntityDomain-default" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:to="us-gaap_PerformanceSharesMember" xlink:type="arc"/>
    <link:definitionArc order="2" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:to="us-gaap_RestrictedStockUnitsRSUMember" xlink:type="arc"/>
    <link:definitionArc order="3" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:to="dsgx_DeferredShareUnitPlanMember" xlink:type="arc"/>
    <link:definitionArc order="4" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:to="dsgx_CashsettledRestrictedSharePlanMember" xlink:type="arc"/>
    <link:definitionArc order="7" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_AdjustmentsForNewAccountingPronouncementsAxis" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_TypeOfAdoptionMember" xlink:to="us-gaap_AccountingStandardsUpdate201409Member" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="us-gaap_AdjustmentsForNewAccountingPronouncementsAxis" xlink:to="us-gaap_TypeOfAdoptionMember-default" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_TypeOfAdoptionMember" xlink:to="us-gaap_AccountingStandardsUpdate201606Member" xlink:type="arc"/>
    <link:definitionArc order="8" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_StatementEquityComponentsAxis" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_EquityComponentDomain" xlink:to="us-gaap_RetainedEarningsMember" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="us-gaap_StatementEquityComponentsAxis" xlink:to="us-gaap_EquityComponentDomain-default" xlink:type="arc"/>
    <link:definitionArc order="2" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_TypeOfAdoptionMember" xlink:to="us-gaap_AccountingStandardsUpdate201602Member" xlink:type="arc"/>
    <link:definitionArc order="9" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain-default" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xbrldt:contextElement="segment" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_DisclosureTextBlockAbstract" xlink:to="us-gaap_SignificantAccountingPoliciesTextBlock" xlink:type="arc"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://www.descartes.com/20200131/role/statement-note-3-acquisitions" xlink:href="dsgx-20200131.xsd#statement-note-3-acquisitions" xlink:type="simple"/>
  <link:definitionLink xlink:role="http://www.descartes.com/20200131/role/statement-note-3-acquisitions" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="dsgx-20200131.xsd#dsgx_AljexSoftwareIncMember" xlink:label="dsgx_AljexSoftwareIncMember" xlink:type="locator"/>
    <link:loc xlink:href="dsgx-20200131.xsd#dsgx_BesttransportMember" xlink:label="dsgx_BesttransportMember" xlink:type="locator"/>
    <link:loc xlink:href="dsgx-20200131.xsd#dsgx_CoreTransportTechnologiesNzLimitedMember" xlink:label="dsgx_CoreTransportTechnologiesNzLimitedMember" xlink:type="locator"/>
    <link:loc xlink:href="dsgx-20200131.xsd#dsgx_MacroPointLLCMember" xlink:label="dsgx_MacroPointLLCMember" xlink:type="locator"/>
    <link:loc xlink:href="dsgx-20200131.xsd#dsgx_PCSTracIncMember" xlink:label="dsgx_PCSTracIncMember" xlink:type="locator"/>
    <link:loc xlink:href="dsgx-20200131.xsd#dsgx_PinPointMember" xlink:label="dsgx_PinPointMember" xlink:type="locator"/>
    <link:loc xlink:href="dsgx-20200131.xsd#dsgx_ShipRushMember" xlink:label="dsgx_ShipRushMember" xlink:type="locator"/>
    <link:loc xlink:href="dsgx-20200131.xsd#dsgx_StepcomMember" xlink:label="dsgx_StepcomMember" xlink:type="locator"/>
    <link:loc xlink:href="dsgx-20200131.xsd#dsgx_The2020AcquisitionsMember" xlink:label="dsgx_The2020AcquisitionsMember" xlink:type="locator"/>
    <link:loc xlink:href="dsgx-20200131.xsd#dsgx_VelocityMailMember" xlink:label="dsgx_VelocityMailMember" xlink:type="locator"/>
    <link:loc xlink:href="dsgx-20200131.xsd#dsgx_VisualComplianceMember" xlink:label="dsgx_VisualComplianceMember" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_BusinessAcquisitionAcquireeDomain" xlink:label="us-gaap_BusinessAcquisitionAcquireeDomain" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_BusinessAcquisitionAcquireeDomain" xlink:label="us-gaap_BusinessAcquisitionAcquireeDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_BusinessAcquisitionAxis" xlink:label="us-gaap_BusinessAcquisitionAxis" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_BusinessCombinationDisclosureTextBlock" xlink:label="us-gaap_BusinessCombinationDisclosureTextBlock" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_DisclosureTextBlockAbstract" xlink:label="us-gaap_DisclosureTextBlockAbstract" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_DisclosureTextBlockAbstract" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="us-gaap_BusinessAcquisitionAxis" xlink:to="us-gaap_BusinessAcquisitionAcquireeDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_BusinessAcquisitionAxis" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_BusinessAcquisitionAcquireeDomain" xlink:to="dsgx_VisualComplianceMember" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="us-gaap_BusinessAcquisitionAxis" xlink:to="us-gaap_BusinessAcquisitionAcquireeDomain-default" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_BusinessAcquisitionAcquireeDomain" xlink:to="dsgx_CoreTransportTechnologiesNzLimitedMember" xlink:type="arc"/>
    <link:definitionArc order="2" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_BusinessAcquisitionAcquireeDomain" xlink:to="dsgx_StepcomMember" xlink:type="arc"/>
    <link:definitionArc order="3" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_BusinessAcquisitionAcquireeDomain" xlink:to="dsgx_BesttransportMember" xlink:type="arc"/>
    <link:definitionArc order="4" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_BusinessAcquisitionAcquireeDomain" xlink:to="dsgx_The2020AcquisitionsMember" xlink:type="arc"/>
    <link:definitionArc order="5" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_BusinessAcquisitionAcquireeDomain" xlink:to="dsgx_AljexSoftwareIncMember" xlink:type="arc"/>
    <link:definitionArc order="6" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_BusinessAcquisitionAcquireeDomain" xlink:to="dsgx_VelocityMailMember" xlink:type="arc"/>
    <link:definitionArc order="7" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_BusinessAcquisitionAcquireeDomain" xlink:to="dsgx_PinPointMember" xlink:type="arc"/>
    <link:definitionArc order="8" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_BusinessAcquisitionAcquireeDomain" xlink:to="dsgx_MacroPointLLCMember" xlink:type="arc"/>
    <link:definitionArc order="9" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_BusinessAcquisitionAcquireeDomain" xlink:to="dsgx_PCSTracIncMember" xlink:type="arc"/>
    <link:definitionArc order="10" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_BusinessAcquisitionAcquireeDomain" xlink:to="dsgx_ShipRushMember" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain-default" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xbrldt:contextElement="segment" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_DisclosureTextBlockAbstract" xlink:to="us-gaap_BusinessCombinationDisclosureTextBlock" xlink:type="arc"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://www.descartes.com/20200131/role/statement-note-4-fair-value-measurements" xlink:href="dsgx-20200131.xsd#statement-note-4-fair-value-measurements" xlink:type="simple"/>
  <link:definitionLink xlink:role="http://www.descartes.com/20200131/role/statement-note-4-fair-value-measurements" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_DisclosureTextBlockAbstract" xlink:label="us-gaap_DisclosureTextBlockAbstract" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_FairValueDisclosuresTextBlock" xlink:label="us-gaap_FairValueDisclosuresTextBlock" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_GeneralAndAdministrativeExpenseMember" xlink:label="us-gaap_GeneralAndAdministrativeExpenseMember" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_IncomeStatementLocationAxis" xlink:label="us-gaap_IncomeStatementLocationAxis" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_IncomeStatementLocationDomain" xlink:label="us-gaap_IncomeStatementLocationDomain" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_IncomeStatementLocationDomain" xlink:label="us-gaap_IncomeStatementLocationDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_DisclosureTextBlockAbstract" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="us-gaap_IncomeStatementLocationAxis" xlink:to="us-gaap_IncomeStatementLocationDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_IncomeStatementLocationAxis" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_IncomeStatementLocationDomain" xlink:to="us-gaap_GeneralAndAdministrativeExpenseMember" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="us-gaap_IncomeStatementLocationAxis" xlink:to="us-gaap_IncomeStatementLocationDomain-default" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain-default" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xbrldt:contextElement="segment" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_DisclosureTextBlockAbstract" xlink:to="us-gaap_FairValueDisclosuresTextBlock" xlink:type="arc"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://www.descartes.com/20200131/role/statement-note-5-trade-receivables" xlink:href="dsgx-20200131.xsd#statement-note-5-trade-receivables" xlink:type="simple"/>
  <link:definitionLink xlink:role="http://www.descartes.com/20200131/role/statement-note-5-trade-receivables" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_DisclosureTextBlockAbstract" xlink:label="us-gaap_DisclosureTextBlockAbstract" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_LoansNotesTradeAndOtherReceivablesDisclosureTextBlock" xlink:label="us-gaap_LoansNotesTradeAndOtherReceivablesDisclosureTextBlock" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_DisclosureTextBlockAbstract" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain-default" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xbrldt:contextElement="segment" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_DisclosureTextBlockAbstract" xlink:to="us-gaap_LoansNotesTradeAndOtherReceivablesDisclosureTextBlock" xlink:type="arc"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://www.descartes.com/20200131/role/statement-note-6-other-receivables" xlink:href="dsgx-20200131.xsd#statement-note-6-other-receivables" xlink:type="simple"/>
  <link:definitionLink xlink:role="http://www.descartes.com/20200131/role/statement-note-6-other-receivables" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="dsgx-20200131.xsd#dsgx_OtherReceivablesTextBlock" xlink:label="dsgx_OtherReceivablesTextBlock" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_DisclosureTextBlockAbstract" xlink:label="us-gaap_DisclosureTextBlockAbstract" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_DisclosureTextBlockAbstract" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain-default" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xbrldt:contextElement="segment" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_DisclosureTextBlockAbstract" xlink:to="dsgx_OtherReceivablesTextBlock" xlink:type="arc"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://www.descartes.com/20200131/role/statement-note-7-inventory" xlink:href="dsgx-20200131.xsd#statement-note-7-inventory" xlink:type="simple"/>
  <link:definitionLink xlink:role="http://www.descartes.com/20200131/role/statement-note-7-inventory" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_DisclosureTextBlockAbstract" xlink:label="us-gaap_DisclosureTextBlockAbstract" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_InventoryDisclosureTextBlock" xlink:label="us-gaap_InventoryDisclosureTextBlock" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_DisclosureTextBlockAbstract" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain-default" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xbrldt:contextElement="segment" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_DisclosureTextBlockAbstract" xlink:to="us-gaap_InventoryDisclosureTextBlock" xlink:type="arc"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://www.descartes.com/20200131/role/statement-note-9-intangible-assets" xlink:href="dsgx-20200131.xsd#statement-note-9-intangible-assets" xlink:type="simple"/>
  <link:definitionLink xlink:role="http://www.descartes.com/20200131/role/statement-note-9-intangible-assets" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_DisclosureTextBlockAbstract" xlink:label="us-gaap_DisclosureTextBlockAbstract" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_IntangibleAssetsDisclosureTextBlock" xlink:label="us-gaap_IntangibleAssetsDisclosureTextBlock" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_DisclosureTextBlockAbstract" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain-default" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xbrldt:contextElement="segment" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_DisclosureTextBlockAbstract" xlink:to="us-gaap_IntangibleAssetsDisclosureTextBlock" xlink:type="arc"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://www.descartes.com/20200131/role/statement-note-12-debt" xlink:href="dsgx-20200131.xsd#statement-note-12-debt" xlink:type="simple"/>
  <link:definitionLink xlink:role="http://www.descartes.com/20200131/role/statement-note-12-debt" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="dsgx-20200131.xsd#dsgx_CanadaOrUsPrimeRateBaOrLiborMember" xlink:label="dsgx_CanadaOrUsPrimeRateBaOrLiborMember" xlink:type="locator"/>
    <link:loc xlink:href="dsgx-20200131.xsd#dsgx_LineOfCreditBorrowingsToSupportForeignExchangeAndInterestRateHedgingMember" xlink:label="dsgx_LineOfCreditBorrowingsToSupportForeignExchangeAndInterestRateHedgingMember" xlink:type="locator"/>
    <link:loc xlink:href="dsgx-20200131.xsd#dsgx_RevolvingOperatingCreditFacilityMember" xlink:label="dsgx_RevolvingOperatingCreditFacilityMember" xlink:type="locator"/>
    <link:loc xlink:href="dsgx-20200131.xsd#dsgx_SeniorSecuredCreditFacilityMember" xlink:label="dsgx_SeniorSecuredCreditFacilityMember" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/srt/2019/elts/srt-2019-01-31.xsd#srt_MaximumMember" xlink:label="srt_MaximumMember" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/srt/2019/elts/srt-2019-01-31.xsd#srt_MinimumMember" xlink:label="srt_MinimumMember" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/srt/2019/elts/srt-2019-01-31.xsd#srt_RangeAxis" xlink:label="srt_RangeAxis" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/srt/2019/elts/srt-2019-01-31.xsd#srt_RangeMember" xlink:label="srt_RangeMember" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/srt/2019/elts/srt-2019-01-31.xsd#srt_RangeMember" xlink:label="srt_RangeMember-default" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_CreditFacilityAxis" xlink:label="us-gaap_CreditFacilityAxis" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_CreditFacilityDomain" xlink:label="us-gaap_CreditFacilityDomain" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_CreditFacilityDomain" xlink:label="us-gaap_CreditFacilityDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_DebtDisclosureTextBlock" xlink:label="us-gaap_DebtDisclosureTextBlock" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_DebtInstrumentAxis" xlink:label="us-gaap_DebtInstrumentAxis" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_DebtInstrumentNameDomain" xlink:label="us-gaap_DebtInstrumentNameDomain" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_DebtInstrumentNameDomain" xlink:label="us-gaap_DebtInstrumentNameDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_DisclosureTextBlockAbstract" xlink:label="us-gaap_DisclosureTextBlockAbstract" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_VariableRateAxis" xlink:label="us-gaap_VariableRateAxis" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_VariableRateDomain" xlink:label="us-gaap_VariableRateDomain" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_VariableRateDomain" xlink:label="us-gaap_VariableRateDomain-default" xlink:type="locator"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_DisclosureTextBlockAbstract" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="srt_RangeAxis" xlink:to="srt_RangeMember" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="us-gaap_DebtInstrumentAxis" xlink:to="us-gaap_DebtInstrumentNameDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="us-gaap_CreditFacilityAxis" xlink:to="us-gaap_CreditFacilityDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="us-gaap_VariableRateAxis" xlink:to="us-gaap_VariableRateDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_CreditFacilityAxis" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_CreditFacilityDomain" xlink:to="dsgx_RevolvingOperatingCreditFacilityMember" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="us-gaap_CreditFacilityAxis" xlink:to="us-gaap_CreditFacilityDomain-default" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_DebtInstrumentAxis" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_DebtInstrumentNameDomain" xlink:to="dsgx_SeniorSecuredCreditFacilityMember" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="us-gaap_DebtInstrumentAxis" xlink:to="us-gaap_DebtInstrumentNameDomain-default" xlink:type="arc"/>
    <link:definitionArc order="2" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="srt_RangeAxis" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="srt_RangeMember" xlink:to="srt_MinimumMember" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="srt_RangeAxis" xlink:to="srt_RangeMember-default" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="srt_RangeMember" xlink:to="srt_MaximumMember" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_CreditFacilityDomain" xlink:to="dsgx_LineOfCreditBorrowingsToSupportForeignExchangeAndInterestRateHedgingMember" xlink:type="arc"/>
    <link:definitionArc order="3" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_VariableRateAxis" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_VariableRateDomain" xlink:to="dsgx_CanadaOrUsPrimeRateBaOrLiborMember" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="us-gaap_VariableRateAxis" xlink:to="us-gaap_VariableRateDomain-default" xlink:type="arc"/>
    <link:definitionArc order="2" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_CreditFacilityDomain" xlink:to="dsgx_SeniorSecuredCreditFacilityMember" xlink:type="arc"/>
    <link:definitionArc order="4" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain-default" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xbrldt:contextElement="segment" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_DisclosureTextBlockAbstract" xlink:to="us-gaap_DebtDisclosureTextBlock" xlink:type="arc"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://www.descartes.com/20200131/role/statement-note-13-leases" xlink:href="dsgx-20200131.xsd#statement-note-13-leases" xlink:type="simple"/>
  <link:definitionLink xlink:role="http://www.descartes.com/20200131/role/statement-note-13-leases" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/srt/2019/elts/srt-2019-01-31.xsd#srt_MaximumMember" xlink:label="srt_MaximumMember" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/srt/2019/elts/srt-2019-01-31.xsd#srt_MinimumMember" xlink:label="srt_MinimumMember" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/srt/2019/elts/srt-2019-01-31.xsd#srt_RangeAxis" xlink:label="srt_RangeAxis" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/srt/2019/elts/srt-2019-01-31.xsd#srt_RangeMember" xlink:label="srt_RangeMember" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/srt/2019/elts/srt-2019-01-31.xsd#srt_RangeMember" xlink:label="srt_RangeMember-default" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_DisclosureTextBlockAbstract" xlink:label="us-gaap_DisclosureTextBlockAbstract" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_LesseeOperatingLeasesTextBlock" xlink:label="us-gaap_LesseeOperatingLeasesTextBlock" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_DisclosureTextBlockAbstract" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="srt_RangeAxis" xlink:to="srt_RangeMember" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="srt_RangeAxis" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="srt_RangeMember" xlink:to="srt_MinimumMember" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="srt_RangeAxis" xlink:to="srt_RangeMember-default" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="srt_RangeMember" xlink:to="srt_MaximumMember" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain-default" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xbrldt:contextElement="segment" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_DisclosureTextBlockAbstract" xlink:to="us-gaap_LesseeOperatingLeasesTextBlock" xlink:type="arc"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://www.descartes.com/20200131/role/statement-note-14-commitments-contingencies-and-guarantees" xlink:href="dsgx-20200131.xsd#statement-note-14-commitments-contingencies-and-guarantees" xlink:type="simple"/>
  <link:definitionLink xlink:role="http://www.descartes.com/20200131/role/statement-note-14-commitments-contingencies-and-guarantees" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="dsgx-20200131.xsd#dsgx_PinpointAndCoreMember" xlink:label="dsgx_PinpointAndCoreMember" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_BusinessAcquisitionAcquireeDomain" xlink:label="us-gaap_BusinessAcquisitionAcquireeDomain" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_BusinessAcquisitionAcquireeDomain" xlink:label="us-gaap_BusinessAcquisitionAcquireeDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_BusinessAcquisitionAxis" xlink:label="us-gaap_BusinessAcquisitionAxis" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_CommitmentsAndContingenciesDisclosureTextBlock" xlink:label="us-gaap_CommitmentsAndContingenciesDisclosureTextBlock" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_DisclosureTextBlockAbstract" xlink:label="us-gaap_DisclosureTextBlockAbstract" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_DisclosureTextBlockAbstract" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="us-gaap_BusinessAcquisitionAxis" xlink:to="us-gaap_BusinessAcquisitionAcquireeDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_BusinessAcquisitionAxis" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_BusinessAcquisitionAcquireeDomain" xlink:to="dsgx_PinpointAndCoreMember" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="us-gaap_BusinessAcquisitionAxis" xlink:to="us-gaap_BusinessAcquisitionAcquireeDomain-default" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain-default" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xbrldt:contextElement="segment" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_DisclosureTextBlockAbstract" xlink:to="us-gaap_CommitmentsAndContingenciesDisclosureTextBlock" xlink:type="arc"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://www.descartes.com/20200131/role/statement-note-15-share-capital" xlink:href="dsgx-20200131.xsd#statement-note-15-share-capital" xlink:type="simple"/>
  <link:definitionLink xlink:role="http://www.descartes.com/20200131/role/statement-note-15-share-capital" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="dsgx-20200131.xsd#dsgx_ShareCapitalTextBlock" xlink:label="dsgx_ShareCapitalTextBlock" xlink:type="locator"/>
    <link:loc xlink:href="dsgx-20200131.xsd#dsgx_ShelfProspectusMember" xlink:label="dsgx_ShelfProspectusMember" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_DisclosureTextBlockAbstract" xlink:label="us-gaap_DisclosureTextBlockAbstract" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_SaleOfStockNameOfTransactionDomain" xlink:label="us-gaap_SaleOfStockNameOfTransactionDomain" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_SaleOfStockNameOfTransactionDomain" xlink:label="us-gaap_SaleOfStockNameOfTransactionDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_SubsidiarySaleOfStockAxis" xlink:label="us-gaap_SubsidiarySaleOfStockAxis" xlink:type="locator"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_DisclosureTextBlockAbstract" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="us-gaap_SubsidiarySaleOfStockAxis" xlink:to="us-gaap_SaleOfStockNameOfTransactionDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_SubsidiarySaleOfStockAxis" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_SaleOfStockNameOfTransactionDomain" xlink:to="dsgx_ShelfProspectusMember" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="us-gaap_SubsidiarySaleOfStockAxis" xlink:to="us-gaap_SaleOfStockNameOfTransactionDomain-default" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain-default" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xbrldt:contextElement="segment" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_DisclosureTextBlockAbstract" xlink:to="dsgx_ShareCapitalTextBlock" xlink:type="arc"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://www.descartes.com/20200131/role/statement-note-16-earnings-per-share" xlink:href="dsgx-20200131.xsd#statement-note-16-earnings-per-share" xlink:type="simple"/>
  <link:definitionLink xlink:role="http://www.descartes.com/20200131/role/statement-note-16-earnings-per-share" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="dsgx-20200131.xsd#dsgx_StockOptionsTreasuryStockMethodMember" xlink:label="dsgx_StockOptionsTreasuryStockMethodMember" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis" xlink:label="us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_AntidilutiveSecuritiesNameDomain" xlink:label="us-gaap_AntidilutiveSecuritiesNameDomain" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_AntidilutiveSecuritiesNameDomain" xlink:label="us-gaap_AntidilutiveSecuritiesNameDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_AwardTypeAxis" xlink:label="us-gaap_AwardTypeAxis" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_DisclosureTextBlockAbstract" xlink:label="us-gaap_DisclosureTextBlockAbstract" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_EarningsPerShareTextBlock" xlink:label="us-gaap_EarningsPerShareTextBlock" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_EmployeeStockOptionMember" xlink:label="us-gaap_EmployeeStockOptionMember" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:label="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:label="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_DisclosureTextBlockAbstract" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis" xlink:to="us-gaap_AntidilutiveSecuritiesNameDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="us-gaap_AwardTypeAxis" xlink:to="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_AwardTypeAxis" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:to="us-gaap_EmployeeStockOptionMember" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="us-gaap_AwardTypeAxis" xlink:to="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain-default" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_AntidilutiveSecuritiesNameDomain" xlink:to="dsgx_StockOptionsTreasuryStockMethodMember" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis" xlink:to="us-gaap_AntidilutiveSecuritiesNameDomain-default" xlink:type="arc"/>
    <link:definitionArc order="2" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain-default" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xbrldt:contextElement="segment" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_DisclosureTextBlockAbstract" xlink:to="us-gaap_EarningsPerShareTextBlock" xlink:type="arc"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://www.descartes.com/20200131/role/statement-note-17-stockbased-compensation-plans" xlink:href="dsgx-20200131.xsd#statement-note-17-stockbased-compensation-plans" xlink:type="simple"/>
  <link:definitionLink xlink:role="http://www.descartes.com/20200131/role/statement-note-17-stockbased-compensation-plans" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="dsgx-20200131.xsd#dsgx_CashsettledRestrictedShareUnitMember" xlink:label="dsgx_CashsettledRestrictedShareUnitMember" xlink:type="locator"/>
    <link:loc xlink:href="dsgx-20200131.xsd#dsgx_DeferredShareUnitPlanMember" xlink:label="dsgx_DeferredShareUnitPlanMember" xlink:type="locator"/>
    <link:loc xlink:href="dsgx-20200131.xsd#dsgx_OptionsGrantedOutsideOfShareholderApprovedStockOptionPlanMember" xlink:label="dsgx_OptionsGrantedOutsideOfShareholderApprovedStockOptionPlanMember" xlink:type="locator"/>
    <link:loc xlink:href="dsgx-20200131.xsd#dsgx_OutsideOfShareholderapprovedStockOptionPlanMember" xlink:label="dsgx_OutsideOfShareholderapprovedStockOptionPlanMember" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_AwardTypeAxis" xlink:label="us-gaap_AwardTypeAxis" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock" xlink:label="us-gaap_DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_DisclosureTextBlockAbstract" xlink:label="us-gaap_DisclosureTextBlockAbstract" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_EmployeeStockOptionMember" xlink:label="us-gaap_EmployeeStockOptionMember" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_PerformanceSharesMember" xlink:label="us-gaap_PerformanceSharesMember" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_PlanNameAxis" xlink:label="us-gaap_PlanNameAxis" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_PlanNameDomain" xlink:label="us-gaap_PlanNameDomain" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_PlanNameDomain" xlink:label="us-gaap_PlanNameDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_RestrictedStockUnitsRSUMember" xlink:label="us-gaap_RestrictedStockUnitsRSUMember" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:label="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:label="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_DisclosureTextBlockAbstract" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="us-gaap_AwardTypeAxis" xlink:to="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="us-gaap_PlanNameAxis" xlink:to="us-gaap_PlanNameDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_PlanNameAxis" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_PlanNameDomain" xlink:to="dsgx_OptionsGrantedOutsideOfShareholderApprovedStockOptionPlanMember" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="us-gaap_PlanNameAxis" xlink:to="us-gaap_PlanNameDomain-default" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_AwardTypeAxis" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:to="us-gaap_EmployeeStockOptionMember" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="us-gaap_AwardTypeAxis" xlink:to="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain-default" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_PlanNameDomain" xlink:to="dsgx_OutsideOfShareholderapprovedStockOptionPlanMember" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:to="us-gaap_PerformanceSharesMember" xlink:type="arc"/>
    <link:definitionArc order="2" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:to="us-gaap_RestrictedStockUnitsRSUMember" xlink:type="arc"/>
    <link:definitionArc order="2" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_PlanNameDomain" xlink:to="dsgx_DeferredShareUnitPlanMember" xlink:type="arc"/>
    <link:definitionArc order="3" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_PlanNameDomain" xlink:to="dsgx_CashsettledRestrictedShareUnitMember" xlink:type="arc"/>
    <link:definitionArc order="2" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain-default" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xbrldt:contextElement="segment" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_DisclosureTextBlockAbstract" xlink:to="us-gaap_DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock" xlink:type="arc"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://www.descartes.com/20200131/role/statement-note-18-income-taxes" xlink:href="dsgx-20200131.xsd#statement-note-18-income-taxes" xlink:type="simple"/>
  <link:definitionLink xlink:role="http://www.descartes.com/20200131/role/statement-note-18-income-taxes" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_DisclosureTextBlockAbstract" xlink:label="us-gaap_DisclosureTextBlockAbstract" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_IncomeTaxDisclosureTextBlock" xlink:label="us-gaap_IncomeTaxDisclosureTextBlock" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_DisclosureTextBlockAbstract" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain-default" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xbrldt:contextElement="segment" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_DisclosureTextBlockAbstract" xlink:to="us-gaap_IncomeTaxDisclosureTextBlock" xlink:type="arc"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://www.descartes.com/20200131/role/statement-note-19-contract-balances-performance-obligations-and-contract-costs" xlink:href="dsgx-20200131.xsd#statement-note-19-contract-balances-performance-obligations-and-contract-costs" xlink:type="simple"/>
  <link:definitionLink xlink:role="http://www.descartes.com/20200131/role/statement-note-19-contract-balances-performance-obligations-and-contract-costs" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_DisclosureTextBlockAbstract" xlink:label="us-gaap_DisclosureTextBlockAbstract" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_RevenueFromContractWithCustomerTextBlock" xlink:label="us-gaap_RevenueFromContractWithCustomerTextBlock" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_DisclosureTextBlockAbstract" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain-default" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xbrldt:contextElement="segment" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_DisclosureTextBlockAbstract" xlink:to="us-gaap_RevenueFromContractWithCustomerTextBlock" xlink:type="arc"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://www.descartes.com/20200131/role/statement-note-22-segmented-information" xlink:href="dsgx-20200131.xsd#statement-note-22-segmented-information" xlink:type="simple"/>
  <link:definitionLink xlink:role="http://www.descartes.com/20200131/role/statement-note-22-segmented-information" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_DisclosureTextBlockAbstract" xlink:label="us-gaap_DisclosureTextBlockAbstract" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_SegmentReportingDisclosureTextBlock" xlink:label="us-gaap_SegmentReportingDisclosureTextBlock" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_DisclosureTextBlockAbstract" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain-default" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xbrldt:contextElement="segment" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_DisclosureTextBlockAbstract" xlink:to="us-gaap_SegmentReportingDisclosureTextBlock" xlink:type="arc"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://www.descartes.com/20200131/role/statement-note-23-subsequent-event-" xlink:href="dsgx-20200131.xsd#statement-note-23-subsequent-event-" xlink:type="simple"/>
  <link:definitionLink xlink:role="http://www.descartes.com/20200131/role/statement-note-23-subsequent-event-" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="dsgx-20200131.xsd#dsgx_PeoplevoxLimitedMember" xlink:label="dsgx_PeoplevoxLimitedMember" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_BusinessAcquisitionAcquireeDomain" xlink:label="us-gaap_BusinessAcquisitionAcquireeDomain" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_BusinessAcquisitionAcquireeDomain" xlink:label="us-gaap_BusinessAcquisitionAcquireeDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_BusinessAcquisitionAxis" xlink:label="us-gaap_BusinessAcquisitionAxis" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_DisclosureTextBlockAbstract" xlink:label="us-gaap_DisclosureTextBlockAbstract" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_SubsequentEventMember" xlink:label="us-gaap_SubsequentEventMember" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_SubsequentEventTypeAxis" xlink:label="us-gaap_SubsequentEventTypeAxis" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_SubsequentEventTypeDomain" xlink:label="us-gaap_SubsequentEventTypeDomain" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_SubsequentEventTypeDomain" xlink:label="us-gaap_SubsequentEventTypeDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_SubsequentEventsTextBlock" xlink:label="us-gaap_SubsequentEventsTextBlock" xlink:type="locator"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_DisclosureTextBlockAbstract" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="us-gaap_BusinessAcquisitionAxis" xlink:to="us-gaap_BusinessAcquisitionAcquireeDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="us-gaap_SubsequentEventTypeAxis" xlink:to="us-gaap_SubsequentEventTypeDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_SubsequentEventTypeAxis" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_SubsequentEventTypeDomain" xlink:to="us-gaap_SubsequentEventMember" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="us-gaap_SubsequentEventTypeAxis" xlink:to="us-gaap_SubsequentEventTypeDomain-default" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_BusinessAcquisitionAxis" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_BusinessAcquisitionAcquireeDomain" xlink:to="dsgx_PeoplevoxLimitedMember" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="us-gaap_BusinessAcquisitionAxis" xlink:to="us-gaap_BusinessAcquisitionAcquireeDomain-default" xlink:type="arc"/>
    <link:definitionArc order="2" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain-default" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xbrldt:contextElement="segment" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_DisclosureTextBlockAbstract" xlink:to="us-gaap_SubsequentEventsTextBlock" xlink:type="arc"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://www.descartes.com/20200131/role/statement-significant-accounting-policies-policies" xlink:href="dsgx-20200131.xsd#statement-significant-accounting-policies-policies" xlink:type="simple"/>
  <link:definitionLink xlink:role="http://www.descartes.com/20200131/role/statement-significant-accounting-policies-policies" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_AccountingPoliciesAbstract" xlink:label="us-gaap_AccountingPoliciesAbstract" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_BasisOfAccountingPolicyPolicyTextBlock" xlink:label="us-gaap_BasisOfAccountingPolicyPolicyTextBlock" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_BusinessCombinationsPolicy" xlink:label="us-gaap_BusinessCombinationsPolicy" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_CashAndCashEquivalentsPolicyTextBlock" xlink:label="us-gaap_CashAndCashEquivalentsPolicyTextBlock" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ConsolidationPolicyTextBlock" xlink:label="us-gaap_ConsolidationPolicyTextBlock" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_EarningsPerSharePolicyTextBlock" xlink:label="us-gaap_EarningsPerSharePolicyTextBlock" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_FairValueOfFinancialInstrumentsPolicy" xlink:label="us-gaap_FairValueOfFinancialInstrumentsPolicy" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ForeignCurrencyTransactionsAndTranslationsPolicyTextBlock" xlink:label="us-gaap_ForeignCurrencyTransactionsAndTranslationsPolicyTextBlock" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_GoodwillAndIntangibleAssetsPolicyTextBlock" xlink:label="us-gaap_GoodwillAndIntangibleAssetsPolicyTextBlock" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ImpairmentOrDisposalOfLongLivedAssetsIncludingIntangibleAssetsPolicyPolicyTextBlock" xlink:label="us-gaap_ImpairmentOrDisposalOfLongLivedAssetsIncludingIntangibleAssetsPolicyPolicyTextBlock" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_IncomeTaxPolicyTextBlock" xlink:label="us-gaap_IncomeTaxPolicyTextBlock" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_InventoryPolicyTextBlock" xlink:label="us-gaap_InventoryPolicyTextBlock" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_LesseeLeasesPolicyTextBlock" xlink:label="us-gaap_LesseeLeasesPolicyTextBlock" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_NewAccountingPronouncementsPolicyPolicyTextBlock" xlink:label="us-gaap_NewAccountingPronouncementsPolicyPolicyTextBlock" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_PolicyTextBlockAbstract" xlink:label="us-gaap_PolicyTextBlockAbstract" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_PropertyPlantAndEquipmentPolicyTextBlock" xlink:label="us-gaap_PropertyPlantAndEquipmentPolicyTextBlock" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ReceivablesTradeAndOtherAccountsReceivableAllowanceForDoubtfulAccountsPolicy" xlink:label="us-gaap_ReceivablesTradeAndOtherAccountsReceivableAllowanceForDoubtfulAccountsPolicy" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ResearchDevelopmentAndComputerSoftwarePolicyTextBlock" xlink:label="us-gaap_ResearchDevelopmentAndComputerSoftwarePolicyTextBlock" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_RevenueFromContractWithCustomerPolicyTextBlock" xlink:label="us-gaap_RevenueFromContractWithCustomerPolicyTextBlock" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ShareBasedCompensationOptionAndIncentivePlansPolicy" xlink:label="us-gaap_ShareBasedCompensationOptionAndIncentivePlansPolicy" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_UseOfEstimates" xlink:label="us-gaap_UseOfEstimates" xlink:type="locator"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_PolicyTextBlockAbstract" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain-default" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xbrldt:contextElement="segment" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_PolicyTextBlockAbstract" xlink:to="us-gaap_AccountingPoliciesAbstract" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_AccountingPoliciesAbstract" xlink:to="us-gaap_BasisOfAccountingPolicyPolicyTextBlock" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_AccountingPoliciesAbstract" xlink:to="us-gaap_ConsolidationPolicyTextBlock" xlink:type="arc"/>
    <link:definitionArc order="2" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_AccountingPoliciesAbstract" xlink:to="us-gaap_ForeignCurrencyTransactionsAndTranslationsPolicyTextBlock" xlink:type="arc"/>
    <link:definitionArc order="3" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_AccountingPoliciesAbstract" xlink:to="us-gaap_UseOfEstimates" xlink:type="arc"/>
    <link:definitionArc order="4" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_AccountingPoliciesAbstract" xlink:to="us-gaap_CashAndCashEquivalentsPolicyTextBlock" xlink:type="arc"/>
    <link:definitionArc order="5" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_AccountingPoliciesAbstract" xlink:to="us-gaap_FairValueOfFinancialInstrumentsPolicy" xlink:type="arc"/>
    <link:definitionArc order="6" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_AccountingPoliciesAbstract" xlink:to="us-gaap_ReceivablesTradeAndOtherAccountsReceivableAllowanceForDoubtfulAccountsPolicy" xlink:type="arc"/>
    <link:definitionArc order="7" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_AccountingPoliciesAbstract" xlink:to="us-gaap_InventoryPolicyTextBlock" xlink:type="arc"/>
    <link:definitionArc order="8" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_AccountingPoliciesAbstract" xlink:to="us-gaap_ImpairmentOrDisposalOfLongLivedAssetsIncludingIntangibleAssetsPolicyPolicyTextBlock" xlink:type="arc"/>
    <link:definitionArc order="9" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_AccountingPoliciesAbstract" xlink:to="us-gaap_GoodwillAndIntangibleAssetsPolicyTextBlock" xlink:type="arc"/>
    <link:definitionArc order="10" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_AccountingPoliciesAbstract" xlink:to="us-gaap_PropertyPlantAndEquipmentPolicyTextBlock" xlink:type="arc"/>
    <link:definitionArc order="11" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_AccountingPoliciesAbstract" xlink:to="us-gaap_LesseeLeasesPolicyTextBlock" xlink:type="arc"/>
    <link:definitionArc order="12" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_AccountingPoliciesAbstract" xlink:to="us-gaap_RevenueFromContractWithCustomerPolicyTextBlock" xlink:type="arc"/>
    <link:definitionArc order="13" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_AccountingPoliciesAbstract" xlink:to="us-gaap_ResearchDevelopmentAndComputerSoftwarePolicyTextBlock" xlink:type="arc"/>
    <link:definitionArc order="14" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_AccountingPoliciesAbstract" xlink:to="us-gaap_ShareBasedCompensationOptionAndIncentivePlansPolicy" xlink:type="arc"/>
    <link:definitionArc order="15" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_AccountingPoliciesAbstract" xlink:to="us-gaap_BusinessCombinationsPolicy" xlink:type="arc"/>
    <link:definitionArc order="16" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_AccountingPoliciesAbstract" xlink:to="us-gaap_IncomeTaxPolicyTextBlock" xlink:type="arc"/>
    <link:definitionArc order="17" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_AccountingPoliciesAbstract" xlink:to="us-gaap_EarningsPerSharePolicyTextBlock" xlink:type="arc"/>
    <link:definitionArc order="18" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_AccountingPoliciesAbstract" xlink:to="us-gaap_NewAccountingPronouncementsPolicyPolicyTextBlock" xlink:type="arc"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://www.descartes.com/20200131/role/statement-note-3-acquisitions-tables" xlink:href="dsgx-20200131.xsd#statement-note-3-acquisitions-tables" xlink:type="simple"/>
  <link:definitionLink xlink:role="http://www.descartes.com/20200131/role/statement-note-3-acquisitions-tables" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_BusinessAcquisitionProFormaInformationTextBlock" xlink:label="us-gaap_BusinessAcquisitionProFormaInformationTextBlock" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ScheduleOfAcquiredFiniteLivedIntangibleAssetsByMajorClassTextBlock" xlink:label="us-gaap_ScheduleOfAcquiredFiniteLivedIntangibleAssetsByMajorClassTextBlock" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTextBlock" xlink:label="us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTextBlock" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_TableTextBlock" xlink:label="us-gaap_TableTextBlock" xlink:type="locator"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_TableTextBlock" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain-default" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xbrldt:contextElement="segment" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_TableTextBlock" xlink:to="us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTextBlock" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_TableTextBlock" xlink:to="us-gaap_ScheduleOfAcquiredFiniteLivedIntangibleAssetsByMajorClassTextBlock" xlink:type="arc"/>
    <link:definitionArc order="2" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_TableTextBlock" xlink:to="us-gaap_BusinessAcquisitionProFormaInformationTextBlock" xlink:type="arc"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://www.descartes.com/20200131/role/statement-note-4-fair-value-measurements-tables" xlink:href="dsgx-20200131.xsd#statement-note-4-fair-value-measurements-tables" xlink:type="simple"/>
  <link:definitionLink xlink:role="http://www.descartes.com/20200131/role/statement-note-4-fair-value-measurements-tables" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ScheduleOfDerivativeAssetsAtFairValueTableTextBlock" xlink:label="us-gaap_ScheduleOfDerivativeAssetsAtFairValueTableTextBlock" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_TableTextBlock" xlink:label="us-gaap_TableTextBlock" xlink:type="locator"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_TableTextBlock" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain-default" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xbrldt:contextElement="segment" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_TableTextBlock" xlink:to="us-gaap_ScheduleOfDerivativeAssetsAtFairValueTableTextBlock" xlink:type="arc"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://www.descartes.com/20200131/role/statement-note-5-trade-receivables-tables" xlink:href="dsgx-20200131.xsd#statement-note-5-trade-receivables-tables" xlink:type="simple"/>
  <link:definitionLink xlink:role="http://www.descartes.com/20200131/role/statement-note-5-trade-receivables-tables" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ScheduleOfAccountsNotesLoansAndFinancingReceivableTextBlock" xlink:label="us-gaap_ScheduleOfAccountsNotesLoansAndFinancingReceivableTextBlock" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_TableTextBlock" xlink:label="us-gaap_TableTextBlock" xlink:type="locator"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_TableTextBlock" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain-default" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xbrldt:contextElement="segment" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_TableTextBlock" xlink:to="us-gaap_ScheduleOfAccountsNotesLoansAndFinancingReceivableTextBlock" xlink:type="arc"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://www.descartes.com/20200131/role/statement-note-6-other-receivables-tables" xlink:href="dsgx-20200131.xsd#statement-note-6-other-receivables-tables" xlink:type="simple"/>
  <link:definitionLink xlink:role="http://www.descartes.com/20200131/role/statement-note-6-other-receivables-tables" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="dsgx-20200131.xsd#dsgx_OtherReceivablesTableTextBlock" xlink:label="dsgx_OtherReceivablesTableTextBlock" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_TableTextBlock" xlink:label="us-gaap_TableTextBlock" xlink:type="locator"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_TableTextBlock" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain-default" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xbrldt:contextElement="segment" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_TableTextBlock" xlink:to="dsgx_OtherReceivablesTableTextBlock" xlink:type="arc"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://www.descartes.com/20200131/role/statement--note-8-property-and-equipment-tables" xlink:href="dsgx-20200131.xsd#statement--note-8-property-and-equipment-tables" xlink:type="simple"/>
  <link:definitionLink xlink:role="http://www.descartes.com/20200131/role/statement--note-8-property-and-equipment-tables" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_PropertyPlantAndEquipmentTextBlock" xlink:label="us-gaap_PropertyPlantAndEquipmentTextBlock" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_TableTextBlock" xlink:label="us-gaap_TableTextBlock" xlink:type="locator"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_TableTextBlock" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain-default" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xbrldt:contextElement="segment" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_TableTextBlock" xlink:to="us-gaap_PropertyPlantAndEquipmentTextBlock" xlink:type="arc"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://www.descartes.com/20200131/role/statement-note-9-intangible-assets-tables" xlink:href="dsgx-20200131.xsd#statement-note-9-intangible-assets-tables" xlink:type="simple"/>
  <link:definitionLink xlink:role="http://www.descartes.com/20200131/role/statement-note-9-intangible-assets-tables" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock" xlink:label="us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_TableTextBlock" xlink:label="us-gaap_TableTextBlock" xlink:type="locator"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_TableTextBlock" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain-default" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xbrldt:contextElement="segment" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_TableTextBlock" xlink:to="us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock" xlink:type="arc"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://www.descartes.com/20200131/role/statement-note-10-goodwill-tables" xlink:href="dsgx-20200131.xsd#statement-note-10-goodwill-tables" xlink:type="simple"/>
  <link:definitionLink xlink:role="http://www.descartes.com/20200131/role/statement-note-10-goodwill-tables" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/srt/2019/elts/srt-2019-01-31.xsd#srt_ScheduleOfCondensedCashFlowStatementTableTextBlock" xlink:label="srt_ScheduleOfCondensedCashFlowStatementTableTextBlock" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_TableTextBlock" xlink:label="us-gaap_TableTextBlock" xlink:type="locator"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_TableTextBlock" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain-default" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xbrldt:contextElement="segment" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_TableTextBlock" xlink:to="srt_ScheduleOfCondensedCashFlowStatementTableTextBlock" xlink:type="arc"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://www.descartes.com/20200131/role/statement-note-11-accrued-liabilities-tables" xlink:href="dsgx-20200131.xsd#statement-note-11-accrued-liabilities-tables" xlink:type="simple"/>
  <link:definitionLink xlink:role="http://www.descartes.com/20200131/role/statement-note-11-accrued-liabilities-tables" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ScheduleOfAccruedLiabilitiesTableTextBlock" xlink:label="us-gaap_ScheduleOfAccruedLiabilitiesTableTextBlock" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_TableTextBlock" xlink:label="us-gaap_TableTextBlock" xlink:type="locator"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_TableTextBlock" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain-default" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xbrldt:contextElement="segment" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_TableTextBlock" xlink:to="us-gaap_ScheduleOfAccruedLiabilitiesTableTextBlock" xlink:type="arc"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://www.descartes.com/20200131/role/statement-note-12-debt-tables" xlink:href="dsgx-20200131.xsd#statement-note-12-debt-tables" xlink:type="simple"/>
  <link:definitionLink xlink:role="http://www.descartes.com/20200131/role/statement-note-12-debt-tables" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ScheduleOfDebtInstrumentsTextBlock" xlink:label="us-gaap_ScheduleOfDebtInstrumentsTextBlock" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_TableTextBlock" xlink:label="us-gaap_TableTextBlock" xlink:type="locator"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_TableTextBlock" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain-default" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xbrldt:contextElement="segment" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_TableTextBlock" xlink:to="us-gaap_ScheduleOfDebtInstrumentsTextBlock" xlink:type="arc"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://www.descartes.com/20200131/role/statement-note-13-leases-tables" xlink:href="dsgx-20200131.xsd#statement-note-13-leases-tables" xlink:type="simple"/>
  <link:definitionLink xlink:role="http://www.descartes.com/20200131/role/statement-note-13-leases-tables" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="dsgx-20200131.xsd#dsgx_ScheduleOfFutureMinimumRentalPaymentsForLeasesTableTextBlock" xlink:label="dsgx_ScheduleOfFutureMinimumRentalPaymentsForLeasesTableTextBlock" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_LeaseCostTableTextBlock" xlink:label="us-gaap_LeaseCostTableTextBlock" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_LesseeOperatingLeaseLiabilityMaturityTableTextBlock" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityMaturityTableTextBlock" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_TableTextBlock" xlink:label="us-gaap_TableTextBlock" xlink:type="locator"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_TableTextBlock" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain-default" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xbrldt:contextElement="segment" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_TableTextBlock" xlink:to="us-gaap_LeaseCostTableTextBlock" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_TableTextBlock" xlink:to="us-gaap_LesseeOperatingLeaseLiabilityMaturityTableTextBlock" xlink:type="arc"/>
    <link:definitionArc order="2" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_TableTextBlock" xlink:to="dsgx_ScheduleOfFutureMinimumRentalPaymentsForLeasesTableTextBlock" xlink:type="arc"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://www.descartes.com/20200131/role/statement-note-15-share-capital-tables" xlink:href="dsgx-20200131.xsd#statement-note-15-share-capital-tables" xlink:type="simple"/>
  <link:definitionLink xlink:role="http://www.descartes.com/20200131/role/statement-note-15-share-capital-tables" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ScheduleOfCommonStockOutstandingRollForwardTableTextBlock" xlink:label="us-gaap_ScheduleOfCommonStockOutstandingRollForwardTableTextBlock" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_TableTextBlock" xlink:label="us-gaap_TableTextBlock" xlink:type="locator"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_TableTextBlock" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain-default" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xbrldt:contextElement="segment" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_TableTextBlock" xlink:to="us-gaap_ScheduleOfCommonStockOutstandingRollForwardTableTextBlock" xlink:type="arc"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://www.descartes.com/20200131/role/statement-note-16-earnings-per-share-tables" xlink:href="dsgx-20200131.xsd#statement-note-16-earnings-per-share-tables" xlink:type="simple"/>
  <link:definitionLink xlink:role="http://www.descartes.com/20200131/role/statement-note-16-earnings-per-share-tables" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock" xlink:label="us-gaap_ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_TableTextBlock" xlink:label="us-gaap_TableTextBlock" xlink:type="locator"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_TableTextBlock" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain-default" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xbrldt:contextElement="segment" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_TableTextBlock" xlink:to="us-gaap_ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock" xlink:type="arc"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://www.descartes.com/20200131/role/statement-note-17-stockbased-compensation-plans-tables" xlink:href="dsgx-20200131.xsd#statement-note-17-stockbased-compensation-plans-tables" xlink:type="simple"/>
  <link:definitionLink xlink:role="http://www.descartes.com/20200131/role/statement-note-17-stockbased-compensation-plans-tables" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="dsgx-20200131.xsd#dsgx_ScheduleOfCashSettledRestrictedShareUnitPlanActivityTableTextBlock" xlink:label="dsgx_ScheduleOfCashSettledRestrictedShareUnitPlanActivityTableTextBlock" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTextBlock" xlink:label="us-gaap_ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTextBlock" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ScheduleOfNonvestedShareActivityTableTextBlock" xlink:label="us-gaap_ScheduleOfNonvestedShareActivityTableTextBlock" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ScheduleOfShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeTextBlock" xlink:label="us-gaap_ScheduleOfShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeTextBlock" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock" xlink:label="us-gaap_ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsTableTextBlock" xlink:label="us-gaap_ScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsTableTextBlock" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ScheduleOfSharebasedCompensationRestrictedStockAndRestrictedStockUnitsActivityTableTextBlock" xlink:label="us-gaap_ScheduleOfSharebasedCompensationRestrictedStockAndRestrictedStockUnitsActivityTableTextBlock" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ShareBasedCompensationPerformanceSharesAwardOutstandingActivityTableTextBlock" xlink:label="us-gaap_ShareBasedCompensationPerformanceSharesAwardOutstandingActivityTableTextBlock" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_TableTextBlock" xlink:label="us-gaap_TableTextBlock" xlink:type="locator"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_TableTextBlock" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain-default" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xbrldt:contextElement="segment" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_TableTextBlock" xlink:to="us-gaap_ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTextBlock" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_TableTextBlock" xlink:to="us-gaap_ScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsTableTextBlock" xlink:type="arc"/>
    <link:definitionArc order="2" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_TableTextBlock" xlink:to="us-gaap_ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock" xlink:type="arc"/>
    <link:definitionArc order="3" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_TableTextBlock" xlink:to="us-gaap_ScheduleOfShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeTextBlock" xlink:type="arc"/>
    <link:definitionArc order="4" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_TableTextBlock" xlink:to="us-gaap_ScheduleOfNonvestedShareActivityTableTextBlock" xlink:type="arc"/>
    <link:definitionArc order="5" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_TableTextBlock" xlink:to="us-gaap_ShareBasedCompensationPerformanceSharesAwardOutstandingActivityTableTextBlock" xlink:type="arc"/>
    <link:definitionArc order="6" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_TableTextBlock" xlink:to="us-gaap_ScheduleOfSharebasedCompensationRestrictedStockAndRestrictedStockUnitsActivityTableTextBlock" xlink:type="arc"/>
    <link:definitionArc order="7" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_TableTextBlock" xlink:to="dsgx_ScheduleOfCashSettledRestrictedShareUnitPlanActivityTableTextBlock" xlink:type="arc"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://www.descartes.com/20200131/role/statement-note-18-income-taxes-tables" xlink:href="dsgx-20200131.xsd#statement-note-18-income-taxes-tables" xlink:type="simple"/>
  <link:definitionLink xlink:role="http://www.descartes.com/20200131/role/statement-note-18-income-taxes-tables" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock" xlink:label="us-gaap_ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock" xlink:label="us-gaap_ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock" xlink:label="us-gaap_ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ScheduleOfIncomeBeforeIncomeTaxDomesticAndForeignTableTextBlock" xlink:label="us-gaap_ScheduleOfIncomeBeforeIncomeTaxDomesticAndForeignTableTextBlock" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ScheduleOfUnrecognizedTaxBenefitsRollForwardTableTextBlock" xlink:label="us-gaap_ScheduleOfUnrecognizedTaxBenefitsRollForwardTableTextBlock" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_SummaryOfOperatingLossCarryforwardsTextBlock" xlink:label="us-gaap_SummaryOfOperatingLossCarryforwardsTextBlock" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_TableTextBlock" xlink:label="us-gaap_TableTextBlock" xlink:type="locator"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_TableTextBlock" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain-default" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xbrldt:contextElement="segment" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_TableTextBlock" xlink:to="us-gaap_ScheduleOfIncomeBeforeIncomeTaxDomesticAndForeignTableTextBlock" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_TableTextBlock" xlink:to="us-gaap_ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock" xlink:type="arc"/>
    <link:definitionArc order="2" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_TableTextBlock" xlink:to="us-gaap_ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock" xlink:type="arc"/>
    <link:definitionArc order="3" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_TableTextBlock" xlink:to="us-gaap_ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock" xlink:type="arc"/>
    <link:definitionArc order="4" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_TableTextBlock" xlink:to="us-gaap_SummaryOfOperatingLossCarryforwardsTextBlock" xlink:type="arc"/>
    <link:definitionArc order="5" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_TableTextBlock" xlink:to="us-gaap_ScheduleOfUnrecognizedTaxBenefitsRollForwardTableTextBlock" xlink:type="arc"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://www.descartes.com/20200131/role/statement-note-19-contract-balances-performance-obligations-and-contract-costs-tables" xlink:href="dsgx-20200131.xsd#statement-note-19-contract-balances-performance-obligations-and-contract-costs-tables" xlink:type="simple"/>
  <link:definitionLink xlink:role="http://www.descartes.com/20200131/role/statement-note-19-contract-balances-performance-obligations-and-contract-costs-tables" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ContractWithCustomerAssetAndLiabilityTableTextBlock" xlink:label="us-gaap_ContractWithCustomerAssetAndLiabilityTableTextBlock" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_TableTextBlock" xlink:label="us-gaap_TableTextBlock" xlink:type="locator"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_TableTextBlock" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain-default" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xbrldt:contextElement="segment" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_TableTextBlock" xlink:to="us-gaap_ContractWithCustomerAssetAndLiabilityTableTextBlock" xlink:type="arc"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://www.descartes.com/20200131/role/statement-note-20-other-charges-tables" xlink:href="dsgx-20200131.xsd#statement-note-20-other-charges-tables" xlink:type="simple"/>
  <link:definitionLink xlink:role="http://www.descartes.com/20200131/role/statement-note-20-other-charges-tables" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ScheduleOfOtherOperatingCostAndExpenseByComponentTextBlock" xlink:label="us-gaap_ScheduleOfOtherOperatingCostAndExpenseByComponentTextBlock" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_TableTextBlock" xlink:label="us-gaap_TableTextBlock" xlink:type="locator"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_TableTextBlock" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain-default" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xbrldt:contextElement="segment" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_TableTextBlock" xlink:to="us-gaap_ScheduleOfOtherOperatingCostAndExpenseByComponentTextBlock" xlink:type="arc"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://www.descartes.com/20200131/role/statement-note-21-supplemental-cash-flow-information-tables" xlink:href="dsgx-20200131.xsd#statement-note-21-supplemental-cash-flow-information-tables" xlink:type="simple"/>
  <link:definitionLink xlink:role="http://www.descartes.com/20200131/role/statement-note-21-supplemental-cash-flow-information-tables" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ScheduleOfCashFlowSupplementalDisclosuresTableTextBlock" xlink:label="us-gaap_ScheduleOfCashFlowSupplementalDisclosuresTableTextBlock" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_TableTextBlock" xlink:label="us-gaap_TableTextBlock" xlink:type="locator"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_TableTextBlock" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain-default" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xbrldt:contextElement="segment" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_TableTextBlock" xlink:to="us-gaap_ScheduleOfCashFlowSupplementalDisclosuresTableTextBlock" xlink:type="arc"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://www.descartes.com/20200131/role/statement-note-22-segmented-information-tables" xlink:href="dsgx-20200131.xsd#statement-note-22-segmented-information-tables" xlink:type="simple"/>
  <link:definitionLink xlink:role="http://www.descartes.com/20200131/role/statement-note-22-segmented-information-tables" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ScheduleOfEntityWideDisclosureOnGeographicAreasLongLivedAssetsInIndividualForeignCountriesByCountryTextBlock" xlink:label="us-gaap_ScheduleOfEntityWideDisclosureOnGeographicAreasLongLivedAssetsInIndividualForeignCountriesByCountryTextBlock" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ScheduleOfRevenueFromExternalCustomersAttributedToForeignCountriesByGeographicAreaTextBlock" xlink:label="us-gaap_ScheduleOfRevenueFromExternalCustomersAttributedToForeignCountriesByGeographicAreaTextBlock" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ScheduleOfSegmentReportingInformationBySegmentTextBlock" xlink:label="us-gaap_ScheduleOfSegmentReportingInformationBySegmentTextBlock" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_TableTextBlock" xlink:label="us-gaap_TableTextBlock" xlink:type="locator"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_TableTextBlock" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain-default" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xbrldt:contextElement="segment" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_TableTextBlock" xlink:to="us-gaap_ScheduleOfRevenueFromExternalCustomersAttributedToForeignCountriesByGeographicAreaTextBlock" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_TableTextBlock" xlink:to="us-gaap_ScheduleOfSegmentReportingInformationBySegmentTextBlock" xlink:type="arc"/>
    <link:definitionArc order="2" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_TableTextBlock" xlink:to="us-gaap_ScheduleOfEntityWideDisclosureOnGeographicAreasLongLivedAssetsInIndividualForeignCountriesByCountryTextBlock" xlink:type="arc"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://www.descartes.com/20200131/role/statement-note-2-basis-of-presentation-details-textual" xlink:href="dsgx-20200131.xsd#statement-note-2-basis-of-presentation-details-textual" xlink:type="simple"/>
  <link:definitionLink xlink:role="http://www.descartes.com/20200131/role/statement-note-2-basis-of-presentation-details-textual" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="dsgx-20200131.xsd#dsgx_BaseAnnualFeePercent" xlink:label="dsgx_BaseAnnualFeePercent" xlink:type="locator"/>
    <link:loc xlink:href="dsgx-20200131.xsd#dsgx_CashSettledRestrictedShareUnitsVestingPeriod" xlink:label="dsgx_CashSettledRestrictedShareUnitsVestingPeriod" xlink:type="locator"/>
    <link:loc xlink:href="dsgx-20200131.xsd#dsgx_CashsettledRestrictedSharePlanMember" xlink:label="dsgx_CashsettledRestrictedSharePlanMember" xlink:type="locator"/>
    <link:loc xlink:href="dsgx-20200131.xsd#dsgx_CostsToObtainAContractWithACustomerPeriodOfBenefitIncludingRenewals" xlink:label="dsgx_CostsToObtainAContractWithACustomerPeriodOfBenefitIncludingRenewals" xlink:type="locator"/>
    <link:loc xlink:href="dsgx-20200131.xsd#dsgx_DeferredShareUnitPlanMember" xlink:label="dsgx_DeferredShareUnitPlanMember" xlink:type="locator"/>
    <link:loc xlink:href="dsgx-20200131.xsd#dsgx_DirectorsAndOfficersMember" xlink:label="dsgx_DirectorsAndOfficersMember" xlink:type="locator"/>
    <link:loc xlink:href="dsgx-20200131.xsd#dsgx_ExistingTechnologyMember" xlink:label="dsgx_ExistingTechnologyMember" xlink:type="locator"/>
    <link:loc xlink:href="dsgx-20200131.xsd#dsgx_NumberOfMajorCustomers" xlink:label="dsgx_NumberOfMajorCustomers" xlink:type="locator"/>
    <link:loc xlink:href="dsgx-20200131.xsd#dsgx_PropertyPlantAndEquipmentPercentDecliningBalanceDepreciation" xlink:label="dsgx_PropertyPlantAndEquipmentPercentDecliningBalanceDepreciation" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/srt/2019/elts/srt-2019-01-31.xsd#srt_MaximumMember" xlink:label="srt_MaximumMember" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/srt/2019/elts/srt-2019-01-31.xsd#srt_MinimumMember" xlink:label="srt_MinimumMember" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/srt/2019/elts/srt-2019-01-31.xsd#srt_RangeAxis" xlink:label="srt_RangeAxis" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/srt/2019/elts/srt-2019-01-31.xsd#srt_RangeMember" xlink:label="srt_RangeMember" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/srt/2019/elts/srt-2019-01-31.xsd#srt_RangeMember" xlink:label="srt_RangeMember-default" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/srt/2019/elts/srt-2019-01-31.xsd#srt_TitleOfIndividualAxis" xlink:label="srt_TitleOfIndividualAxis" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/srt/2019/elts/srt-2019-01-31.xsd#srt_TitleOfIndividualWithRelationshipToEntityDomain" xlink:label="srt_TitleOfIndividualWithRelationshipToEntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/srt/2019/elts/srt-2019-01-31.xsd#srt_TitleOfIndividualWithRelationshipToEntityDomain" xlink:label="srt_TitleOfIndividualWithRelationshipToEntityDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_AccountingStandardsUpdate201409Member" xlink:label="us-gaap_AccountingStandardsUpdate201409Member" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_AccountingStandardsUpdate201602Member" xlink:label="us-gaap_AccountingStandardsUpdate201602Member" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_AccountingStandardsUpdate201606Member" xlink:label="us-gaap_AccountingStandardsUpdate201606Member" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_AccountsReceivableMember" xlink:label="us-gaap_AccountsReceivableMember" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_AdjustmentsForNewAccountingPronouncementsAxis" xlink:label="us-gaap_AdjustmentsForNewAccountingPronouncementsAxis" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_AwardTypeAxis" xlink:label="us-gaap_AwardTypeAxis" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ComputerEquipmentMember" xlink:label="us-gaap_ComputerEquipmentMember" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ConcentrationRiskBenchmarkDomain" xlink:label="us-gaap_ConcentrationRiskBenchmarkDomain" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ConcentrationRiskBenchmarkDomain" xlink:label="us-gaap_ConcentrationRiskBenchmarkDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ConcentrationRiskByBenchmarkAxis" xlink:label="us-gaap_ConcentrationRiskByBenchmarkAxis" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ConcentrationRiskByTypeAxis" xlink:label="us-gaap_ConcentrationRiskByTypeAxis" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ConcentrationRiskTypeDomain" xlink:label="us-gaap_ConcentrationRiskTypeDomain" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ConcentrationRiskTypeDomain" xlink:label="us-gaap_ConcentrationRiskTypeDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ContractWithCustomerAssetNet" xlink:label="us-gaap_ContractWithCustomerAssetNet" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_CumulativeEffectOfNewAccountingPrincipleInPeriodOfAdoption" xlink:label="us-gaap_CumulativeEffectOfNewAccountingPrincipleInPeriodOfAdoption" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_CustomerConcentrationRiskMember" xlink:label="us-gaap_CustomerConcentrationRiskMember" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_CustomerRelationshipsMember" xlink:label="us-gaap_CustomerRelationshipsMember" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_DeferredIncomeTaxLiabilitiesNet" xlink:label="us-gaap_DeferredIncomeTaxLiabilitiesNet" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_EmployeeStockOptionMember" xlink:label="us-gaap_EmployeeStockOptionMember" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_EquityComponentDomain" xlink:label="us-gaap_EquityComponentDomain" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_EquityComponentDomain" xlink:label="us-gaap_EquityComponentDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetUsefulLife" xlink:label="us-gaap_FiniteLivedIntangibleAssetUsefulLife" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis" xlink:label="us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain" xlink:label="us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain" xlink:label="us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ForeignCurrencyTransactionGainLossBeforeTax" xlink:label="us-gaap_ForeignCurrencyTransactionGainLossBeforeTax" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_FurnitureAndFixturesMember" xlink:label="us-gaap_FurnitureAndFixturesMember" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_GoodwillImpairmentLoss" xlink:label="us-gaap_GoodwillImpairmentLoss" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ImpairmentOfLongLivedAssetsHeldForUse" xlink:label="us-gaap_ImpairmentOfLongLivedAssetsHeldForUse" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_NoncompeteAgreementsMember" xlink:label="us-gaap_NoncompeteAgreementsMember" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_OperatingLeaseLiability" xlink:label="us-gaap_OperatingLeaseLiability" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_OperatingLeaseRightOfUseAsset" xlink:label="us-gaap_OperatingLeaseRightOfUseAsset" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_OtherAssetsNoncurrent" xlink:label="us-gaap_OtherAssetsNoncurrent" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_PerformanceSharesMember" xlink:label="us-gaap_PerformanceSharesMember" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_PropertyPlantAndEquipmentByTypeAxis" xlink:label="us-gaap_PropertyPlantAndEquipmentByTypeAxis" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_PropertyPlantAndEquipmentTypeDomain" xlink:label="us-gaap_PropertyPlantAndEquipmentTypeDomain" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_PropertyPlantAndEquipmentTypeDomain" xlink:label="us-gaap_PropertyPlantAndEquipmentTypeDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_RestrictedStockUnitsRSUMember" xlink:label="us-gaap_RestrictedStockUnitsRSUMember" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_RetainedEarningsAccumulatedDeficit" xlink:label="us-gaap_RetainedEarningsAccumulatedDeficit" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_RetainedEarningsMember" xlink:label="us-gaap_RetainedEarningsMember" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:label="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:label="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardExpirationPeriod" xlink:label="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardExpirationPeriod" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_StatementEquityComponentsAxis" xlink:label="us-gaap_StatementEquityComponentsAxis" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_TradeNamesMember" xlink:label="us-gaap_TradeNamesMember" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_TypeOfAdoptionMember" xlink:label="us-gaap_TypeOfAdoptionMember" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_TypeOfAdoptionMember" xlink:label="us-gaap_TypeOfAdoptionMember-default" xlink:type="locator"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="srt_RangeAxis" xlink:to="srt_RangeMember" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="us-gaap_AdjustmentsForNewAccountingPronouncementsAxis" xlink:to="us-gaap_TypeOfAdoptionMember" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="us-gaap_StatementEquityComponentsAxis" xlink:to="us-gaap_EquityComponentDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="us-gaap_ConcentrationRiskByTypeAxis" xlink:to="us-gaap_ConcentrationRiskTypeDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="us-gaap_ConcentrationRiskByBenchmarkAxis" xlink:to="us-gaap_ConcentrationRiskBenchmarkDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="us-gaap_PropertyPlantAndEquipmentByTypeAxis" xlink:to="us-gaap_PropertyPlantAndEquipmentTypeDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="us-gaap_AwardTypeAxis" xlink:to="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis" xlink:to="us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="srt_TitleOfIndividualAxis" xlink:to="srt_TitleOfIndividualWithRelationshipToEntityDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_ConcentrationRiskByTypeAxis" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_ConcentrationRiskTypeDomain" xlink:to="us-gaap_CustomerConcentrationRiskMember" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="us-gaap_ConcentrationRiskByTypeAxis" xlink:to="us-gaap_ConcentrationRiskTypeDomain-default" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_ConcentrationRiskByBenchmarkAxis" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_ConcentrationRiskBenchmarkDomain" xlink:to="us-gaap_AccountsReceivableMember" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="us-gaap_ConcentrationRiskByBenchmarkAxis" xlink:to="us-gaap_ConcentrationRiskBenchmarkDomain-default" xlink:type="arc"/>
    <link:definitionArc order="2" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain" xlink:to="us-gaap_CustomerRelationshipsMember" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis" xlink:to="us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain-default" xlink:type="arc"/>
    <link:definitionArc order="3" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="srt_RangeAxis" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="srt_RangeMember" xlink:to="srt_MinimumMember" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="srt_RangeAxis" xlink:to="srt_RangeMember-default" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="srt_RangeMember" xlink:to="srt_MaximumMember" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain" xlink:to="dsgx_ExistingTechnologyMember" xlink:type="arc"/>
    <link:definitionArc order="2" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain" xlink:to="us-gaap_TradeNamesMember" xlink:type="arc"/>
    <link:definitionArc order="3" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain" xlink:to="us-gaap_NoncompeteAgreementsMember" xlink:type="arc"/>
    <link:definitionArc order="4" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_PropertyPlantAndEquipmentByTypeAxis" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_PropertyPlantAndEquipmentTypeDomain" xlink:to="us-gaap_ComputerEquipmentMember" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="us-gaap_PropertyPlantAndEquipmentByTypeAxis" xlink:to="us-gaap_PropertyPlantAndEquipmentTypeDomain-default" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_PropertyPlantAndEquipmentTypeDomain" xlink:to="us-gaap_FurnitureAndFixturesMember" xlink:type="arc"/>
    <link:definitionArc order="5" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_AwardTypeAxis" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:to="us-gaap_EmployeeStockOptionMember" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="us-gaap_AwardTypeAxis" xlink:to="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain-default" xlink:type="arc"/>
    <link:definitionArc order="6" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="srt_TitleOfIndividualAxis" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="srt_TitleOfIndividualWithRelationshipToEntityDomain" xlink:to="dsgx_DirectorsAndOfficersMember" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="srt_TitleOfIndividualAxis" xlink:to="srt_TitleOfIndividualWithRelationshipToEntityDomain-default" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:to="us-gaap_PerformanceSharesMember" xlink:type="arc"/>
    <link:definitionArc order="2" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:to="us-gaap_RestrictedStockUnitsRSUMember" xlink:type="arc"/>
    <link:definitionArc order="3" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:to="dsgx_DeferredShareUnitPlanMember" xlink:type="arc"/>
    <link:definitionArc order="4" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:to="dsgx_CashsettledRestrictedSharePlanMember" xlink:type="arc"/>
    <link:definitionArc order="7" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_AdjustmentsForNewAccountingPronouncementsAxis" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_TypeOfAdoptionMember" xlink:to="us-gaap_AccountingStandardsUpdate201409Member" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="us-gaap_AdjustmentsForNewAccountingPronouncementsAxis" xlink:to="us-gaap_TypeOfAdoptionMember-default" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_TypeOfAdoptionMember" xlink:to="us-gaap_AccountingStandardsUpdate201606Member" xlink:type="arc"/>
    <link:definitionArc order="8" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_StatementEquityComponentsAxis" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_EquityComponentDomain" xlink:to="us-gaap_RetainedEarningsMember" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="us-gaap_StatementEquityComponentsAxis" xlink:to="us-gaap_EquityComponentDomain-default" xlink:type="arc"/>
    <link:definitionArc order="2" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_TypeOfAdoptionMember" xlink:to="us-gaap_AccountingStandardsUpdate201602Member" xlink:type="arc"/>
    <link:definitionArc order="9" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain-default" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xbrldt:contextElement="segment" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_ForeignCurrencyTransactionGainLossBeforeTax" xlink:type="arc"/>
    <link:definitionArc order="2" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="dsgx_NumberOfMajorCustomers" xlink:type="arc"/>
    <link:definitionArc order="3" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_ImpairmentOfLongLivedAssetsHeldForUse" xlink:type="arc"/>
    <link:definitionArc order="4" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_GoodwillImpairmentLoss" xlink:type="arc"/>
    <link:definitionArc order="5" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_FiniteLivedIntangibleAssetUsefulLife" xlink:type="arc"/>
    <link:definitionArc order="6" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="dsgx_PropertyPlantAndEquipmentPercentDecliningBalanceDepreciation" xlink:type="arc"/>
    <link:definitionArc order="7" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="dsgx_CostsToObtainAContractWithACustomerPeriodOfBenefitIncludingRenewals" xlink:type="arc"/>
    <link:definitionArc order="8" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1" xlink:type="arc"/>
    <link:definitionArc order="9" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardExpirationPeriod" xlink:type="arc"/>
    <link:definitionArc order="10" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="dsgx_BaseAnnualFeePercent" xlink:type="arc"/>
    <link:definitionArc order="11" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="dsgx_CashSettledRestrictedShareUnitsVestingPeriod" xlink:type="arc"/>
    <link:definitionArc order="12" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_ContractWithCustomerAssetNet" xlink:type="arc"/>
    <link:definitionArc order="13" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_OtherAssetsNoncurrent" xlink:type="arc"/>
    <link:definitionArc order="14" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_DeferredIncomeTaxLiabilitiesNet" xlink:type="arc"/>
    <link:definitionArc order="15" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_RetainedEarningsAccumulatedDeficit" xlink:type="arc"/>
    <link:definitionArc order="16" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_CumulativeEffectOfNewAccountingPrincipleInPeriodOfAdoption" xlink:type="arc"/>
    <link:definitionArc order="17" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_OperatingLeaseLiability" xlink:type="arc"/>
    <link:definitionArc order="18" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_OperatingLeaseRightOfUseAsset" xlink:type="arc"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://www.descartes.com/20200131/role/statement-note-3-acquisitions-details-textual" xlink:href="dsgx-20200131.xsd#statement-note-3-acquisitions-details-textual" xlink:type="simple"/>
  <link:definitionLink xlink:role="http://www.descartes.com/20200131/role/statement-note-3-acquisitions-details-textual" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="dsgx-20200131.xsd#dsgx_AljexSoftwareIncMember" xlink:label="dsgx_AljexSoftwareIncMember" xlink:type="locator"/>
    <link:loc xlink:href="dsgx-20200131.xsd#dsgx_BesttransportMember" xlink:label="dsgx_BesttransportMember" xlink:type="locator"/>
    <link:loc xlink:href="dsgx-20200131.xsd#dsgx_BusinessCombinationContingentConsiderationArrangementsPeriodForRevenuePerformanceTargets" xlink:label="dsgx_BusinessCombinationContingentConsiderationArrangementsPeriodForRevenuePerformanceTargets" xlink:type="locator"/>
    <link:loc xlink:href="dsgx-20200131.xsd#dsgx_CoreTransportTechnologiesNzLimitedMember" xlink:label="dsgx_CoreTransportTechnologiesNzLimitedMember" xlink:type="locator"/>
    <link:loc xlink:href="dsgx-20200131.xsd#dsgx_MacroPointLLCMember" xlink:label="dsgx_MacroPointLLCMember" xlink:type="locator"/>
    <link:loc xlink:href="dsgx-20200131.xsd#dsgx_PCSTracIncMember" xlink:label="dsgx_PCSTracIncMember" xlink:type="locator"/>
    <link:loc xlink:href="dsgx-20200131.xsd#dsgx_PinPointMember" xlink:label="dsgx_PinPointMember" xlink:type="locator"/>
    <link:loc xlink:href="dsgx-20200131.xsd#dsgx_ShipRushMember" xlink:label="dsgx_ShipRushMember" xlink:type="locator"/>
    <link:loc xlink:href="dsgx-20200131.xsd#dsgx_StepcomMember" xlink:label="dsgx_StepcomMember" xlink:type="locator"/>
    <link:loc xlink:href="dsgx-20200131.xsd#dsgx_The2020AcquisitionsMember" xlink:label="dsgx_The2020AcquisitionsMember" xlink:type="locator"/>
    <link:loc xlink:href="dsgx-20200131.xsd#dsgx_VelocityMailMember" xlink:label="dsgx_VelocityMailMember" xlink:type="locator"/>
    <link:loc xlink:href="dsgx-20200131.xsd#dsgx_VisualComplianceMember" xlink:label="dsgx_VisualComplianceMember" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_BusinessAcquisitionAcquireeDomain" xlink:label="us-gaap_BusinessAcquisitionAcquireeDomain" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_BusinessAcquisitionAcquireeDomain" xlink:label="us-gaap_BusinessAcquisitionAcquireeDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_BusinessAcquisitionAxis" xlink:label="us-gaap_BusinessAcquisitionAxis" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_BusinessAcquisitionEquityInterestsIssuedOrIssuableNumberOfSharesIssued" xlink:label="us-gaap_BusinessAcquisitionEquityInterestsIssuedOrIssuableNumberOfSharesIssued" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_BusinessCombinationAcquiredReceivablesEstimatedUncollectible" xlink:label="us-gaap_BusinessCombinationAcquiredReceivablesEstimatedUncollectible" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_BusinessCombinationAcquiredReceivablesFairValue" xlink:label="us-gaap_BusinessCombinationAcquiredReceivablesFairValue" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_BusinessCombinationAcquiredReceivablesGrossContractualAmount" xlink:label="us-gaap_BusinessCombinationAcquiredReceivablesGrossContractualAmount" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_BusinessCombinationAcquisitionRelatedCosts" xlink:label="us-gaap_BusinessCombinationAcquisitionRelatedCosts" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_BusinessCombinationConsiderationTransferred1" xlink:label="us-gaap_BusinessCombinationConsiderationTransferred1" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_BusinessCombinationConsiderationTransferredEquityInterestsIssuedAndIssuable" xlink:label="us-gaap_BusinessCombinationConsiderationTransferredEquityInterestsIssuedAndIssuable" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_BusinessCombinationConsiderationTransferredLiabilitiesIncurred" xlink:label="us-gaap_BusinessCombinationConsiderationTransferredLiabilitiesIncurred" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_BusinessCombinationContingentConsiderationArrangementsRangeOfOutcomesValueHigh" xlink:label="us-gaap_BusinessCombinationContingentConsiderationArrangementsRangeOfOutcomesValueHigh" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_BusinessCombinationContingentConsiderationLiability" xlink:label="us-gaap_BusinessCombinationContingentConsiderationLiability" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_BusinessCombinationProFormaInformationEarningsOrLossOfAcquireeSinceAcquisitionDateActual" xlink:label="us-gaap_BusinessCombinationProFormaInformationEarningsOrLossOfAcquireeSinceAcquisitionDateActual" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_BusinessCombinationProFormaInformationRevenueOfAcquireeSinceAcquisitionDateActual" xlink:label="us-gaap_BusinessCombinationProFormaInformationRevenueOfAcquireeSinceAcquisitionDateActual" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_PaymentsToAcquireBusinessesNetOfCashAcquired" xlink:label="us-gaap_PaymentsToAcquireBusinessesNetOfCashAcquired" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="us-gaap_BusinessAcquisitionAxis" xlink:to="us-gaap_BusinessAcquisitionAcquireeDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_BusinessAcquisitionAxis" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_BusinessAcquisitionAcquireeDomain" xlink:to="dsgx_VisualComplianceMember" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="us-gaap_BusinessAcquisitionAxis" xlink:to="us-gaap_BusinessAcquisitionAcquireeDomain-default" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_BusinessAcquisitionAcquireeDomain" xlink:to="dsgx_CoreTransportTechnologiesNzLimitedMember" xlink:type="arc"/>
    <link:definitionArc order="2" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_BusinessAcquisitionAcquireeDomain" xlink:to="dsgx_StepcomMember" xlink:type="arc"/>
    <link:definitionArc order="3" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_BusinessAcquisitionAcquireeDomain" xlink:to="dsgx_BesttransportMember" xlink:type="arc"/>
    <link:definitionArc order="4" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_BusinessAcquisitionAcquireeDomain" xlink:to="dsgx_The2020AcquisitionsMember" xlink:type="arc"/>
    <link:definitionArc order="5" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_BusinessAcquisitionAcquireeDomain" xlink:to="dsgx_AljexSoftwareIncMember" xlink:type="arc"/>
    <link:definitionArc order="6" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_BusinessAcquisitionAcquireeDomain" xlink:to="dsgx_VelocityMailMember" xlink:type="arc"/>
    <link:definitionArc order="7" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_BusinessAcquisitionAcquireeDomain" xlink:to="dsgx_PinPointMember" xlink:type="arc"/>
    <link:definitionArc order="8" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_BusinessAcquisitionAcquireeDomain" xlink:to="dsgx_MacroPointLLCMember" xlink:type="arc"/>
    <link:definitionArc order="9" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_BusinessAcquisitionAcquireeDomain" xlink:to="dsgx_PCSTracIncMember" xlink:type="arc"/>
    <link:definitionArc order="10" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_BusinessAcquisitionAcquireeDomain" xlink:to="dsgx_ShipRushMember" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain-default" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xbrldt:contextElement="segment" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_PaymentsToAcquireBusinessesNetOfCashAcquired" xlink:type="arc"/>
    <link:definitionArc order="2" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_BusinessAcquisitionEquityInterestsIssuedOrIssuableNumberOfSharesIssued" xlink:type="arc"/>
    <link:definitionArc order="3" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_BusinessCombinationAcquiredReceivablesGrossContractualAmount" xlink:type="arc"/>
    <link:definitionArc order="4" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_BusinessCombinationAcquiredReceivablesFairValue" xlink:type="arc"/>
    <link:definitionArc order="5" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_BusinessCombinationAcquiredReceivablesEstimatedUncollectible" xlink:type="arc"/>
    <link:definitionArc order="6" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_BusinessCombinationContingentConsiderationArrangementsRangeOfOutcomesValueHigh" xlink:type="arc"/>
    <link:definitionArc order="7" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="dsgx_BusinessCombinationContingentConsiderationArrangementsPeriodForRevenuePerformanceTargets" xlink:type="arc"/>
    <link:definitionArc order="8" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_BusinessCombinationContingentConsiderationLiability" xlink:type="arc"/>
    <link:definitionArc order="9" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_BusinessCombinationAcquisitionRelatedCosts" xlink:type="arc"/>
    <link:definitionArc order="10" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_BusinessCombinationProFormaInformationRevenueOfAcquireeSinceAcquisitionDateActual" xlink:type="arc"/>
    <link:definitionArc order="11" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_BusinessCombinationProFormaInformationEarningsOrLossOfAcquireeSinceAcquisitionDateActual" xlink:type="arc"/>
    <link:definitionArc order="12" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_BusinessCombinationConsiderationTransferred1" xlink:type="arc"/>
    <link:definitionArc order="13" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_BusinessCombinationConsiderationTransferredEquityInterestsIssuedAndIssuable" xlink:type="arc"/>
    <link:definitionArc order="14" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_BusinessCombinationConsiderationTransferredLiabilitiesIncurred" xlink:type="arc"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://www.descartes.com/20200131/role/statement-note-4-fair-value-measurements-details-textual" xlink:href="dsgx-20200131.xsd#statement-note-4-fair-value-measurements-details-textual" xlink:type="simple"/>
  <link:definitionLink xlink:role="http://www.descartes.com/20200131/role/statement-note-4-fair-value-measurements-details-textual" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="dsgx-20200131.xsd#dsgx_DerivativeInstrumentCommonSharesHeldPerShare" xlink:label="dsgx_DerivativeInstrumentCommonSharesHeldPerShare" xlink:type="locator"/>
    <link:loc xlink:href="dsgx-20200131.xsd#dsgx_DerivativeInstrumentSharesOfCommonStockHeld" xlink:label="dsgx_DerivativeInstrumentSharesOfCommonStockHeld" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_DerivativeGainOnDerivative" xlink:label="us-gaap_DerivativeGainOnDerivative" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_GeneralAndAdministrativeExpenseMember" xlink:label="us-gaap_GeneralAndAdministrativeExpenseMember" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_IncomeStatementLocationAxis" xlink:label="us-gaap_IncomeStatementLocationAxis" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_IncomeStatementLocationDomain" xlink:label="us-gaap_IncomeStatementLocationDomain" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_IncomeStatementLocationDomain" xlink:label="us-gaap_IncomeStatementLocationDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="us-gaap_IncomeStatementLocationAxis" xlink:to="us-gaap_IncomeStatementLocationDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_IncomeStatementLocationAxis" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_IncomeStatementLocationDomain" xlink:to="us-gaap_GeneralAndAdministrativeExpenseMember" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="us-gaap_IncomeStatementLocationAxis" xlink:to="us-gaap_IncomeStatementLocationDomain-default" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain-default" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xbrldt:contextElement="segment" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="dsgx_DerivativeInstrumentSharesOfCommonStockHeld" xlink:type="arc"/>
    <link:definitionArc order="2" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="dsgx_DerivativeInstrumentCommonSharesHeldPerShare" xlink:type="arc"/>
    <link:definitionArc order="3" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_DerivativeGainOnDerivative" xlink:type="arc"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://www.descartes.com/20200131/role/statement-note-5-trade-receivables-details-textual" xlink:href="dsgx-20200131.xsd#statement-note-5-trade-receivables-details-textual" xlink:type="simple"/>
  <link:definitionLink xlink:role="http://www.descartes.com/20200131/role/statement-note-5-trade-receivables-details-textual" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ProvisionForDoubtfulAccounts" xlink:label="us-gaap_ProvisionForDoubtfulAccounts" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_UnbilledReceivablesCurrent" xlink:label="us-gaap_UnbilledReceivablesCurrent" xlink:type="locator"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain-default" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xbrldt:contextElement="segment" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_UnbilledReceivablesCurrent" xlink:type="arc"/>
    <link:definitionArc order="2" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_ProvisionForDoubtfulAccounts" xlink:type="arc"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://www.descartes.com/20200131/role/statement-note-6-other-receivables-details-textual" xlink:href="dsgx-20200131.xsd#statement-note-6-other-receivables-details-textual" xlink:type="simple"/>
  <link:definitionLink xlink:role="http://www.descartes.com/20200131/role/statement-note-6-other-receivables-details-textual" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="dsgx-20200131.xsd#dsgx_AmountsRecoverableFromFundsHeldInEscrow" xlink:label="dsgx_AmountsRecoverableFromFundsHeldInEscrow" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain-default" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xbrldt:contextElement="segment" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="dsgx_AmountsRecoverableFromFundsHeldInEscrow" xlink:type="arc"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://www.descartes.com/20200131/role/statement-note-7-inventory-details-textual" xlink:href="dsgx-20200131.xsd#statement-note-7-inventory-details-textual" xlink:type="simple"/>
  <link:definitionLink xlink:role="http://www.descartes.com/20200131/role/statement-note-7-inventory-details-textual" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_InventoryValuationReserves" xlink:label="us-gaap_InventoryValuationReserves" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain-default" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xbrldt:contextElement="segment" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_InventoryValuationReserves" xlink:type="arc"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://www.descartes.com/20200131/role/statement-note-9-intangible-assets-details-textual" xlink:href="dsgx-20200131.xsd#statement-note-9-intangible-assets-details-textual" xlink:type="simple"/>
  <link:definitionLink xlink:role="http://www.descartes.com/20200131/role/statement-note-9-intangible-assets-details-textual" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseAfterYearFive" xlink:label="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseAfterYearFive" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths" xlink:label="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFive" xlink:label="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFive" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFour" xlink:label="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFour" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearThree" xlink:label="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearThree" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo" xlink:label="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetsNet" xlink:label="us-gaap_FiniteLivedIntangibleAssetsNet" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain-default" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xbrldt:contextElement="segment" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_FiniteLivedIntangibleAssetsNet" xlink:type="arc"/>
    <link:definitionArc order="2" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths" xlink:type="arc"/>
    <link:definitionArc order="3" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo" xlink:type="arc"/>
    <link:definitionArc order="4" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearThree" xlink:type="arc"/>
    <link:definitionArc order="5" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFour" xlink:type="arc"/>
    <link:definitionArc order="6" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFive" xlink:type="arc"/>
    <link:definitionArc order="7" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseAfterYearFive" xlink:type="arc"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://www.descartes.com/20200131/role/statement-note-12-debt-details-textual" xlink:href="dsgx-20200131.xsd#statement-note-12-debt-details-textual" xlink:type="simple"/>
  <link:definitionLink xlink:role="http://www.descartes.com/20200131/role/statement-note-12-debt-details-textual" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="dsgx-20200131.xsd#dsgx_CanadaOrUsPrimeRateBaOrLiborMember" xlink:label="dsgx_CanadaOrUsPrimeRateBaOrLiborMember" xlink:type="locator"/>
    <link:loc xlink:href="dsgx-20200131.xsd#dsgx_LineOfCreditBorrowingsToSupportForeignExchangeAndInterestRateHedgingMember" xlink:label="dsgx_LineOfCreditBorrowingsToSupportForeignExchangeAndInterestRateHedgingMember" xlink:type="locator"/>
    <link:loc xlink:href="dsgx-20200131.xsd#dsgx_RevolvingOperatingCreditFacilityMember" xlink:label="dsgx_RevolvingOperatingCreditFacilityMember" xlink:type="locator"/>
    <link:loc xlink:href="dsgx-20200131.xsd#dsgx_SeniorSecuredCreditFacilityMember" xlink:label="dsgx_SeniorSecuredCreditFacilityMember" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/srt/2019/elts/srt-2019-01-31.xsd#srt_MaximumMember" xlink:label="srt_MaximumMember" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/srt/2019/elts/srt-2019-01-31.xsd#srt_MinimumMember" xlink:label="srt_MinimumMember" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/srt/2019/elts/srt-2019-01-31.xsd#srt_RangeAxis" xlink:label="srt_RangeAxis" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/srt/2019/elts/srt-2019-01-31.xsd#srt_RangeMember" xlink:label="srt_RangeMember" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/srt/2019/elts/srt-2019-01-31.xsd#srt_RangeMember" xlink:label="srt_RangeMember-default" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_CreditFacilityAxis" xlink:label="us-gaap_CreditFacilityAxis" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_CreditFacilityDomain" xlink:label="us-gaap_CreditFacilityDomain" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_CreditFacilityDomain" xlink:label="us-gaap_CreditFacilityDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_DebtInstrumentAxis" xlink:label="us-gaap_DebtInstrumentAxis" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_DebtInstrumentBasisSpreadOnVariableRate1" xlink:label="us-gaap_DebtInstrumentBasisSpreadOnVariableRate1" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_DebtInstrumentNameDomain" xlink:label="us-gaap_DebtInstrumentNameDomain" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_DebtInstrumentNameDomain" xlink:label="us-gaap_DebtInstrumentNameDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_DebtInstrumentTerm" xlink:label="us-gaap_DebtInstrumentTerm" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_LettersOfCreditOutstandingAmount" xlink:label="us-gaap_LettersOfCreditOutstandingAmount" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity" xlink:label="us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_LineOfCreditFacilityUnusedCapacityCommitmentFeePercentage" xlink:label="us-gaap_LineOfCreditFacilityUnusedCapacityCommitmentFeePercentage" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_VariableRateAxis" xlink:label="us-gaap_VariableRateAxis" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_VariableRateDomain" xlink:label="us-gaap_VariableRateDomain" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_VariableRateDomain" xlink:label="us-gaap_VariableRateDomain-default" xlink:type="locator"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="srt_RangeAxis" xlink:to="srt_RangeMember" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="us-gaap_DebtInstrumentAxis" xlink:to="us-gaap_DebtInstrumentNameDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="us-gaap_CreditFacilityAxis" xlink:to="us-gaap_CreditFacilityDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="us-gaap_VariableRateAxis" xlink:to="us-gaap_VariableRateDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_CreditFacilityAxis" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_CreditFacilityDomain" xlink:to="dsgx_RevolvingOperatingCreditFacilityMember" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="us-gaap_CreditFacilityAxis" xlink:to="us-gaap_CreditFacilityDomain-default" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_DebtInstrumentAxis" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_DebtInstrumentNameDomain" xlink:to="dsgx_SeniorSecuredCreditFacilityMember" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="us-gaap_DebtInstrumentAxis" xlink:to="us-gaap_DebtInstrumentNameDomain-default" xlink:type="arc"/>
    <link:definitionArc order="2" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="srt_RangeAxis" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="srt_RangeMember" xlink:to="srt_MinimumMember" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="srt_RangeAxis" xlink:to="srt_RangeMember-default" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="srt_RangeMember" xlink:to="srt_MaximumMember" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_CreditFacilityDomain" xlink:to="dsgx_LineOfCreditBorrowingsToSupportForeignExchangeAndInterestRateHedgingMember" xlink:type="arc"/>
    <link:definitionArc order="3" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_VariableRateAxis" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_VariableRateDomain" xlink:to="dsgx_CanadaOrUsPrimeRateBaOrLiborMember" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="us-gaap_VariableRateAxis" xlink:to="us-gaap_VariableRateDomain-default" xlink:type="arc"/>
    <link:definitionArc order="2" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_CreditFacilityDomain" xlink:to="dsgx_SeniorSecuredCreditFacilityMember" xlink:type="arc"/>
    <link:definitionArc order="4" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain-default" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xbrldt:contextElement="segment" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity" xlink:type="arc"/>
    <link:definitionArc order="2" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_DebtInstrumentTerm" xlink:type="arc"/>
    <link:definitionArc order="3" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_DebtInstrumentBasisSpreadOnVariableRate1" xlink:type="arc"/>
    <link:definitionArc order="4" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_LineOfCreditFacilityUnusedCapacityCommitmentFeePercentage" xlink:type="arc"/>
    <link:definitionArc order="5" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_LettersOfCreditOutstandingAmount" xlink:type="arc"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://www.descartes.com/20200131/role/statement-note-13-leases-details-textual" xlink:href="dsgx-20200131.xsd#statement-note-13-leases-details-textual" xlink:type="simple"/>
  <link:definitionLink xlink:role="http://www.descartes.com/20200131/role/statement-note-13-leases-details-textual" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="dsgx-20200131.xsd#dsgx_LesseeOperatingLeaseRemainingLeaseTerm" xlink:label="dsgx_LesseeOperatingLeaseRemainingLeaseTerm" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/srt/2019/elts/srt-2019-01-31.xsd#srt_MaximumMember" xlink:label="srt_MaximumMember" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/srt/2019/elts/srt-2019-01-31.xsd#srt_MinimumMember" xlink:label="srt_MinimumMember" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/srt/2019/elts/srt-2019-01-31.xsd#srt_RangeAxis" xlink:label="srt_RangeAxis" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/srt/2019/elts/srt-2019-01-31.xsd#srt_RangeMember" xlink:label="srt_RangeMember" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/srt/2019/elts/srt-2019-01-31.xsd#srt_RangeMember" xlink:label="srt_RangeMember-default" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_LesseeOperatingLeaseRenewalTerm" xlink:label="us-gaap_LesseeOperatingLeaseRenewalTerm" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_OperatingLeaseExpense" xlink:label="us-gaap_OperatingLeaseExpense" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="srt_RangeAxis" xlink:to="srt_RangeMember" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="srt_RangeAxis" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="srt_RangeMember" xlink:to="srt_MinimumMember" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="srt_RangeAxis" xlink:to="srt_RangeMember-default" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="srt_RangeMember" xlink:to="srt_MaximumMember" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain-default" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xbrldt:contextElement="segment" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="dsgx_LesseeOperatingLeaseRemainingLeaseTerm" xlink:type="arc"/>
    <link:definitionArc order="2" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_LesseeOperatingLeaseRenewalTerm" xlink:type="arc"/>
    <link:definitionArc order="3" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_OperatingLeaseExpense" xlink:type="arc"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://www.descartes.com/20200131/role/statement-note-14-commitments-contingencies-and-guarantees-details-textual" xlink:href="dsgx-20200131.xsd#statement-note-14-commitments-contingencies-and-guarantees-details-textual" xlink:type="simple"/>
  <link:definitionLink xlink:role="http://www.descartes.com/20200131/role/statement-note-14-commitments-contingencies-and-guarantees-details-textual" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="dsgx-20200131.xsd#dsgx_BusinessCombinationContingentConsiderationArrangementsPeriodForRevenuePerformanceTargets" xlink:label="dsgx_BusinessCombinationContingentConsiderationArrangementsPeriodForRevenuePerformanceTargets" xlink:type="locator"/>
    <link:loc xlink:href="dsgx-20200131.xsd#dsgx_CashSettledRestrictedShareUnitsNonvestedTotalCompensationCostNotYetRecognized" xlink:label="dsgx_CashSettledRestrictedShareUnitsNonvestedTotalCompensationCostNotYetRecognized" xlink:type="locator"/>
    <link:loc xlink:href="dsgx-20200131.xsd#dsgx_DeferredShareUnitLiabilityNumberOfCommonShares" xlink:label="dsgx_DeferredShareUnitLiabilityNumberOfCommonShares" xlink:type="locator"/>
    <link:loc xlink:href="dsgx-20200131.xsd#dsgx_DerivativeInstrumentSharesOfCommonStockHeld" xlink:label="dsgx_DerivativeInstrumentSharesOfCommonStockHeld" xlink:type="locator"/>
    <link:loc xlink:href="dsgx-20200131.xsd#dsgx_PinpointAndCoreMember" xlink:label="dsgx_PinpointAndCoreMember" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_BusinessAcquisitionAcquireeDomain" xlink:label="us-gaap_BusinessAcquisitionAcquireeDomain" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_BusinessAcquisitionAcquireeDomain" xlink:label="us-gaap_BusinessAcquisitionAcquireeDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_BusinessAcquisitionAxis" xlink:label="us-gaap_BusinessAcquisitionAxis" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_BusinessCombinationContingentConsiderationArrangementsRangeOfOutcomesValueHigh" xlink:label="us-gaap_BusinessCombinationContingentConsiderationArrangementsRangeOfOutcomesValueHigh" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_BusinessCombinationContingentConsiderationLiability" xlink:label="us-gaap_BusinessCombinationContingentConsiderationLiability" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="us-gaap_BusinessAcquisitionAxis" xlink:to="us-gaap_BusinessAcquisitionAcquireeDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_BusinessAcquisitionAxis" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_BusinessAcquisitionAcquireeDomain" xlink:to="dsgx_PinpointAndCoreMember" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="us-gaap_BusinessAcquisitionAxis" xlink:to="us-gaap_BusinessAcquisitionAcquireeDomain-default" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain-default" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xbrldt:contextElement="segment" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="dsgx_CashSettledRestrictedShareUnitsNonvestedTotalCompensationCostNotYetRecognized" xlink:type="arc"/>
    <link:definitionArc order="2" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="dsgx_DerivativeInstrumentSharesOfCommonStockHeld" xlink:type="arc"/>
    <link:definitionArc order="3" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="dsgx_DeferredShareUnitLiabilityNumberOfCommonShares" xlink:type="arc"/>
    <link:definitionArc order="4" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_BusinessCombinationContingentConsiderationArrangementsRangeOfOutcomesValueHigh" xlink:type="arc"/>
    <link:definitionArc order="5" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="dsgx_BusinessCombinationContingentConsiderationArrangementsPeriodForRevenuePerformanceTargets" xlink:type="arc"/>
    <link:definitionArc order="6" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_BusinessCombinationContingentConsiderationLiability" xlink:type="arc"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://www.descartes.com/20200131/role/statement-note-15-share-capital-details-textual" xlink:href="dsgx-20200131.xsd#statement-note-15-share-capital-details-textual" xlink:type="simple"/>
  <link:definitionLink xlink:role="http://www.descartes.com/20200131/role/statement-note-15-share-capital-details-textual" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="dsgx-20200131.xsd#dsgx_OverallotmentOption" xlink:label="dsgx_OverallotmentOption" xlink:type="locator"/>
    <link:loc xlink:href="dsgx-20200131.xsd#dsgx_ProceedsFromIssuanceOfCommonStockNet" xlink:label="dsgx_ProceedsFromIssuanceOfCommonStockNet" xlink:type="locator"/>
    <link:loc xlink:href="dsgx-20200131.xsd#dsgx_ShelfProspectusMaximumAmount" xlink:label="dsgx_ShelfProspectusMaximumAmount" xlink:type="locator"/>
    <link:loc xlink:href="dsgx-20200131.xsd#dsgx_ShelfProspectusMember" xlink:label="dsgx_ShelfProspectusMember" xlink:type="locator"/>
    <link:loc xlink:href="dsgx-20200131.xsd#dsgx_ShelfProspectusPeriod" xlink:label="dsgx_ShelfProspectusPeriod" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ProceedsFromStockOptionsExercised" xlink:label="us-gaap_ProceedsFromStockOptionsExercised" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_SaleOfStockNameOfTransactionDomain" xlink:label="us-gaap_SaleOfStockNameOfTransactionDomain" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_SaleOfStockNameOfTransactionDomain" xlink:label="us-gaap_SaleOfStockNameOfTransactionDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_SharesIssuedPricePerShare" xlink:label="us-gaap_SharesIssuedPricePerShare" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_StockIssuedDuringPeriodSharesNewIssues" xlink:label="us-gaap_StockIssuedDuringPeriodSharesNewIssues" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_StockIssuedDuringPeriodValueNewIssues" xlink:label="us-gaap_StockIssuedDuringPeriodValueNewIssues" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_SubsidiarySaleOfStockAxis" xlink:label="us-gaap_SubsidiarySaleOfStockAxis" xlink:type="locator"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="us-gaap_SubsidiarySaleOfStockAxis" xlink:to="us-gaap_SaleOfStockNameOfTransactionDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_SubsidiarySaleOfStockAxis" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_SaleOfStockNameOfTransactionDomain" xlink:to="dsgx_ShelfProspectusMember" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="us-gaap_SubsidiarySaleOfStockAxis" xlink:to="us-gaap_SaleOfStockNameOfTransactionDomain-default" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain-default" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xbrldt:contextElement="segment" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="dsgx_ShelfProspectusPeriod" xlink:type="arc"/>
    <link:definitionArc order="2" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="dsgx_ShelfProspectusMaximumAmount" xlink:type="arc"/>
    <link:definitionArc order="3" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_SharesIssuedPricePerShare" xlink:type="arc"/>
    <link:definitionArc order="4" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_StockIssuedDuringPeriodSharesNewIssues" xlink:type="arc"/>
    <link:definitionArc order="5" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="dsgx_OverallotmentOption" xlink:type="arc"/>
    <link:definitionArc order="6" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_StockIssuedDuringPeriodValueNewIssues" xlink:type="arc"/>
    <link:definitionArc order="7" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="dsgx_ProceedsFromIssuanceOfCommonStockNet" xlink:type="arc"/>
    <link:definitionArc order="8" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_ProceedsFromStockOptionsExercised" xlink:type="arc"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://www.descartes.com/20200131/role/statement-note-16-earnings-per-share-details-textual" xlink:href="dsgx-20200131.xsd#statement-note-16-earnings-per-share-details-textual" xlink:type="simple"/>
  <link:definitionLink xlink:role="http://www.descartes.com/20200131/role/statement-note-16-earnings-per-share-details-textual" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="dsgx-20200131.xsd#dsgx_StockOptionsTreasuryStockMethodMember" xlink:label="dsgx_StockOptionsTreasuryStockMethodMember" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount" xlink:label="us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis" xlink:label="us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_AntidilutiveSecuritiesNameDomain" xlink:label="us-gaap_AntidilutiveSecuritiesNameDomain" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_AntidilutiveSecuritiesNameDomain" xlink:label="us-gaap_AntidilutiveSecuritiesNameDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_AwardTypeAxis" xlink:label="us-gaap_AwardTypeAxis" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_EmployeeStockOptionMember" xlink:label="us-gaap_EmployeeStockOptionMember" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:label="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:label="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis" xlink:to="us-gaap_AntidilutiveSecuritiesNameDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="us-gaap_AwardTypeAxis" xlink:to="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_AwardTypeAxis" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:to="us-gaap_EmployeeStockOptionMember" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="us-gaap_AwardTypeAxis" xlink:to="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain-default" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_AntidilutiveSecuritiesNameDomain" xlink:to="dsgx_StockOptionsTreasuryStockMethodMember" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis" xlink:to="us-gaap_AntidilutiveSecuritiesNameDomain-default" xlink:type="arc"/>
    <link:definitionArc order="2" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain-default" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xbrldt:contextElement="segment" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount" xlink:type="arc"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://www.descartes.com/20200131/role/statement-note-17-stockbased-compensation-plans-details-textual" xlink:href="dsgx-20200131.xsd#statement-note-17-stockbased-compensation-plans-details-textual" xlink:type="simple"/>
  <link:definitionLink xlink:role="http://www.descartes.com/20200131/role/statement-note-17-stockbased-compensation-plans-details-textual" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="dsgx-20200131.xsd#dsgx_CashSettledRestrictedShareUnitsCompensationExpense" xlink:label="dsgx_CashSettledRestrictedShareUnitsCompensationExpense" xlink:type="locator"/>
    <link:loc xlink:href="dsgx-20200131.xsd#dsgx_CashsettledRestrictedShareUnitMember" xlink:label="dsgx_CashsettledRestrictedShareUnitMember" xlink:type="locator"/>
    <link:loc xlink:href="dsgx-20200131.xsd#dsgx_DeferredShareUnitPlanMember" xlink:label="dsgx_DeferredShareUnitPlanMember" xlink:type="locator"/>
    <link:loc xlink:href="dsgx-20200131.xsd#dsgx_DeferredShareUnitsCompensationExpense" xlink:label="dsgx_DeferredShareUnitsCompensationExpense" xlink:type="locator"/>
    <link:loc xlink:href="dsgx-20200131.xsd#dsgx_DeferredShareUnitsGrantsInPeriod" xlink:label="dsgx_DeferredShareUnitsGrantsInPeriod" xlink:type="locator"/>
    <link:loc xlink:href="dsgx-20200131.xsd#dsgx_DeferredShareUnitsOutstandingNumber" xlink:label="dsgx_DeferredShareUnitsOutstandingNumber" xlink:type="locator"/>
    <link:loc xlink:href="dsgx-20200131.xsd#dsgx_DeferredShareUnitsRedeemedAndSettledInCash" xlink:label="dsgx_DeferredShareUnitsRedeemedAndSettledInCash" xlink:type="locator"/>
    <link:loc xlink:href="dsgx-20200131.xsd#dsgx_OptionsGrantedOutsideOfShareholderApprovedStockOptionPlanMember" xlink:label="dsgx_OptionsGrantedOutsideOfShareholderApprovedStockOptionPlanMember" xlink:type="locator"/>
    <link:loc xlink:href="dsgx-20200131.xsd#dsgx_OutsideOfShareholderapprovedStockOptionPlanMember" xlink:label="dsgx_OutsideOfShareholderapprovedStockOptionPlanMember" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_AwardTypeAxis" xlink:label="us-gaap_AwardTypeAxis" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_DeferredCompensationSharebasedArrangementsLiabilityCurrentAndNoncurrent" xlink:label="us-gaap_DeferredCompensationSharebasedArrangementsLiabilityCurrentAndNoncurrent" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsShareBasedCompensationCost" xlink:label="us-gaap_DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsShareBasedCompensationCost" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized" xlink:label="us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1" xlink:label="us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_EmployeeServiceShareBasedCompensationTaxBenefitFromExerciseOfStockOptions" xlink:label="us-gaap_EmployeeServiceShareBasedCompensationTaxBenefitFromExerciseOfStockOptions" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_EmployeeStockOptionMember" xlink:label="us-gaap_EmployeeStockOptionMember" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_PerformanceSharesMember" xlink:label="us-gaap_PerformanceSharesMember" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_PlanNameAxis" xlink:label="us-gaap_PlanNameAxis" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_PlanNameDomain" xlink:label="us-gaap_PlanNameDomain" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_PlanNameDomain" xlink:label="us-gaap_PlanNameDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_RestrictedStockUnitsRSUMember" xlink:label="us-gaap_RestrictedStockUnitsRSUMember" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodTotalFairValue" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodTotalFairValue" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:label="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:label="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedInPeriodFairValue1" xlink:label="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedInPeriodFairValue1" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="us-gaap_AwardTypeAxis" xlink:to="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="us-gaap_PlanNameAxis" xlink:to="us-gaap_PlanNameDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_PlanNameAxis" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_PlanNameDomain" xlink:to="dsgx_OptionsGrantedOutsideOfShareholderApprovedStockOptionPlanMember" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="us-gaap_PlanNameAxis" xlink:to="us-gaap_PlanNameDomain-default" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_AwardTypeAxis" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:to="us-gaap_EmployeeStockOptionMember" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="us-gaap_AwardTypeAxis" xlink:to="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain-default" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_PlanNameDomain" xlink:to="dsgx_OutsideOfShareholderapprovedStockOptionPlanMember" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:to="us-gaap_PerformanceSharesMember" xlink:type="arc"/>
    <link:definitionArc order="2" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:to="us-gaap_RestrictedStockUnitsRSUMember" xlink:type="arc"/>
    <link:definitionArc order="2" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_PlanNameDomain" xlink:to="dsgx_DeferredShareUnitPlanMember" xlink:type="arc"/>
    <link:definitionArc order="3" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_PlanNameDomain" xlink:to="dsgx_CashsettledRestrictedShareUnitMember" xlink:type="arc"/>
    <link:definitionArc order="2" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain-default" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xbrldt:contextElement="segment" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsShareBasedCompensationCost" xlink:type="arc"/>
    <link:definitionArc order="2" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_EmployeeServiceShareBasedCompensationTaxBenefitFromExerciseOfStockOptions" xlink:type="arc"/>
    <link:definitionArc order="3" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber" xlink:type="arc"/>
    <link:definitionArc order="4" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant" xlink:type="arc"/>
    <link:definitionArc order="5" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized" xlink:type="arc"/>
    <link:definitionArc order="6" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1" xlink:type="arc"/>
    <link:definitionArc order="7" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedInPeriodFairValue1" xlink:type="arc"/>
    <link:definitionArc order="8" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross" xlink:type="arc"/>
    <link:definitionArc order="9" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue" xlink:type="arc"/>
    <link:definitionArc order="10" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue" xlink:type="arc"/>
    <link:definitionArc order="11" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodTotalFairValue" xlink:type="arc"/>
    <link:definitionArc order="12" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="dsgx_DeferredShareUnitsOutstandingNumber" xlink:type="arc"/>
    <link:definitionArc order="13" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_DeferredCompensationSharebasedArrangementsLiabilityCurrentAndNoncurrent" xlink:type="arc"/>
    <link:definitionArc order="14" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="dsgx_DeferredShareUnitsGrantsInPeriod" xlink:type="arc"/>
    <link:definitionArc order="15" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="dsgx_DeferredShareUnitsRedeemedAndSettledInCash" xlink:type="arc"/>
    <link:definitionArc order="16" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="dsgx_DeferredShareUnitsCompensationExpense" xlink:type="arc"/>
    <link:definitionArc order="17" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="dsgx_CashSettledRestrictedShareUnitsCompensationExpense" xlink:type="arc"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://www.descartes.com/20200131/role/statement-note-18-income-taxes-details-textual" xlink:href="dsgx-20200131.xsd#statement-note-18-income-taxes-details-textual" xlink:type="simple"/>
  <link:definitionLink xlink:role="http://www.descartes.com/20200131/role/statement-note-18-income-taxes-details-textual" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="dsgx-20200131.xsd#dsgx_IncomeBeforeTaxesPercent" xlink:label="dsgx_IncomeBeforeTaxesPercent" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_EffectiveIncomeTaxRateContinuingOperations" xlink:label="us-gaap_EffectiveIncomeTaxRateContinuingOperations" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_IncomeTaxExpenseBenefitContinuingOperationsAdjustmentOfDeferredTaxAssetLiability" xlink:label="us-gaap_IncomeTaxExpenseBenefitContinuingOperationsAdjustmentOfDeferredTaxAssetLiability" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_LiabilityForUncertainTaxPositionsNoncurrent" xlink:label="us-gaap_LiabilityForUncertainTaxPositionsNoncurrent" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_SignificantChangeInUnrecognizedTaxBenefitsIsReasonablyPossibleAmountOfUnrecordedBenefit" xlink:label="us-gaap_SignificantChangeInUnrecognizedTaxBenefitsIsReasonablyPossibleAmountOfUnrecordedBenefit" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_UndistributedEarningsOfForeignSubsidiaries" xlink:label="us-gaap_UndistributedEarningsOfForeignSubsidiaries" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_UnrecognizedTaxBenefitsThatWouldImpactEffectiveTaxRate" xlink:label="us-gaap_UnrecognizedTaxBenefitsThatWouldImpactEffectiveTaxRate" xlink:type="locator"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain-default" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xbrldt:contextElement="segment" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="dsgx_IncomeBeforeTaxesPercent" xlink:type="arc"/>
    <link:definitionArc order="2" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_EffectiveIncomeTaxRateContinuingOperations" xlink:type="arc"/>
    <link:definitionArc order="3" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_IncomeTaxExpenseBenefitContinuingOperationsAdjustmentOfDeferredTaxAssetLiability" xlink:type="arc"/>
    <link:definitionArc order="4" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_UndistributedEarningsOfForeignSubsidiaries" xlink:type="arc"/>
    <link:definitionArc order="5" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_LiabilityForUncertainTaxPositionsNoncurrent" xlink:type="arc"/>
    <link:definitionArc order="6" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_UnrecognizedTaxBenefitsThatWouldImpactEffectiveTaxRate" xlink:type="arc"/>
    <link:definitionArc order="7" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_SignificantChangeInUnrecognizedTaxBenefitsIsReasonablyPossibleAmountOfUnrecordedBenefit" xlink:type="arc"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://www.descartes.com/20200131/role/statement-note-19-contract-balances-performance-obligations-and-contract-costs-1-details-textual" xlink:href="dsgx-20200131.xsd#statement-note-19-contract-balances-performance-obligations-and-contract-costs-1-details-textual" xlink:type="simple"/>
  <link:definitionLink xlink:role="http://www.descartes.com/20200131/role/statement-note-19-contract-balances-performance-obligations-and-contract-costs-1-details-textual" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_CapitalizedContractCostAmortization" xlink:label="us-gaap_CapitalizedContractCostAmortization" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_CapitalizedContractCostImpairmentLoss" xlink:label="us-gaap_CapitalizedContractCostImpairmentLoss" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_CapitalizedContractCostNet" xlink:label="us-gaap_CapitalizedContractCostNet" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain-default" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xbrldt:contextElement="segment" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_CapitalizedContractCostNet" xlink:type="arc"/>
    <link:definitionArc order="2" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_CapitalizedContractCostAmortization" xlink:type="arc"/>
    <link:definitionArc order="3" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_CapitalizedContractCostImpairmentLoss" xlink:type="arc"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://www.descartes.com/20200131/role/statement-note-19-contract-balances-performance-obligations-and-contract-costs-2-details-textual" xlink:href="dsgx-20200131.xsd#statement-note-19-contract-balances-performance-obligations-and-contract-costs-2-details-textual" xlink:type="simple"/>
  <link:definitionLink xlink:role="http://www.descartes.com/20200131/role/statement-note-19-contract-balances-performance-obligations-and-contract-costs-2-details-textual" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_RevenueRemainingPerformanceObligation" xlink:label="us-gaap_RevenueRemainingPerformanceObligation" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1" xlink:label="us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis" xlink:label="us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_RevenueRemainingPerformanceObligationPercentage" xlink:label="us-gaap_RevenueRemainingPerformanceObligationPercentage" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain-default" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xbrldt:contextElement="segment" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_RevenueRemainingPerformanceObligation" xlink:type="arc"/>
    <link:definitionArc order="2" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_RevenueRemainingPerformanceObligationPercentage" xlink:type="arc"/>
    <link:definitionArc order="3" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1" xlink:type="arc"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://www.descartes.com/20200131/role/statement-note-22-segmented-information-details-textual" xlink:href="dsgx-20200131.xsd#statement-note-22-segmented-information-details-textual" xlink:type="simple"/>
  <link:definitionLink xlink:role="http://www.descartes.com/20200131/role/statement-note-22-segmented-information-details-textual" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_NumberOfReportableSegments" xlink:label="us-gaap_NumberOfReportableSegments" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain-default" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xbrldt:contextElement="segment" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_NumberOfReportableSegments" xlink:type="arc"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://www.descartes.com/20200131/role/statement-note-23-subsequent-event-details-textual" xlink:href="dsgx-20200131.xsd#statement-note-23-subsequent-event-details-textual" xlink:type="simple"/>
  <link:definitionLink xlink:role="http://www.descartes.com/20200131/role/statement-note-23-subsequent-event-details-textual" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="dsgx-20200131.xsd#dsgx_PeoplevoxLimitedMember" xlink:label="dsgx_PeoplevoxLimitedMember" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_BusinessAcquisitionAcquireeDomain" xlink:label="us-gaap_BusinessAcquisitionAcquireeDomain" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_BusinessAcquisitionAcquireeDomain" xlink:label="us-gaap_BusinessAcquisitionAcquireeDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_BusinessAcquisitionAxis" xlink:label="us-gaap_BusinessAcquisitionAxis" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_PaymentsToAcquireBusinessesNetOfCashAcquired" xlink:label="us-gaap_PaymentsToAcquireBusinessesNetOfCashAcquired" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_SubsequentEventMember" xlink:label="us-gaap_SubsequentEventMember" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_SubsequentEventTypeAxis" xlink:label="us-gaap_SubsequentEventTypeAxis" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_SubsequentEventTypeDomain" xlink:label="us-gaap_SubsequentEventTypeDomain" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_SubsequentEventTypeDomain" xlink:label="us-gaap_SubsequentEventTypeDomain-default" xlink:type="locator"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="us-gaap_BusinessAcquisitionAxis" xlink:to="us-gaap_BusinessAcquisitionAcquireeDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="us-gaap_SubsequentEventTypeAxis" xlink:to="us-gaap_SubsequentEventTypeDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_SubsequentEventTypeAxis" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_SubsequentEventTypeDomain" xlink:to="us-gaap_SubsequentEventMember" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="us-gaap_SubsequentEventTypeAxis" xlink:to="us-gaap_SubsequentEventTypeDomain-default" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_BusinessAcquisitionAxis" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_BusinessAcquisitionAcquireeDomain" xlink:to="dsgx_PeoplevoxLimitedMember" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="us-gaap_BusinessAcquisitionAxis" xlink:to="us-gaap_BusinessAcquisitionAcquireeDomain-default" xlink:type="arc"/>
    <link:definitionArc order="2" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain-default" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xbrldt:contextElement="segment" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_PaymentsToAcquireBusinessesNetOfCashAcquired" xlink:type="arc"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://www.descartes.com/20200131/role/statement-note-3-acquisitions-preliminary-purchase-price-allocation-for-businesses-acquired-details-parentheticals" xlink:href="dsgx-20200131.xsd#statement-note-3-acquisitions-preliminary-purchase-price-allocation-for-businesses-acquired-details-parentheticals" xlink:type="simple"/>
  <link:definitionLink xlink:role="http://www.descartes.com/20200131/role/statement-note-3-acquisitions-preliminary-purchase-price-allocation-for-businesses-acquired-details-parentheticals" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="dsgx-20200131.xsd#dsgx_AljexSoftwareIncMember" xlink:label="dsgx_AljexSoftwareIncMember" xlink:type="locator"/>
    <link:loc xlink:href="dsgx-20200131.xsd#dsgx_BesttransportMember" xlink:label="dsgx_BesttransportMember" xlink:type="locator"/>
    <link:loc xlink:href="dsgx-20200131.xsd#dsgx_CoreTransportTechnologiesNzLimitedMember" xlink:label="dsgx_CoreTransportTechnologiesNzLimitedMember" xlink:type="locator"/>
    <link:loc xlink:href="dsgx-20200131.xsd#dsgx_MacroPointLLCMember" xlink:label="dsgx_MacroPointLLCMember" xlink:type="locator"/>
    <link:loc xlink:href="dsgx-20200131.xsd#dsgx_PCSTracIncMember" xlink:label="dsgx_PCSTracIncMember" xlink:type="locator"/>
    <link:loc xlink:href="dsgx-20200131.xsd#dsgx_PinPointMember" xlink:label="dsgx_PinPointMember" xlink:type="locator"/>
    <link:loc xlink:href="dsgx-20200131.xsd#dsgx_ShipRushMember" xlink:label="dsgx_ShipRushMember" xlink:type="locator"/>
    <link:loc xlink:href="dsgx-20200131.xsd#dsgx_StepcomMember" xlink:label="dsgx_StepcomMember" xlink:type="locator"/>
    <link:loc xlink:href="dsgx-20200131.xsd#dsgx_VelocityMailMember" xlink:label="dsgx_VelocityMailMember" xlink:type="locator"/>
    <link:loc xlink:href="dsgx-20200131.xsd#dsgx_VisualComplianceMember" xlink:label="dsgx_VisualComplianceMember" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_BusinessAcquisitionAcquireeDomain" xlink:label="us-gaap_BusinessAcquisitionAcquireeDomain" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_BusinessAcquisitionAcquireeDomain" xlink:label="us-gaap_BusinessAcquisitionAcquireeDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_BusinessAcquisitionAxis" xlink:label="us-gaap_BusinessAcquisitionAxis" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_CashAcquiredFromAcquisition" xlink:label="us-gaap_CashAcquiredFromAcquisition" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="us-gaap_BusinessAcquisitionAxis" xlink:to="us-gaap_BusinessAcquisitionAcquireeDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_BusinessAcquisitionAxis" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_BusinessAcquisitionAcquireeDomain" xlink:to="dsgx_VisualComplianceMember" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="us-gaap_BusinessAcquisitionAxis" xlink:to="us-gaap_BusinessAcquisitionAcquireeDomain-default" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_BusinessAcquisitionAcquireeDomain" xlink:to="dsgx_CoreTransportTechnologiesNzLimitedMember" xlink:type="arc"/>
    <link:definitionArc order="2" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_BusinessAcquisitionAcquireeDomain" xlink:to="dsgx_StepcomMember" xlink:type="arc"/>
    <link:definitionArc order="3" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_BusinessAcquisitionAcquireeDomain" xlink:to="dsgx_BesttransportMember" xlink:type="arc"/>
    <link:definitionArc order="4" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_BusinessAcquisitionAcquireeDomain" xlink:to="dsgx_AljexSoftwareIncMember" xlink:type="arc"/>
    <link:definitionArc order="5" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_BusinessAcquisitionAcquireeDomain" xlink:to="dsgx_VelocityMailMember" xlink:type="arc"/>
    <link:definitionArc order="6" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_BusinessAcquisitionAcquireeDomain" xlink:to="dsgx_PinPointMember" xlink:type="arc"/>
    <link:definitionArc order="7" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_BusinessAcquisitionAcquireeDomain" xlink:to="dsgx_ShipRushMember" xlink:type="arc"/>
    <link:definitionArc order="8" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_BusinessAcquisitionAcquireeDomain" xlink:to="dsgx_PCSTracIncMember" xlink:type="arc"/>
    <link:definitionArc order="9" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_BusinessAcquisitionAcquireeDomain" xlink:to="dsgx_MacroPointLLCMember" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain-default" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xbrldt:contextElement="segment" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_CashAcquiredFromAcquisition" xlink:type="arc"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://www.descartes.com/20200131/role/statement-note-3-acquisitions-acquired-intangible-assets-useful-lives-details" xlink:href="dsgx-20200131.xsd#statement-note-3-acquisitions-acquired-intangible-assets-useful-lives-details" xlink:type="simple"/>
  <link:definitionLink xlink:role="http://www.descartes.com/20200131/role/statement-note-3-acquisitions-acquired-intangible-assets-useful-lives-details" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="dsgx-20200131.xsd#dsgx_AljexSoftwareIncMember" xlink:label="dsgx_AljexSoftwareIncMember" xlink:type="locator"/>
    <link:loc xlink:href="dsgx-20200131.xsd#dsgx_BesttransportMember" xlink:label="dsgx_BesttransportMember" xlink:type="locator"/>
    <link:loc xlink:href="dsgx-20200131.xsd#dsgx_CoreTransportTechnologiesNzLimitedMember" xlink:label="dsgx_CoreTransportTechnologiesNzLimitedMember" xlink:type="locator"/>
    <link:loc xlink:href="dsgx-20200131.xsd#dsgx_ExistingTechnologyMember" xlink:label="dsgx_ExistingTechnologyMember" xlink:type="locator"/>
    <link:loc xlink:href="dsgx-20200131.xsd#dsgx_MacroPointLLCMember" xlink:label="dsgx_MacroPointLLCMember" xlink:type="locator"/>
    <link:loc xlink:href="dsgx-20200131.xsd#dsgx_PCSTracIncMember" xlink:label="dsgx_PCSTracIncMember" xlink:type="locator"/>
    <link:loc xlink:href="dsgx-20200131.xsd#dsgx_PinPointMember" xlink:label="dsgx_PinPointMember" xlink:type="locator"/>
    <link:loc xlink:href="dsgx-20200131.xsd#dsgx_ShipRushMember" xlink:label="dsgx_ShipRushMember" xlink:type="locator"/>
    <link:loc xlink:href="dsgx-20200131.xsd#dsgx_StepcomMember" xlink:label="dsgx_StepcomMember" xlink:type="locator"/>
    <link:loc xlink:href="dsgx-20200131.xsd#dsgx_VelocityMailMember" xlink:label="dsgx_VelocityMailMember" xlink:type="locator"/>
    <link:loc xlink:href="dsgx-20200131.xsd#dsgx_VisualComplianceMember" xlink:label="dsgx_VisualComplianceMember" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_BusinessAcquisitionAcquireeDomain" xlink:label="us-gaap_BusinessAcquisitionAcquireeDomain" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_BusinessAcquisitionAcquireeDomain" xlink:label="us-gaap_BusinessAcquisitionAcquireeDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_BusinessAcquisitionAxis" xlink:label="us-gaap_BusinessAcquisitionAxis" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_CustomerRelationshipsMember" xlink:label="us-gaap_CustomerRelationshipsMember" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetUsefulLife" xlink:label="us-gaap_FiniteLivedIntangibleAssetUsefulLife" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis" xlink:label="us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain" xlink:label="us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain" xlink:label="us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_NoncompeteAgreementsMember" xlink:label="us-gaap_NoncompeteAgreementsMember" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_TradeNamesMember" xlink:label="us-gaap_TradeNamesMember" xlink:type="locator"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="us-gaap_BusinessAcquisitionAxis" xlink:to="us-gaap_BusinessAcquisitionAcquireeDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis" xlink:to="us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain" xlink:to="us-gaap_CustomerRelationshipsMember" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis" xlink:to="us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain-default" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_BusinessAcquisitionAxis" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_BusinessAcquisitionAcquireeDomain" xlink:to="dsgx_VisualComplianceMember" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="us-gaap_BusinessAcquisitionAxis" xlink:to="us-gaap_BusinessAcquisitionAcquireeDomain-default" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_BusinessAcquisitionAcquireeDomain" xlink:to="dsgx_CoreTransportTechnologiesNzLimitedMember" xlink:type="arc"/>
    <link:definitionArc order="2" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_BusinessAcquisitionAcquireeDomain" xlink:to="dsgx_StepcomMember" xlink:type="arc"/>
    <link:definitionArc order="3" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_BusinessAcquisitionAcquireeDomain" xlink:to="dsgx_BesttransportMember" xlink:type="arc"/>
    <link:definitionArc order="4" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_BusinessAcquisitionAcquireeDomain" xlink:to="dsgx_AljexSoftwareIncMember" xlink:type="arc"/>
    <link:definitionArc order="5" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_BusinessAcquisitionAcquireeDomain" xlink:to="dsgx_VelocityMailMember" xlink:type="arc"/>
    <link:definitionArc order="6" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_BusinessAcquisitionAcquireeDomain" xlink:to="dsgx_PinPointMember" xlink:type="arc"/>
    <link:definitionArc order="7" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_BusinessAcquisitionAcquireeDomain" xlink:to="dsgx_ShipRushMember" xlink:type="arc"/>
    <link:definitionArc order="8" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_BusinessAcquisitionAcquireeDomain" xlink:to="dsgx_PCSTracIncMember" xlink:type="arc"/>
    <link:definitionArc order="9" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_BusinessAcquisitionAcquireeDomain" xlink:to="dsgx_MacroPointLLCMember" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain" xlink:to="dsgx_ExistingTechnologyMember" xlink:type="arc"/>
    <link:definitionArc order="2" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain" xlink:to="us-gaap_TradeNamesMember" xlink:type="arc"/>
    <link:definitionArc order="3" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain" xlink:to="us-gaap_NoncompeteAgreementsMember" xlink:type="arc"/>
    <link:definitionArc order="2" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain-default" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xbrldt:contextElement="segment" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_FiniteLivedIntangibleAssetUsefulLife" xlink:type="arc"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://www.descartes.com/20200131/role/statement-note-13-leases-components-of-operating-lease-expense-details" xlink:href="dsgx-20200131.xsd#statement-note-13-leases-components-of-operating-lease-expense-details" xlink:type="simple"/>
  <link:definitionLink xlink:role="http://www.descartes.com/20200131/role/statement-note-13-leases-components-of-operating-lease-expense-details" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_LeaseCost" xlink:label="us-gaap_LeaseCost" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_OperatingLeaseCost" xlink:label="us-gaap_OperatingLeaseCost" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_OperatingLeasePayments" xlink:label="us-gaap_OperatingLeasePayments" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_OperatingLeaseWeightedAverageDiscountRatePercent" xlink:label="us-gaap_OperatingLeaseWeightedAverageDiscountRatePercent" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_OperatingLeaseWeightedAverageRemainingLeaseTerm1" xlink:label="us-gaap_OperatingLeaseWeightedAverageRemainingLeaseTerm1" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability" xlink:label="us-gaap_RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ShortTermLeaseCost" xlink:label="us-gaap_ShortTermLeaseCost" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain-default" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xbrldt:contextElement="segment" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_OperatingLeaseCost" xlink:type="arc"/>
    <link:definitionArc order="2" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_ShortTermLeaseCost" xlink:type="arc"/>
    <link:definitionArc order="3" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_LeaseCost" xlink:type="arc"/>
    <link:definitionArc order="4" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_OperatingLeasePayments" xlink:type="arc"/>
    <link:definitionArc order="5" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability" xlink:type="arc"/>
    <link:definitionArc order="6" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_OperatingLeaseWeightedAverageRemainingLeaseTerm1" xlink:type="arc"/>
    <link:definitionArc order="7" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_OperatingLeaseWeightedAverageDiscountRatePercent" xlink:type="arc"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://www.descartes.com/20200131/role/statement-note-13-leases-maturities-of-operating-lease-liabilities-details" xlink:href="dsgx-20200131.xsd#statement-note-13-leases-maturities-of-operating-lease-liabilities-details" xlink:type="simple"/>
  <link:definitionLink xlink:role="http://www.descartes.com/20200131/role/statement-note-13-leases-maturities-of-operating-lease-liabilities-details" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueAfterYearFive" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueAfterYearFive" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFive" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFive" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFour" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFour" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearThree" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearThree" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearTwo" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearTwo" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_LesseeOperatingLeaseLiabilityUndiscountedExcessAmount" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityUndiscountedExcessAmount" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_OperatingLeaseLiability" xlink:label="us-gaap_OperatingLeaseLiability" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_OperatingLeaseLiabilityCurrent" xlink:label="us-gaap_OperatingLeaseLiabilityCurrent" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_OperatingLeaseLiabilityNoncurrent" xlink:label="us-gaap_OperatingLeaseLiabilityNoncurrent" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain-default" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xbrldt:contextElement="segment" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths" xlink:type="arc"/>
    <link:definitionArc order="2" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearTwo" xlink:type="arc"/>
    <link:definitionArc order="3" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearThree" xlink:type="arc"/>
    <link:definitionArc order="4" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFour" xlink:type="arc"/>
    <link:definitionArc order="5" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFive" xlink:type="arc"/>
    <link:definitionArc order="6" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueAfterYearFive" xlink:type="arc"/>
    <link:definitionArc order="7" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue" xlink:type="arc"/>
    <link:definitionArc order="8" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_LesseeOperatingLeaseLiabilityUndiscountedExcessAmount" xlink:type="arc"/>
    <link:definitionArc order="9" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_OperatingLeaseLiability" xlink:type="arc"/>
    <link:definitionArc order="10" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_OperatingLeaseLiabilityCurrent" xlink:type="arc"/>
    <link:definitionArc order="11" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_OperatingLeaseLiabilityNoncurrent" xlink:type="arc"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://www.descartes.com/20200131/role/statement-note-13-leases-lease-obligations-details" xlink:href="dsgx-20200131.xsd#statement-note-13-leases-lease-obligations-details" xlink:type="simple"/>
  <link:definitionLink xlink:role="http://www.descartes.com/20200131/role/statement-note-13-leases-lease-obligations-details" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="dsgx-20200131.xsd#dsgx_CapitalLeasesMember" xlink:label="dsgx_CapitalLeasesMember" xlink:type="locator"/>
    <link:loc xlink:href="dsgx-20200131.xsd#dsgx_ContractualObligationDueInEigthYear" xlink:label="dsgx_ContractualObligationDueInEigthYear" xlink:type="locator"/>
    <link:loc xlink:href="dsgx-20200131.xsd#dsgx_ContractualObligationDueInSeventhYear" xlink:label="dsgx_ContractualObligationDueInSeventhYear" xlink:type="locator"/>
    <link:loc xlink:href="dsgx-20200131.xsd#dsgx_ContractualObligationDueInSixthYear" xlink:label="dsgx_ContractualObligationDueInSixthYear" xlink:type="locator"/>
    <link:loc xlink:href="dsgx-20200131.xsd#dsgx_OperatingLeasesMember" xlink:label="dsgx_OperatingLeasesMember" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ContractualObligation" xlink:label="us-gaap_ContractualObligation" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ContractualObligationDueInFifthYear" xlink:label="us-gaap_ContractualObligationDueInFifthYear" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ContractualObligationDueInFourthYear" xlink:label="us-gaap_ContractualObligationDueInFourthYear" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ContractualObligationDueInNextTwelveMonths" xlink:label="us-gaap_ContractualObligationDueInNextTwelveMonths" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ContractualObligationDueInSecondYear" xlink:label="us-gaap_ContractualObligationDueInSecondYear" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ContractualObligationDueInThirdYear" xlink:label="us-gaap_ContractualObligationDueInThirdYear" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_LeaseArrangementTypeAxis" xlink:label="us-gaap_LeaseArrangementTypeAxis" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_LeaseArrangementTypeDomain" xlink:label="us-gaap_LeaseArrangementTypeDomain" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_LeaseArrangementTypeDomain" xlink:label="us-gaap_LeaseArrangementTypeDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="us-gaap_LeaseArrangementTypeAxis" xlink:to="us-gaap_LeaseArrangementTypeDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_LeaseArrangementTypeAxis" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_LeaseArrangementTypeDomain" xlink:to="dsgx_OperatingLeasesMember" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="us-gaap_LeaseArrangementTypeAxis" xlink:to="us-gaap_LeaseArrangementTypeDomain-default" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_LeaseArrangementTypeDomain" xlink:to="dsgx_CapitalLeasesMember" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain-default" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xbrldt:contextElement="segment" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_ContractualObligationDueInNextTwelveMonths" xlink:type="arc"/>
    <link:definitionArc order="2" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_ContractualObligationDueInSecondYear" xlink:type="arc"/>
    <link:definitionArc order="3" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_ContractualObligationDueInThirdYear" xlink:type="arc"/>
    <link:definitionArc order="4" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_ContractualObligationDueInFourthYear" xlink:type="arc"/>
    <link:definitionArc order="5" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_ContractualObligationDueInFifthYear" xlink:type="arc"/>
    <link:definitionArc order="6" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="dsgx_ContractualObligationDueInSixthYear" xlink:type="arc"/>
    <link:definitionArc order="7" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="dsgx_ContractualObligationDueInSeventhYear" xlink:type="arc"/>
    <link:definitionArc order="8" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="dsgx_ContractualObligationDueInEigthYear" xlink:type="arc"/>
    <link:definitionArc order="9" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_ContractualObligation" xlink:type="arc"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://www.descartes.com/20200131/role/statement-note-17-stockbased-compensation-plans-assumptions-used-in-blackscholes-model-for-each-grant-details" xlink:href="dsgx-20200131.xsd#statement-note-17-stockbased-compensation-plans-assumptions-used-in-blackscholes-model-for-each-grant-details" xlink:type="simple"/>
  <link:definitionLink xlink:role="http://www.descartes.com/20200131/role/statement-note-17-stockbased-compensation-plans-assumptions-used-in-blackscholes-model-for-each-grant-details" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1" xlink:label="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain-default" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xbrldt:contextElement="segment" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate" xlink:type="arc"/>
    <link:definitionArc order="2" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate" xlink:type="arc"/>
    <link:definitionArc order="3" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate" xlink:type="arc"/>
    <link:definitionArc order="4" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1" xlink:type="arc"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://www.descartes.com/20200131/role/statement-note-17-stockbased-compensation-plans-summary-of-option-activity-details" xlink:href="dsgx-20200131.xsd#statement-note-17-stockbased-compensation-plans-summary-of-option-activity-details" xlink:type="simple"/>
  <link:definitionLink xlink:role="http://www.descartes.com/20200131/role/statement-note-17-stockbased-compensation-plans-summary-of-option-activity-details" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresInPeriod" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresInPeriod" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingAggregateIntrinsicValue" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingAggregateIntrinsicValue" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingNumber" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingNumber" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageExercisePrice" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageExercisePrice" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice" xlink:label="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsForfeituresInPeriodWeightedAverageExercisePrice" xlink:label="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsForfeituresInPeriodWeightedAverageExercisePrice" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice" xlink:label="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableIntrinsicValue1" xlink:label="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableIntrinsicValue1" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageRemainingContractualTerm1" xlink:label="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageRemainingContractualTerm1" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2" xlink:label="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageRemainingContractualTerm1" xlink:label="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageRemainingContractualTerm1" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised" xlink:label="us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised" xlink:type="locator"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain-default" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xbrldt:contextElement="segment" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber" xlink:type="arc"/>
    <link:definitionArc order="2" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice" xlink:type="arc"/>
    <link:definitionArc order="3" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2" xlink:type="arc"/>
    <link:definitionArc order="4" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue" xlink:type="arc"/>
    <link:definitionArc order="5" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross" xlink:type="arc"/>
    <link:definitionArc order="6" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice" xlink:type="arc"/>
    <link:definitionArc order="7" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised" xlink:type="arc"/>
    <link:definitionArc order="8" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice" xlink:type="arc"/>
    <link:definitionArc order="9" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresInPeriod" xlink:type="arc"/>
    <link:definitionArc order="10" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsForfeituresInPeriodWeightedAverageExercisePrice" xlink:type="arc"/>
    <link:definitionArc order="11" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingNumber" xlink:type="arc"/>
    <link:definitionArc order="12" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageExercisePrice" xlink:type="arc"/>
    <link:definitionArc order="13" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageRemainingContractualTerm1" xlink:type="arc"/>
    <link:definitionArc order="14" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingAggregateIntrinsicValue" xlink:type="arc"/>
    <link:definitionArc order="15" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber" xlink:type="arc"/>
    <link:definitionArc order="16" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice" xlink:type="arc"/>
    <link:definitionArc order="17" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageRemainingContractualTerm1" xlink:type="arc"/>
    <link:definitionArc order="18" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableIntrinsicValue1" xlink:type="arc"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://www.descartes.com/20200131/role/statement-note-17-stockbased-compensation-plans-summary-of-nonvested-share-details" xlink:href="dsgx-20200131.xsd#statement-note-17-stockbased-compensation-plans-summary-of-nonvested-share-details" xlink:type="simple"/>
  <link:definitionLink xlink:role="http://www.descartes.com/20200131/role/statement-note-17-stockbased-compensation-plans-summary-of-nonvested-share-details" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="dsgx-20200131.xsd#dsgx_ShareholderapprovedStockOptionPlanMember" xlink:label="dsgx_ShareholderapprovedStockOptionPlanMember" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_PlanNameAxis" xlink:label="us-gaap_PlanNameAxis" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_PlanNameDomain" xlink:label="us-gaap_PlanNameDomain" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_PlanNameDomain" xlink:label="us-gaap_PlanNameDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedNumberOfShares" xlink:label="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedNumberOfShares" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedOptionsForfeitedNumberOfShares" xlink:label="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedOptionsForfeitedNumberOfShares" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedOptionsForfeitedWeightedAverageGrantDateFairValue" xlink:label="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedOptionsForfeitedWeightedAverageGrantDateFairValue" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedWeightedAverageGrantDateFairValue" xlink:label="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedWeightedAverageGrantDateFairValue" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedNumberOfShares" xlink:label="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedNumberOfShares" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedWeightedAverageGrantDateFairValue" xlink:label="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedWeightedAverageGrantDateFairValue" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="us-gaap_PlanNameAxis" xlink:to="us-gaap_PlanNameDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_PlanNameAxis" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_PlanNameDomain" xlink:to="dsgx_ShareholderapprovedStockOptionPlanMember" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="us-gaap_PlanNameAxis" xlink:to="us-gaap_PlanNameDomain-default" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain-default" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xbrldt:contextElement="segment" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedNumberOfShares" xlink:type="arc"/>
    <link:definitionArc order="2" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedWeightedAverageGrantDateFairValue" xlink:type="arc"/>
    <link:definitionArc order="3" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross" xlink:type="arc"/>
    <link:definitionArc order="4" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue" xlink:type="arc"/>
    <link:definitionArc order="5" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedNumberOfShares" xlink:type="arc"/>
    <link:definitionArc order="6" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedWeightedAverageGrantDateFairValue" xlink:type="arc"/>
    <link:definitionArc order="7" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedOptionsForfeitedNumberOfShares" xlink:type="arc"/>
    <link:definitionArc order="8" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedOptionsForfeitedWeightedAverageGrantDateFairValue" xlink:type="arc"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://www.descartes.com/20200131/role/statement-note-17-stockbased-compensation-plans-summary-of-performance-share-units-activity-details" xlink:href="dsgx-20200131.xsd#statement-note-17-stockbased-compensation-plans-summary-of-performance-share-units-activity-details" xlink:type="simple"/>
  <link:definitionLink xlink:role="http://www.descartes.com/20200131/role/statement-note-17-stockbased-compensation-plans-summary-of-performance-share-units-activity-details" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="dsgx-20200131.xsd#dsgx_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsAggregateIntrinsicValueExercisable" xlink:label="dsgx_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsAggregateIntrinsicValueExercisable" xlink:type="locator"/>
    <link:loc xlink:href="dsgx-20200131.xsd#dsgx_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsExercisable" xlink:label="dsgx_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsExercisable" xlink:type="locator"/>
    <link:loc xlink:href="dsgx-20200131.xsd#dsgx_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsExercisableWeightedAverageGrantDateFairValue" xlink:label="dsgx_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsExercisableWeightedAverageGrantDateFairValue" xlink:type="locator"/>
    <link:loc xlink:href="dsgx-20200131.xsd#dsgx_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsExercisableWeightedAverageRemainingContractualTerm" xlink:label="dsgx_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsExercisableWeightedAverageRemainingContractualTerm" xlink:type="locator"/>
    <link:loc xlink:href="dsgx-20200131.xsd#dsgx_ShareBasedCompensationArrangementByShareBasedPaymentAwardUnitsIssuedInPeriodWeightedAverageGrantDateFairValue" xlink:label="dsgx_ShareBasedCompensationArrangementByShareBasedPaymentAwardUnitsIssuedInPeriodWeightedAverageGrantDateFairValue" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_AwardTypeAxis" xlink:label="us-gaap_AwardTypeAxis" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_PerformanceSharesMember" xlink:label="us-gaap_PerformanceSharesMember" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsOutstandingWeightedAverageRemainingContractualTerms" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsOutstandingWeightedAverageRemainingContractualTerms" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsOutstandingNumber" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsOutstandingNumber" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingAggregateIntrinsicValue" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingAggregateIntrinsicValue" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingNumber" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingNumber" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageExercisePrice" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageExercisePrice" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardSharesIssuedInPeriod" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardSharesIssuedInPeriod" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:label="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:label="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsAggregateIntrinsicValueOutstanding" xlink:label="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsAggregateIntrinsicValueOutstanding" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageRemainingContractualTerm1" xlink:label="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageRemainingContractualTerm1" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="us-gaap_AwardTypeAxis" xlink:to="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_AwardTypeAxis" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:to="us-gaap_PerformanceSharesMember" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="us-gaap_AwardTypeAxis" xlink:to="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain-default" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain-default" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xbrldt:contextElement="segment" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsOutstandingNumber" xlink:type="arc"/>
    <link:definitionArc order="2" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue" xlink:type="arc"/>
    <link:definitionArc order="3" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsOutstandingWeightedAverageRemainingContractualTerms" xlink:type="arc"/>
    <link:definitionArc order="4" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsAggregateIntrinsicValueOutstanding" xlink:type="arc"/>
    <link:definitionArc order="5" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod" xlink:type="arc"/>
    <link:definitionArc order="6" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue" xlink:type="arc"/>
    <link:definitionArc order="7" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardSharesIssuedInPeriod" xlink:type="arc"/>
    <link:definitionArc order="8" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="dsgx_ShareBasedCompensationArrangementByShareBasedPaymentAwardUnitsIssuedInPeriodWeightedAverageGrantDateFairValue" xlink:type="arc"/>
    <link:definitionArc order="9" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingNumber" xlink:type="arc"/>
    <link:definitionArc order="10" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageExercisePrice" xlink:type="arc"/>
    <link:definitionArc order="11" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageRemainingContractualTerm1" xlink:type="arc"/>
    <link:definitionArc order="12" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingAggregateIntrinsicValue" xlink:type="arc"/>
    <link:definitionArc order="13" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="dsgx_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsExercisable" xlink:type="arc"/>
    <link:definitionArc order="14" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="dsgx_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsExercisableWeightedAverageGrantDateFairValue" xlink:type="arc"/>
    <link:definitionArc order="15" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="dsgx_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsExercisableWeightedAverageRemainingContractualTerm" xlink:type="arc"/>
    <link:definitionArc order="16" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="dsgx_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsAggregateIntrinsicValueExercisable" xlink:type="arc"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://www.descartes.com/20200131/role/statement-note-17-stockbased-compensation-plans-summary-of-restricted-share-units-activity-details" xlink:href="dsgx-20200131.xsd#statement-note-17-stockbased-compensation-plans-summary-of-restricted-share-units-activity-details" xlink:type="simple"/>
  <link:definitionLink xlink:role="http://www.descartes.com/20200131/role/statement-note-17-stockbased-compensation-plans-summary-of-restricted-share-units-activity-details" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="dsgx-20200131.xsd#dsgx_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsAggregateIntrinsicValueExercisable" xlink:label="dsgx_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsAggregateIntrinsicValueExercisable" xlink:type="locator"/>
    <link:loc xlink:href="dsgx-20200131.xsd#dsgx_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsExercisable" xlink:label="dsgx_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsExercisable" xlink:type="locator"/>
    <link:loc xlink:href="dsgx-20200131.xsd#dsgx_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsExercisableWeightedAverageGrantDateFairValue" xlink:label="dsgx_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsExercisableWeightedAverageGrantDateFairValue" xlink:type="locator"/>
    <link:loc xlink:href="dsgx-20200131.xsd#dsgx_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsExercisableWeightedAverageRemainingContractualTerm" xlink:label="dsgx_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsExercisableWeightedAverageRemainingContractualTerm" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_AwardTypeAxis" xlink:label="us-gaap_AwardTypeAxis" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_RestrictedStockUnitsRSUMember" xlink:label="us-gaap_RestrictedStockUnitsRSUMember" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsOutstandingWeightedAverageRemainingContractualTerms" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsOutstandingWeightedAverageRemainingContractualTerms" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsOutstandingNumber" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsOutstandingNumber" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestExercisableNumber" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestExercisableNumber" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingAggregateIntrinsicValue" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingAggregateIntrinsicValue" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageExercisePrice" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageExercisePrice" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:label="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:label="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsAggregateIntrinsicValueOutstanding" xlink:label="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsAggregateIntrinsicValueOutstanding" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageRemainingContractualTerm1" xlink:label="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageRemainingContractualTerm1" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="us-gaap_AwardTypeAxis" xlink:to="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_AwardTypeAxis" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:to="us-gaap_RestrictedStockUnitsRSUMember" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="us-gaap_AwardTypeAxis" xlink:to="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain-default" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain-default" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xbrldt:contextElement="segment" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsOutstandingNumber" xlink:type="arc"/>
    <link:definitionArc order="2" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue" xlink:type="arc"/>
    <link:definitionArc order="3" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsOutstandingWeightedAverageRemainingContractualTerms" xlink:type="arc"/>
    <link:definitionArc order="4" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsAggregateIntrinsicValueOutstanding" xlink:type="arc"/>
    <link:definitionArc order="5" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod" xlink:type="arc"/>
    <link:definitionArc order="6" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue" xlink:type="arc"/>
    <link:definitionArc order="7" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestExercisableNumber" xlink:type="arc"/>
    <link:definitionArc order="8" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageExercisePrice" xlink:type="arc"/>
    <link:definitionArc order="9" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageRemainingContractualTerm1" xlink:type="arc"/>
    <link:definitionArc order="10" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingAggregateIntrinsicValue" xlink:type="arc"/>
    <link:definitionArc order="11" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="dsgx_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsExercisable" xlink:type="arc"/>
    <link:definitionArc order="12" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="dsgx_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsExercisableWeightedAverageGrantDateFairValue" xlink:type="arc"/>
    <link:definitionArc order="13" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="dsgx_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsExercisableWeightedAverageRemainingContractualTerm" xlink:type="arc"/>
    <link:definitionArc order="14" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="dsgx_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsAggregateIntrinsicValueExercisable" xlink:type="arc"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://www.descartes.com/20200131/role/statement-note-17-stockbased-compensation-plans-summary-of-crsu-plan-activity-details" xlink:href="dsgx-20200131.xsd#statement-note-17-stockbased-compensation-plans-summary-of-crsu-plan-activity-details" xlink:type="simple"/>
  <link:definitionLink xlink:role="http://www.descartes.com/20200131/role/statement-note-17-stockbased-compensation-plans-summary-of-crsu-plan-activity-details" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="dsgx-20200131.xsd#dsgx_CRSUAwardNonvestedNumber" xlink:label="dsgx_CRSUAwardNonvestedNumber" xlink:type="locator"/>
    <link:loc xlink:href="dsgx-20200131.xsd#dsgx_CRSUAwardNonvestedWeightedAverageContractualLife" xlink:label="dsgx_CRSUAwardNonvestedWeightedAverageContractualLife" xlink:type="locator"/>
    <link:loc xlink:href="dsgx-20200131.xsd#dsgx_CRSUAwardsGrantsInPeriod" xlink:label="dsgx_CRSUAwardsGrantsInPeriod" xlink:type="locator"/>
    <link:loc xlink:href="dsgx-20200131.xsd#dsgx_CRSUAwardsOutstandingNumber" xlink:label="dsgx_CRSUAwardsOutstandingNumber" xlink:type="locator"/>
    <link:loc xlink:href="dsgx-20200131.xsd#dsgx_CRSUAwardsVestedAndSettledInCash" xlink:label="dsgx_CRSUAwardsVestedAndSettledInCash" xlink:type="locator"/>
    <link:loc xlink:href="dsgx-20200131.xsd#dsgx_CRSUAwardsWeightedAverageContractualLife" xlink:label="dsgx_CRSUAwardsWeightedAverageContractualLife" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain-default" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xbrldt:contextElement="segment" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="dsgx_CRSUAwardsOutstandingNumber" xlink:type="arc"/>
    <link:definitionArc order="2" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="dsgx_CRSUAwardsWeightedAverageContractualLife" xlink:type="arc"/>
    <link:definitionArc order="3" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="dsgx_CRSUAwardsGrantsInPeriod" xlink:type="arc"/>
    <link:definitionArc order="4" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="dsgx_CRSUAwardsVestedAndSettledInCash" xlink:type="arc"/>
    <link:definitionArc order="5" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="dsgx_CRSUAwardNonvestedNumber" xlink:type="arc"/>
    <link:definitionArc order="6" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="dsgx_CRSUAwardNonvestedWeightedAverageContractualLife" xlink:type="arc"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://www.descartes.com/20200131/role/statement-note-18-income-taxes-income-tax-loss-carryforwards-expiration-dates-details" xlink:href="dsgx-20200131.xsd#statement-note-18-income-taxes-income-tax-loss-carryforwards-expiration-dates-details" xlink:type="simple"/>
  <link:definitionLink xlink:role="http://www.descartes.com/20200131/role/statement-note-18-income-taxes-income-tax-loss-carryforwards-expiration-dates-details" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="dsgx-20200131.xsd#dsgx_AfterTaxYear2025Member" xlink:label="dsgx_AfterTaxYear2025Member" xlink:type="locator"/>
    <link:loc xlink:href="dsgx-20200131.xsd#dsgx_AsiaPacificIncomeTaxAuthorityMember" xlink:label="dsgx_AsiaPacificIncomeTaxAuthorityMember" xlink:type="locator"/>
    <link:loc xlink:href="dsgx-20200131.xsd#dsgx_EmeaIncomeTaxAuthorityMember" xlink:label="dsgx_EmeaIncomeTaxAuthorityMember" xlink:type="locator"/>
    <link:loc xlink:href="dsgx-20200131.xsd#dsgx_TaxYear2021Member" xlink:label="dsgx_TaxYear2021Member" xlink:type="locator"/>
    <link:loc xlink:href="dsgx-20200131.xsd#dsgx_TaxYear2022Member" xlink:label="dsgx_TaxYear2022Member" xlink:type="locator"/>
    <link:loc xlink:href="dsgx-20200131.xsd#dsgx_TaxYear2023Member" xlink:label="dsgx_TaxYear2023Member" xlink:type="locator"/>
    <link:loc xlink:href="dsgx-20200131.xsd#dsgx_TaxYear2024Member" xlink:label="dsgx_TaxYear2024Member" xlink:type="locator"/>
    <link:loc xlink:href="dsgx-20200131.xsd#dsgx_TaxYear2025Member" xlink:label="dsgx_TaxYear2025Member" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_CanadaRevenueAgencyMember" xlink:label="us-gaap_CanadaRevenueAgencyMember" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_DomesticCountryMember" xlink:label="us-gaap_DomesticCountryMember" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ForeignCountryMember" xlink:label="us-gaap_ForeignCountryMember" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_IncomeTaxAuthorityAxis" xlink:label="us-gaap_IncomeTaxAuthorityAxis" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_IncomeTaxAuthorityDomain" xlink:label="us-gaap_IncomeTaxAuthorityDomain" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_IncomeTaxAuthorityDomain" xlink:label="us-gaap_IncomeTaxAuthorityDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_IncomeTaxAuthorityNameAxis" xlink:label="us-gaap_IncomeTaxAuthorityNameAxis" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_IncomeTaxAuthorityNameDomain" xlink:label="us-gaap_IncomeTaxAuthorityNameDomain" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_IncomeTaxAuthorityNameDomain" xlink:label="us-gaap_IncomeTaxAuthorityNameDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_InternalRevenueServiceIRSMember" xlink:label="us-gaap_InternalRevenueServiceIRSMember" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_OperatingLossCarryforwards" xlink:label="us-gaap_OperatingLossCarryforwards" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_TaxPeriodAxis" xlink:label="us-gaap_TaxPeriodAxis" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_TaxPeriodDomain" xlink:label="us-gaap_TaxPeriodDomain" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_TaxPeriodDomain" xlink:label="us-gaap_TaxPeriodDomain-default" xlink:type="locator"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="us-gaap_IncomeTaxAuthorityNameAxis" xlink:to="us-gaap_IncomeTaxAuthorityNameDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="us-gaap_IncomeTaxAuthorityAxis" xlink:to="us-gaap_IncomeTaxAuthorityDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="us-gaap_TaxPeriodAxis" xlink:to="us-gaap_TaxPeriodDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_TaxPeriodAxis" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_TaxPeriodDomain" xlink:to="dsgx_TaxYear2021Member" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="us-gaap_TaxPeriodAxis" xlink:to="us-gaap_TaxPeriodDomain-default" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_IncomeTaxAuthorityAxis" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_IncomeTaxAuthorityDomain" xlink:to="us-gaap_ForeignCountryMember" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="us-gaap_IncomeTaxAuthorityAxis" xlink:to="us-gaap_IncomeTaxAuthorityDomain-default" xlink:type="arc"/>
    <link:definitionArc order="2" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_IncomeTaxAuthorityNameAxis" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_IncomeTaxAuthorityNameDomain" xlink:to="us-gaap_CanadaRevenueAgencyMember" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="us-gaap_IncomeTaxAuthorityNameAxis" xlink:to="us-gaap_IncomeTaxAuthorityNameDomain-default" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_IncomeTaxAuthorityDomain" xlink:to="us-gaap_DomesticCountryMember" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_IncomeTaxAuthorityNameDomain" xlink:to="dsgx_EmeaIncomeTaxAuthorityMember" xlink:type="arc"/>
    <link:definitionArc order="2" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_IncomeTaxAuthorityNameDomain" xlink:to="dsgx_AsiaPacificIncomeTaxAuthorityMember" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_TaxPeriodDomain" xlink:to="dsgx_TaxYear2022Member" xlink:type="arc"/>
    <link:definitionArc order="3" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_IncomeTaxAuthorityNameDomain" xlink:to="us-gaap_InternalRevenueServiceIRSMember" xlink:type="arc"/>
    <link:definitionArc order="2" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_TaxPeriodDomain" xlink:to="dsgx_TaxYear2023Member" xlink:type="arc"/>
    <link:definitionArc order="3" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_TaxPeriodDomain" xlink:to="dsgx_TaxYear2024Member" xlink:type="arc"/>
    <link:definitionArc order="4" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_TaxPeriodDomain" xlink:to="dsgx_TaxYear2025Member" xlink:type="arc"/>
    <link:definitionArc order="5" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_TaxPeriodDomain" xlink:to="dsgx_AfterTaxYear2025Member" xlink:type="arc"/>
    <link:definitionArc order="3" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain-default" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xbrldt:contextElement="segment" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_OperatingLossCarryforwards" xlink:type="arc"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://www.descartes.com/20200131/role/statement-note-19-contract-balances-performance-obligations-and-contract-costs-changes-in-deferred-revenue-and-contract-assets-details" xlink:href="dsgx-20200131.xsd#statement-note-19-contract-balances-performance-obligations-and-contract-costs-changes-in-deferred-revenue-and-contract-assets-details" xlink:type="simple"/>
  <link:definitionLink xlink:role="http://www.descartes.com/20200131/role/statement-note-19-contract-balances-performance-obligations-and-contract-costs-changes-in-deferred-revenue-and-contract-assets-details" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="dsgx-20200131.xsd#dsgx_ContractWithCustomerAssetAdjustmentForAdoptionOfASC606" xlink:label="dsgx_ContractWithCustomerAssetAdjustmentForAdoptionOfASC606" xlink:type="locator"/>
    <link:loc xlink:href="dsgx-20200131.xsd#dsgx_ContractWithCustomerAssetIncreaseDecreaseForForeignExchange" xlink:label="dsgx_ContractWithCustomerAssetIncreaseDecreaseForForeignExchange" xlink:type="locator"/>
    <link:loc xlink:href="dsgx-20200131.xsd#dsgx_ContractWithCustomerAssetIncreaseDecreaseForTermLicensesNet" xlink:label="dsgx_ContractWithCustomerAssetIncreaseDecreaseForTermLicensesNet" xlink:type="locator"/>
    <link:loc xlink:href="dsgx-20200131.xsd#dsgx_ContractWithCustomerContractAssetBeforeAdoptionOfASC606" xlink:label="dsgx_ContractWithCustomerContractAssetBeforeAdoptionOfASC606" xlink:type="locator"/>
    <link:loc xlink:href="dsgx-20200131.xsd#dsgx_ContractWithCustomerLiabilityIncreaseDecreaseForForeignExchange" xlink:label="dsgx_ContractWithCustomerLiabilityIncreaseDecreaseForForeignExchange" xlink:type="locator"/>
    <link:loc xlink:href="dsgx-20200131.xsd#dsgx_ContractWithCustomerLiabilityIncreaseFromDeferralOfRevenue" xlink:label="dsgx_ContractWithCustomerLiabilityIncreaseFromDeferralOfRevenue" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ContractWithCustomerAssetNet" xlink:label="us-gaap_ContractWithCustomerAssetNet" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ContractWithCustomerAssetReclassifiedToReceivable" xlink:label="us-gaap_ContractWithCustomerAssetReclassifiedToReceivable" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ContractWithCustomerLiability" xlink:label="us-gaap_ContractWithCustomerLiability" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ContractWithCustomerLiabilityCurrent" xlink:label="us-gaap_ContractWithCustomerLiabilityCurrent" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ContractWithCustomerLiabilityIncreaseDecreaseForContractAcquiredInBusinessCombination" xlink:label="us-gaap_ContractWithCustomerLiabilityIncreaseDecreaseForContractAcquiredInBusinessCombination" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ContractWithCustomerLiabilityNoncurrent" xlink:label="us-gaap_ContractWithCustomerLiabilityNoncurrent" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ContractWithCustomerLiabilityRevenueRecognized" xlink:label="us-gaap_ContractWithCustomerLiabilityRevenueRecognized" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain-default" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xbrldt:contextElement="segment" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_ContractWithCustomerLiability" xlink:type="arc"/>
    <link:definitionArc order="2" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_ContractWithCustomerLiabilityRevenueRecognized" xlink:type="arc"/>
    <link:definitionArc order="3" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="dsgx_ContractWithCustomerLiabilityIncreaseFromDeferralOfRevenue" xlink:type="arc"/>
    <link:definitionArc order="4" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_ContractWithCustomerLiabilityIncreaseDecreaseForContractAcquiredInBusinessCombination" xlink:type="arc"/>
    <link:definitionArc order="5" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="dsgx_ContractWithCustomerLiabilityIncreaseDecreaseForForeignExchange" xlink:type="arc"/>
    <link:definitionArc order="6" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_ContractWithCustomerLiabilityCurrent" xlink:type="arc"/>
    <link:definitionArc order="7" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_ContractWithCustomerLiabilityNoncurrent" xlink:type="arc"/>
    <link:definitionArc order="8" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="dsgx_ContractWithCustomerContractAssetBeforeAdoptionOfASC606" xlink:type="arc"/>
    <link:definitionArc order="9" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="dsgx_ContractWithCustomerAssetAdjustmentForAdoptionOfASC606" xlink:type="arc"/>
    <link:definitionArc order="10" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_ContractWithCustomerAssetNet" xlink:type="arc"/>
    <link:definitionArc order="11" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_ContractWithCustomerAssetReclassifiedToReceivable" xlink:type="arc"/>
    <link:definitionArc order="12" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="dsgx_ContractWithCustomerAssetIncreaseDecreaseForTermLicensesNet" xlink:type="arc"/>
    <link:definitionArc order="13" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="dsgx_ContractWithCustomerAssetIncreaseDecreaseForForeignExchange" xlink:type="arc"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://www.descartes.com/20200131/role/statement-consolidated-statements-of-cash-flows" xlink:href="dsgx-20200131.xsd#statement-consolidated-statements-of-cash-flows" xlink:type="simple"/>
  <link:definitionLink xlink:role="http://www.descartes.com/20200131/role/statement-consolidated-statements-of-cash-flows" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="dsgx-20200131.xsd#dsgx_DeferredTaxCharges" xlink:label="dsgx_DeferredTaxCharges" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract" xlink:label="us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_AmortizationOfIntangibleAssets" xlink:label="us-gaap_AmortizationOfIntangibleAssets" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_CashAndCashEquivalentsAtCarryingValue" xlink:label="us-gaap_CashAndCashEquivalentsAtCarryingValue" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_CashAndCashEquivalentsPeriodIncreaseDecrease" xlink:label="us-gaap_CashAndCashEquivalentsPeriodIncreaseDecrease" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_DeferredIncomeTaxExpenseBenefit" xlink:label="us-gaap_DeferredIncomeTaxExpenseBenefit" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_Depreciation" xlink:label="us-gaap_Depreciation" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_EffectOfExchangeRateOnCashAndCashEquivalents" xlink:label="us-gaap_EffectOfExchangeRateOnCashAndCashEquivalents" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_IncomeTaxesPaidNet" xlink:label="us-gaap_IncomeTaxesPaidNet" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_IncreaseDecreaseInOperatingCapital" xlink:label="us-gaap_IncreaseDecreaseInOperatingCapital" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_InterestPaidNet" xlink:label="us-gaap_InterestPaidNet" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_NetCashProvidedByUsedInFinancingActivities" xlink:label="us-gaap_NetCashProvidedByUsedInFinancingActivities" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_NetCashProvidedByUsedInFinancingActivitiesContinuingOperationsAbstract" xlink:label="us-gaap_NetCashProvidedByUsedInFinancingActivitiesContinuingOperationsAbstract" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_NetCashProvidedByUsedInInvestingActivities" xlink:label="us-gaap_NetCashProvidedByUsedInInvestingActivities" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_NetCashProvidedByUsedInInvestingActivitiesContinuingOperationsAbstract" xlink:label="us-gaap_NetCashProvidedByUsedInInvestingActivitiesContinuingOperationsAbstract" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_NetCashProvidedByUsedInOperatingActivities" xlink:label="us-gaap_NetCashProvidedByUsedInOperatingActivities" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract" xlink:label="us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_NetIncomeLoss" xlink:label="us-gaap_NetIncomeLoss" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_OtherNoncashIncomeExpense" xlink:label="us-gaap_OtherNoncashIncomeExpense" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_PaymentForContingentConsiderationLiabilityFinancingActivities" xlink:label="us-gaap_PaymentForContingentConsiderationLiabilityFinancingActivities" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_PaymentsOfDebtIssuanceCosts" xlink:label="us-gaap_PaymentsOfDebtIssuanceCosts" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_PaymentsToAcquireBusinessesNetOfCashAcquired" xlink:label="us-gaap_PaymentsToAcquireBusinessesNetOfCashAcquired" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_PaymentsToAcquirePropertyPlantAndEquipment" xlink:label="us-gaap_PaymentsToAcquirePropertyPlantAndEquipment" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ProceedsFromIssuanceOfCommonStock" xlink:label="us-gaap_ProceedsFromIssuanceOfCommonStock" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ProceedsFromLinesOfCredit" xlink:label="us-gaap_ProceedsFromLinesOfCredit" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_RepaymentsOfDebt" xlink:label="us-gaap_RepaymentsOfDebt" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ShareBasedCompensation" xlink:label="us-gaap_ShareBasedCompensation" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_SupplementalCashFlowInformationAbstract" xlink:label="us-gaap_SupplementalCashFlowInformationAbstract" xlink:type="locator"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain-default" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xbrldt:contextElement="segment" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract" xlink:to="us-gaap_NetIncomeLoss" xlink:type="arc"/>
    <link:definitionArc order="2" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract" xlink:to="us-gaap_Depreciation" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract" xlink:to="us-gaap_AmortizationOfIntangibleAssets" xlink:type="arc"/>
    <link:definitionArc order="2" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract" xlink:to="us-gaap_ShareBasedCompensation" xlink:type="arc"/>
    <link:definitionArc order="3" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract" xlink:to="us-gaap_OtherNoncashIncomeExpense" xlink:type="arc"/>
    <link:definitionArc order="4" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract" xlink:to="us-gaap_DeferredIncomeTaxExpenseBenefit" xlink:type="arc"/>
    <link:definitionArc order="5" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract" xlink:to="dsgx_DeferredTaxCharges" xlink:type="arc"/>
    <link:definitionArc order="6" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract" xlink:to="us-gaap_IncreaseDecreaseInOperatingCapital" xlink:type="arc"/>
    <link:definitionArc order="7" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract" xlink:to="us-gaap_NetCashProvidedByUsedInOperatingActivities" xlink:type="arc"/>
    <link:definitionArc order="3" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_NetCashProvidedByUsedInInvestingActivitiesContinuingOperationsAbstract" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_NetCashProvidedByUsedInInvestingActivitiesContinuingOperationsAbstract" xlink:to="us-gaap_PaymentsToAcquirePropertyPlantAndEquipment" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_NetCashProvidedByUsedInInvestingActivitiesContinuingOperationsAbstract" xlink:to="us-gaap_PaymentsToAcquireBusinessesNetOfCashAcquired" xlink:type="arc"/>
    <link:definitionArc order="2" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_NetCashProvidedByUsedInInvestingActivitiesContinuingOperationsAbstract" xlink:to="us-gaap_NetCashProvidedByUsedInInvestingActivities" xlink:type="arc"/>
    <link:definitionArc order="4" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_NetCashProvidedByUsedInFinancingActivitiesContinuingOperationsAbstract" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_NetCashProvidedByUsedInFinancingActivitiesContinuingOperationsAbstract" xlink:to="us-gaap_ProceedsFromLinesOfCredit" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_NetCashProvidedByUsedInFinancingActivitiesContinuingOperationsAbstract" xlink:to="us-gaap_RepaymentsOfDebt" xlink:type="arc"/>
    <link:definitionArc order="2" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_NetCashProvidedByUsedInFinancingActivitiesContinuingOperationsAbstract" xlink:to="us-gaap_PaymentsOfDebtIssuanceCosts" xlink:type="arc"/>
    <link:definitionArc order="3" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_NetCashProvidedByUsedInFinancingActivitiesContinuingOperationsAbstract" xlink:to="us-gaap_ProceedsFromIssuanceOfCommonStock" xlink:type="arc"/>
    <link:definitionArc order="4" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_NetCashProvidedByUsedInFinancingActivitiesContinuingOperationsAbstract" xlink:to="us-gaap_PaymentForContingentConsiderationLiabilityFinancingActivities" xlink:type="arc"/>
    <link:definitionArc order="5" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_NetCashProvidedByUsedInFinancingActivitiesContinuingOperationsAbstract" xlink:to="us-gaap_NetCashProvidedByUsedInFinancingActivities" xlink:type="arc"/>
    <link:definitionArc order="6" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_NetCashProvidedByUsedInFinancingActivitiesContinuingOperationsAbstract" xlink:to="us-gaap_EffectOfExchangeRateOnCashAndCashEquivalents" xlink:type="arc"/>
    <link:definitionArc order="7" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_NetCashProvidedByUsedInFinancingActivitiesContinuingOperationsAbstract" xlink:to="us-gaap_CashAndCashEquivalentsPeriodIncreaseDecrease" xlink:type="arc"/>
    <link:definitionArc order="8" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_NetCashProvidedByUsedInFinancingActivitiesContinuingOperationsAbstract" xlink:to="us-gaap_CashAndCashEquivalentsAtCarryingValue" xlink:type="arc"/>
    <link:definitionArc order="5" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_SupplementalCashFlowInformationAbstract" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_SupplementalCashFlowInformationAbstract" xlink:to="us-gaap_InterestPaidNet" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_SupplementalCashFlowInformationAbstract" xlink:to="us-gaap_IncomeTaxesPaidNet" xlink:type="arc"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://www.descartes.com/20200131/role/statement-note-17-stockbased-compensation-plans-options-outstanding-and-options-exercisable-details" xlink:href="dsgx-20200131.xsd#statement-note-17-stockbased-compensation-plans-options-outstanding-and-options-exercisable-details" xlink:type="simple"/>
  <link:definitionLink xlink:role="http://www.descartes.com/20200131/role/statement-note-17-stockbased-compensation-plans-options-outstanding-and-options-exercisable-details" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="dsgx-20200131.xsd#dsgx_Range1Member" xlink:label="dsgx_Range1Member" xlink:type="locator"/>
    <link:loc xlink:href="dsgx-20200131.xsd#dsgx_Range2Member" xlink:label="dsgx_Range2Member" xlink:type="locator"/>
    <link:loc xlink:href="dsgx-20200131.xsd#dsgx_Range3Member" xlink:label="dsgx_Range3Member" xlink:type="locator"/>
    <link:loc xlink:href="dsgx-20200131.xsd#dsgx_Range4Member" xlink:label="dsgx_Range4Member" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeAxis" xlink:label="us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeAxis" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeDomain" xlink:label="us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeDomain" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeDomain" xlink:label="us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeLowerRangeLimit" xlink:label="us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeLowerRangeLimit" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeNumberOfExercisableOptions" xlink:label="us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeNumberOfExercisableOptions" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeNumberOfOutstandingOptions" xlink:label="us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeNumberOfOutstandingOptions" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeUpperRangeLimit" xlink:label="us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeUpperRangeLimit" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeExercisableOptionsWeightedAverageExercisePrice1" xlink:label="us-gaap_SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeExercisableOptionsWeightedAverageExercisePrice1" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingOptionsWeightedAverageExercisePriceBeginningBalance1" xlink:label="us-gaap_SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingOptionsWeightedAverageExercisePriceBeginningBalance1" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingOptionsWeightedAverageRemainingContractualTerm2" xlink:label="us-gaap_SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingOptionsWeightedAverageRemainingContractualTerm2" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeAxis" xlink:to="us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeAxis" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeDomain" xlink:to="dsgx_Range1Member" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeAxis" xlink:to="us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeDomain-default" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeDomain" xlink:to="dsgx_Range2Member" xlink:type="arc"/>
    <link:definitionArc order="2" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeDomain" xlink:to="dsgx_Range3Member" xlink:type="arc"/>
    <link:definitionArc order="3" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeDomain" xlink:to="dsgx_Range4Member" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain-default" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xbrldt:contextElement="segment" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeLowerRangeLimit" xlink:type="arc"/>
    <link:definitionArc order="2" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeUpperRangeLimit" xlink:type="arc"/>
    <link:definitionArc order="3" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingOptionsWeightedAverageExercisePriceBeginningBalance1" xlink:type="arc"/>
    <link:definitionArc order="4" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeNumberOfOutstandingOptions" xlink:type="arc"/>
    <link:definitionArc order="5" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingOptionsWeightedAverageRemainingContractualTerm2" xlink:type="arc"/>
    <link:definitionArc order="6" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeExercisableOptionsWeightedAverageExercisePrice1" xlink:type="arc"/>
    <link:definitionArc order="7" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeNumberOfExercisableOptions" xlink:type="arc"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://www.descartes.com/20200131/role/statement-note-3-acquisitions-preliminary-purchase-price-allocation-for-businesses-acquired-details" xlink:href="dsgx-20200131.xsd#statement-note-3-acquisitions-preliminary-purchase-price-allocation-for-businesses-acquired-details" xlink:type="simple"/>
  <link:definitionLink xlink:role="http://www.descartes.com/20200131/role/statement-note-3-acquisitions-preliminary-purchase-price-allocation-for-businesses-acquired-details" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="dsgx-20200131.xsd#dsgx_AljexSoftwareIncMember" xlink:label="dsgx_AljexSoftwareIncMember" xlink:type="locator"/>
    <link:loc xlink:href="dsgx-20200131.xsd#dsgx_BesttransportMember" xlink:label="dsgx_BesttransportMember" xlink:type="locator"/>
    <link:loc xlink:href="dsgx-20200131.xsd#dsgx_BusinessAcquisitionCostOfAcquiredEntityWorkingCapitalAdjustments" xlink:label="dsgx_BusinessAcquisitionCostOfAcquiredEntityWorkingCapitalAdjustments" xlink:type="locator"/>
    <link:loc xlink:href="dsgx-20200131.xsd#dsgx_BusinessCombinationRecognizedIdentifiableAssetAcquiredAndLiabilityAssumedOperatingLeaseObligation" xlink:label="dsgx_BusinessCombinationRecognizedIdentifiableAssetAcquiredAndLiabilityAssumedOperatingLeaseObligation" xlink:type="locator"/>
    <link:loc xlink:href="dsgx-20200131.xsd#dsgx_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedRightofuseAssets" xlink:label="dsgx_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedRightofuseAssets" xlink:type="locator"/>
    <link:loc xlink:href="dsgx-20200131.xsd#dsgx_BusinessCombinationRecognizedIdentifiableTangibleAssetsAcquiredAndLiabilitiesAssumedNet" xlink:label="dsgx_BusinessCombinationRecognizedIdentifiableTangibleAssetsAcquiredAndLiabilitiesAssumedNet" xlink:type="locator"/>
    <link:loc xlink:href="dsgx-20200131.xsd#dsgx_CoreTransportTechnologiesNzLimitedMember" xlink:label="dsgx_CoreTransportTechnologiesNzLimitedMember" xlink:type="locator"/>
    <link:loc xlink:href="dsgx-20200131.xsd#dsgx_ExistingTechnologyMember" xlink:label="dsgx_ExistingTechnologyMember" xlink:type="locator"/>
    <link:loc xlink:href="dsgx-20200131.xsd#dsgx_MacroPointLLCMember" xlink:label="dsgx_MacroPointLLCMember" xlink:type="locator"/>
    <link:loc xlink:href="dsgx-20200131.xsd#dsgx_PCSTracIncMember" xlink:label="dsgx_PCSTracIncMember" xlink:type="locator"/>
    <link:loc xlink:href="dsgx-20200131.xsd#dsgx_PinPointMember" xlink:label="dsgx_PinPointMember" xlink:type="locator"/>
    <link:loc xlink:href="dsgx-20200131.xsd#dsgx_ShipRushMember" xlink:label="dsgx_ShipRushMember" xlink:type="locator"/>
    <link:loc xlink:href="dsgx-20200131.xsd#dsgx_StepcomMember" xlink:label="dsgx_StepcomMember" xlink:type="locator"/>
    <link:loc xlink:href="dsgx-20200131.xsd#dsgx_The2018AcquisitionsMember" xlink:label="dsgx_The2018AcquisitionsMember" xlink:type="locator"/>
    <link:loc xlink:href="dsgx-20200131.xsd#dsgx_The2019AcquisitionsMember" xlink:label="dsgx_The2019AcquisitionsMember" xlink:type="locator"/>
    <link:loc xlink:href="dsgx-20200131.xsd#dsgx_The2020AcquisitionsMember" xlink:label="dsgx_The2020AcquisitionsMember" xlink:type="locator"/>
    <link:loc xlink:href="dsgx-20200131.xsd#dsgx_VelocityMailMember" xlink:label="dsgx_VelocityMailMember" xlink:type="locator"/>
    <link:loc xlink:href="dsgx-20200131.xsd#dsgx_VisualComplianceMember" xlink:label="dsgx_VisualComplianceMember" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_BusinessAcquisitionAcquireeDomain" xlink:label="us-gaap_BusinessAcquisitionAcquireeDomain" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_BusinessAcquisitionAcquireeDomain" xlink:label="us-gaap_BusinessAcquisitionAcquireeDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_BusinessAcquisitionAxis" xlink:label="us-gaap_BusinessAcquisitionAxis" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_BusinessCombinationConsiderationTransferred1" xlink:label="us-gaap_BusinessCombinationConsiderationTransferred1" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_BusinessCombinationConsiderationTransferredEquityInterestsIssuedAndIssuable" xlink:label="us-gaap_BusinessCombinationConsiderationTransferredEquityInterestsIssuedAndIssuable" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_BusinessCombinationConsiderationTransferredLiabilitiesIncurred" xlink:label="us-gaap_BusinessCombinationConsiderationTransferredLiabilitiesIncurred" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssets" xlink:label="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssets" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilities" xlink:label="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilities" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesDeferredRevenue" xlink:label="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesDeferredRevenue" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedDeferredTaxAssets" xlink:label="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedDeferredTaxAssets" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedDeferredTaxLiabilities" xlink:label="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedDeferredTaxLiabilities" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles" xlink:label="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOtherNoncurrentAssets" xlink:label="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOtherNoncurrentAssets" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedPropertyPlantAndEquipment" xlink:label="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedPropertyPlantAndEquipment" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_CustomerRelationshipsMember" xlink:label="us-gaap_CustomerRelationshipsMember" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis" xlink:label="us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain" xlink:label="us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain" xlink:label="us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_Goodwill" xlink:label="us-gaap_Goodwill" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_InProcessResearchAndDevelopmentMember" xlink:label="us-gaap_InProcessResearchAndDevelopmentMember" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_NoncompeteAgreementsMember" xlink:label="us-gaap_NoncompeteAgreementsMember" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_PaymentsToAcquireBusinessesNetOfCashAcquired" xlink:label="us-gaap_PaymentsToAcquireBusinessesNetOfCashAcquired" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_TradeNamesMember" xlink:label="us-gaap_TradeNamesMember" xlink:type="locator"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="us-gaap_BusinessAcquisitionAxis" xlink:to="us-gaap_BusinessAcquisitionAcquireeDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis" xlink:to="us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_BusinessAcquisitionAxis" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_BusinessAcquisitionAcquireeDomain" xlink:to="dsgx_VisualComplianceMember" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="us-gaap_BusinessAcquisitionAxis" xlink:to="us-gaap_BusinessAcquisitionAcquireeDomain-default" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_BusinessAcquisitionAcquireeDomain" xlink:to="dsgx_CoreTransportTechnologiesNzLimitedMember" xlink:type="arc"/>
    <link:definitionArc order="2" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_BusinessAcquisitionAcquireeDomain" xlink:to="dsgx_StepcomMember" xlink:type="arc"/>
    <link:definitionArc order="3" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_BusinessAcquisitionAcquireeDomain" xlink:to="dsgx_BesttransportMember" xlink:type="arc"/>
    <link:definitionArc order="4" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_BusinessAcquisitionAcquireeDomain" xlink:to="dsgx_The2020AcquisitionsMember" xlink:type="arc"/>
    <link:definitionArc order="5" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_BusinessAcquisitionAcquireeDomain" xlink:to="dsgx_AljexSoftwareIncMember" xlink:type="arc"/>
    <link:definitionArc order="6" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_BusinessAcquisitionAcquireeDomain" xlink:to="dsgx_VelocityMailMember" xlink:type="arc"/>
    <link:definitionArc order="7" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_BusinessAcquisitionAcquireeDomain" xlink:to="dsgx_PinPointMember" xlink:type="arc"/>
    <link:definitionArc order="8" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_BusinessAcquisitionAcquireeDomain" xlink:to="dsgx_The2019AcquisitionsMember" xlink:type="arc"/>
    <link:definitionArc order="9" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_BusinessAcquisitionAcquireeDomain" xlink:to="dsgx_ShipRushMember" xlink:type="arc"/>
    <link:definitionArc order="10" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_BusinessAcquisitionAcquireeDomain" xlink:to="dsgx_PCSTracIncMember" xlink:type="arc"/>
    <link:definitionArc order="11" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_BusinessAcquisitionAcquireeDomain" xlink:to="dsgx_MacroPointLLCMember" xlink:type="arc"/>
    <link:definitionArc order="12" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_BusinessAcquisitionAcquireeDomain" xlink:to="dsgx_The2018AcquisitionsMember" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain" xlink:to="us-gaap_CustomerRelationshipsMember" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis" xlink:to="us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain-default" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain" xlink:to="dsgx_ExistingTechnologyMember" xlink:type="arc"/>
    <link:definitionArc order="2" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain" xlink:to="us-gaap_InProcessResearchAndDevelopmentMember" xlink:type="arc"/>
    <link:definitionArc order="3" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain" xlink:to="us-gaap_TradeNamesMember" xlink:type="arc"/>
    <link:definitionArc order="4" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain" xlink:to="us-gaap_NoncompeteAgreementsMember" xlink:type="arc"/>
    <link:definitionArc order="2" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain-default" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xbrldt:contextElement="segment" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_PaymentsToAcquireBusinessesNetOfCashAcquired" xlink:type="arc"/>
    <link:definitionArc order="2" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_BusinessCombinationConsiderationTransferredEquityInterestsIssuedAndIssuable" xlink:type="arc"/>
    <link:definitionArc order="3" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_BusinessCombinationConsiderationTransferredLiabilitiesIncurred" xlink:type="arc"/>
    <link:definitionArc order="4" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="dsgx_BusinessAcquisitionCostOfAcquiredEntityWorkingCapitalAdjustments" xlink:type="arc"/>
    <link:definitionArc order="5" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_BusinessCombinationConsiderationTransferred1" xlink:type="arc"/>
    <link:definitionArc order="6" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssets" xlink:type="arc"/>
    <link:definitionArc order="7" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedPropertyPlantAndEquipment" xlink:type="arc"/>
    <link:definitionArc order="8" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedDeferredTaxAssets" xlink:type="arc"/>
    <link:definitionArc order="9" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="dsgx_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedRightofuseAssets" xlink:type="arc"/>
    <link:definitionArc order="10" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilities" xlink:type="arc"/>
    <link:definitionArc order="11" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesDeferredRevenue" xlink:type="arc"/>
    <link:definitionArc order="12" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="dsgx_BusinessCombinationRecognizedIdentifiableAssetAcquiredAndLiabilityAssumedOperatingLeaseObligation" xlink:type="arc"/>
    <link:definitionArc order="13" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedDeferredTaxLiabilities" xlink:type="arc"/>
    <link:definitionArc order="14" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="dsgx_BusinessCombinationRecognizedIdentifiableTangibleAssetsAcquiredAndLiabilitiesAssumedNet" xlink:type="arc"/>
    <link:definitionArc order="15" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles" xlink:type="arc"/>
    <link:definitionArc order="16" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_Goodwill" xlink:type="arc"/>
    <link:definitionArc order="17" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOtherNoncurrentAssets" xlink:type="arc"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://www.descartes.com/20200131/role/statement-note-3-acquisitions-pro-forma-results-of-operations-details" xlink:href="dsgx-20200131.xsd#statement-note-3-acquisitions-pro-forma-results-of-operations-details" xlink:type="simple"/>
  <link:definitionLink xlink:role="http://www.descartes.com/20200131/role/statement-note-3-acquisitions-pro-forma-results-of-operations-details" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_BusinessAcquisitionProFormaEarningsPerShareBasic" xlink:label="us-gaap_BusinessAcquisitionProFormaEarningsPerShareBasic" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_BusinessAcquisitionProFormaEarningsPerShareDiluted" xlink:label="us-gaap_BusinessAcquisitionProFormaEarningsPerShareDiluted" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_BusinessAcquisitionsProFormaNetIncomeLoss" xlink:label="us-gaap_BusinessAcquisitionsProFormaNetIncomeLoss" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_BusinessAcquisitionsProFormaRevenue" xlink:label="us-gaap_BusinessAcquisitionsProFormaRevenue" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_EarningsPerShareAbstract" xlink:label="us-gaap_EarningsPerShareAbstract" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain-default" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xbrldt:contextElement="segment" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_BusinessAcquisitionsProFormaRevenue" xlink:type="arc"/>
    <link:definitionArc order="2" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_BusinessAcquisitionsProFormaNetIncomeLoss" xlink:type="arc"/>
    <link:definitionArc order="3" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_EarningsPerShareAbstract" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_EarningsPerShareAbstract" xlink:to="us-gaap_BusinessAcquisitionProFormaEarningsPerShareBasic" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_EarningsPerShareAbstract" xlink:to="us-gaap_BusinessAcquisitionProFormaEarningsPerShareDiluted" xlink:type="arc"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://www.descartes.com/20200131/role/statement-note-4-fair-value-measurements-derivative-instruments-at-fair-value-details" xlink:href="dsgx-20200131.xsd#statement-note-4-fair-value-measurements-derivative-instruments-at-fair-value-details" xlink:type="simple"/>
  <link:definitionLink xlink:role="http://www.descartes.com/20200131/role/statement-note-4-fair-value-measurements-derivative-instruments-at-fair-value-details" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_DerivativeAssets" xlink:label="us-gaap_DerivativeAssets" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_DesignatedAsHedgingInstrumentMember" xlink:label="us-gaap_DesignatedAsHedgingInstrumentMember" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_HedgingDesignationAxis" xlink:label="us-gaap_HedgingDesignationAxis" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_HedgingDesignationDomain" xlink:label="us-gaap_HedgingDesignationDomain" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_HedgingDesignationDomain" xlink:label="us-gaap_HedgingDesignationDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_NondesignatedMember" xlink:label="us-gaap_NondesignatedMember" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="us-gaap_HedgingDesignationAxis" xlink:to="us-gaap_HedgingDesignationDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_HedgingDesignationAxis" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_HedgingDesignationDomain" xlink:to="us-gaap_DesignatedAsHedgingInstrumentMember" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="us-gaap_HedgingDesignationAxis" xlink:to="us-gaap_HedgingDesignationDomain-default" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_HedgingDesignationDomain" xlink:to="us-gaap_NondesignatedMember" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain-default" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xbrldt:contextElement="segment" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_DerivativeAssets" xlink:type="arc"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://www.descartes.com/20200131/role/statement-note-5-trade-receivables-trade-receivables-details" xlink:href="dsgx-20200131.xsd#statement-note-5-trade-receivables-trade-receivables-details" xlink:type="simple"/>
  <link:definitionLink xlink:role="http://www.descartes.com/20200131/role/statement-note-5-trade-receivables-trade-receivables-details" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_AccountsReceivableGrossCurrent" xlink:label="us-gaap_AccountsReceivableGrossCurrent" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_AccountsReceivableNetCurrent" xlink:label="us-gaap_AccountsReceivableNetCurrent" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent" xlink:label="us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain-default" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xbrldt:contextElement="segment" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_AccountsReceivableGrossCurrent" xlink:type="arc"/>
    <link:definitionArc order="2" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent" xlink:type="arc"/>
    <link:definitionArc order="3" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_AccountsReceivableNetCurrent" xlink:type="arc"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://www.descartes.com/20200131/role/statement-note-6-other-receivables-other-receivables-details" xlink:href="dsgx-20200131.xsd#statement-note-6-other-receivables-other-receivables-details" xlink:type="simple"/>
  <link:definitionLink xlink:role="http://www.descartes.com/20200131/role/statement-note-6-other-receivables-other-receivables-details" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="dsgx-20200131.xsd#dsgx_NetWorkingCapitalAdjustmentsReceivableFromAcquisitions" xlink:label="dsgx_NetWorkingCapitalAdjustmentsReceivableFromAcquisitions" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_OtherAssetsCurrent" xlink:label="us-gaap_OtherAssetsCurrent" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_OtherReceivablesNetCurrent" xlink:label="us-gaap_OtherReceivablesNetCurrent" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain-default" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xbrldt:contextElement="segment" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="dsgx_NetWorkingCapitalAdjustmentsReceivableFromAcquisitions" xlink:type="arc"/>
    <link:definitionArc order="2" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_OtherAssetsCurrent" xlink:type="arc"/>
    <link:definitionArc order="3" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_OtherReceivablesNetCurrent" xlink:type="arc"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://www.descartes.com/20200131/role/statement-note-10-goodwill-goodwill-details" xlink:href="dsgx-20200131.xsd#statement-note-10-goodwill-goodwill-details" xlink:type="simple"/>
  <link:definitionLink xlink:role="http://www.descartes.com/20200131/role/statement-note-10-goodwill-goodwill-details" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="dsgx-20200131.xsd#dsgx_AljexSoftwareIncMember" xlink:label="dsgx_AljexSoftwareIncMember" xlink:type="locator"/>
    <link:loc xlink:href="dsgx-20200131.xsd#dsgx_BesttransportMember" xlink:label="dsgx_BesttransportMember" xlink:type="locator"/>
    <link:loc xlink:href="dsgx-20200131.xsd#dsgx_CoreTransportTechnologiesNzLimitedMember" xlink:label="dsgx_CoreTransportTechnologiesNzLimitedMember" xlink:type="locator"/>
    <link:loc xlink:href="dsgx-20200131.xsd#dsgx_PinPointMember" xlink:label="dsgx_PinPointMember" xlink:type="locator"/>
    <link:loc xlink:href="dsgx-20200131.xsd#dsgx_StepcomMember" xlink:label="dsgx_StepcomMember" xlink:type="locator"/>
    <link:loc xlink:href="dsgx-20200131.xsd#dsgx_VelocityMailMember" xlink:label="dsgx_VelocityMailMember" xlink:type="locator"/>
    <link:loc xlink:href="dsgx-20200131.xsd#dsgx_VisualComplianceMember" xlink:label="dsgx_VisualComplianceMember" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_BusinessAcquisitionAcquireeDomain" xlink:label="us-gaap_BusinessAcquisitionAcquireeDomain" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_BusinessAcquisitionAcquireeDomain" xlink:label="us-gaap_BusinessAcquisitionAcquireeDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_BusinessAcquisitionAxis" xlink:label="us-gaap_BusinessAcquisitionAxis" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_Goodwill" xlink:label="us-gaap_Goodwill" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_GoodwillAcquiredDuringPeriod" xlink:label="us-gaap_GoodwillAcquiredDuringPeriod" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_GoodwillTranslationAndPurchaseAccountingAdjustments" xlink:label="us-gaap_GoodwillTranslationAndPurchaseAccountingAdjustments" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="us-gaap_BusinessAcquisitionAxis" xlink:to="us-gaap_BusinessAcquisitionAcquireeDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_BusinessAcquisitionAxis" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_BusinessAcquisitionAcquireeDomain" xlink:to="dsgx_AljexSoftwareIncMember" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="us-gaap_BusinessAcquisitionAxis" xlink:to="us-gaap_BusinessAcquisitionAcquireeDomain-default" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_BusinessAcquisitionAcquireeDomain" xlink:to="dsgx_VelocityMailMember" xlink:type="arc"/>
    <link:definitionArc order="2" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_BusinessAcquisitionAcquireeDomain" xlink:to="dsgx_PinPointMember" xlink:type="arc"/>
    <link:definitionArc order="3" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_BusinessAcquisitionAcquireeDomain" xlink:to="dsgx_VisualComplianceMember" xlink:type="arc"/>
    <link:definitionArc order="4" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_BusinessAcquisitionAcquireeDomain" xlink:to="dsgx_CoreTransportTechnologiesNzLimitedMember" xlink:type="arc"/>
    <link:definitionArc order="5" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_BusinessAcquisitionAcquireeDomain" xlink:to="dsgx_StepcomMember" xlink:type="arc"/>
    <link:definitionArc order="6" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_BusinessAcquisitionAcquireeDomain" xlink:to="dsgx_BesttransportMember" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain-default" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xbrldt:contextElement="segment" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_Goodwill" xlink:type="arc"/>
    <link:definitionArc order="2" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_GoodwillAcquiredDuringPeriod" xlink:type="arc"/>
    <link:definitionArc order="3" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_GoodwillTranslationAndPurchaseAccountingAdjustments" xlink:type="arc"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://www.descartes.com/20200131/role/statement-note-11-accrued-liabilities-accrued-liabilities-details" xlink:href="dsgx-20200131.xsd#statement-note-11-accrued-liabilities-accrued-liabilities-details" xlink:type="simple"/>
  <link:definitionLink xlink:role="http://www.descartes.com/20200131/role/statement-note-11-accrued-liabilities-accrued-liabilities-details" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_AccruedLiabilitiesCurrent" xlink:label="us-gaap_AccruedLiabilitiesCurrent" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_AccruedProfessionalFeesCurrent" xlink:label="us-gaap_AccruedProfessionalFeesCurrent" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_EmployeeRelatedLiabilitiesCurrent" xlink:label="us-gaap_EmployeeRelatedLiabilitiesCurrent" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_OtherAccruedLiabilitiesCurrent" xlink:label="us-gaap_OtherAccruedLiabilitiesCurrent" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain-default" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xbrldt:contextElement="segment" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_EmployeeRelatedLiabilitiesCurrent" xlink:type="arc"/>
    <link:definitionArc order="2" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_AccruedProfessionalFeesCurrent" xlink:type="arc"/>
    <link:definitionArc order="3" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_OtherAccruedLiabilitiesCurrent" xlink:type="arc"/>
    <link:definitionArc order="4" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_AccruedLiabilitiesCurrent" xlink:type="arc"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://www.descartes.com/20200131/role/statement-note-12-debt-schedule-of-longterm-debt-details" xlink:href="dsgx-20200131.xsd#statement-note-12-debt-schedule-of-longterm-debt-details" xlink:type="simple"/>
  <link:definitionLink xlink:role="http://www.descartes.com/20200131/role/statement-note-12-debt-schedule-of-longterm-debt-details" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="dsgx-20200131.xsd#dsgx_RevolvingOperatingCreditFacilityMember" xlink:label="dsgx_RevolvingOperatingCreditFacilityMember" xlink:type="locator"/>
    <link:loc xlink:href="dsgx-20200131.xsd#dsgx_SeniorSecuredCreditFacilityMember" xlink:label="dsgx_SeniorSecuredCreditFacilityMember" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_CreditFacilityAxis" xlink:label="us-gaap_CreditFacilityAxis" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_CreditFacilityDomain" xlink:label="us-gaap_CreditFacilityDomain" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_CreditFacilityDomain" xlink:label="us-gaap_CreditFacilityDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_DebtInstrumentAxis" xlink:label="us-gaap_DebtInstrumentAxis" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_DebtInstrumentNameDomain" xlink:label="us-gaap_DebtInstrumentNameDomain" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_DebtInstrumentNameDomain" xlink:label="us-gaap_DebtInstrumentNameDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_LineOfCredit" xlink:label="us-gaap_LineOfCredit" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_LineOfCreditFacilityRemainingBorrowingCapacity" xlink:label="us-gaap_LineOfCreditFacilityRemainingBorrowingCapacity" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="us-gaap_DebtInstrumentAxis" xlink:to="us-gaap_DebtInstrumentNameDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="us-gaap_CreditFacilityAxis" xlink:to="us-gaap_CreditFacilityDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_DebtInstrumentAxis" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_DebtInstrumentNameDomain" xlink:to="dsgx_SeniorSecuredCreditFacilityMember" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="us-gaap_DebtInstrumentAxis" xlink:to="us-gaap_DebtInstrumentNameDomain-default" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_CreditFacilityAxis" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_CreditFacilityDomain" xlink:to="dsgx_RevolvingOperatingCreditFacilityMember" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="us-gaap_CreditFacilityAxis" xlink:to="us-gaap_CreditFacilityDomain-default" xlink:type="arc"/>
    <link:definitionArc order="2" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain-default" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xbrldt:contextElement="segment" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_LineOfCredit" xlink:type="arc"/>
    <link:definitionArc order="2" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_LineOfCreditFacilityRemainingBorrowingCapacity" xlink:type="arc"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://www.descartes.com/20200131/role/statement-note-15-share-capital-common-shares-outstanding-details" xlink:href="dsgx-20200131.xsd#statement-note-15-share-capital-common-shares-outstanding-details" xlink:type="simple"/>
  <link:definitionLink xlink:role="http://www.descartes.com/20200131/role/statement-note-15-share-capital-common-shares-outstanding-details" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="dsgx-20200131.xsd#dsgx_StockIssuedDuringPeriodSharesOptionsAndShareUnitsExercised" xlink:label="dsgx_StockIssuedDuringPeriodSharesOptionsAndShareUnitsExercised" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_BusinessAcquisitionEquityInterestsIssuedOrIssuableNumberOfSharesIssued" xlink:label="us-gaap_BusinessAcquisitionEquityInterestsIssuedOrIssuableNumberOfSharesIssued" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_CommonStockSharesOutstanding" xlink:label="us-gaap_CommonStockSharesOutstanding" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_StockIssuedDuringPeriodSharesNewIssues" xlink:label="us-gaap_StockIssuedDuringPeriodSharesNewIssues" xlink:type="locator"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain-default" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xbrldt:contextElement="segment" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_CommonStockSharesOutstanding" xlink:type="arc"/>
    <link:definitionArc order="2" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="dsgx_StockIssuedDuringPeriodSharesOptionsAndShareUnitsExercised" xlink:type="arc"/>
    <link:definitionArc order="3" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_StockIssuedDuringPeriodSharesNewIssues" xlink:type="arc"/>
    <link:definitionArc order="4" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_BusinessAcquisitionEquityInterestsIssuedOrIssuableNumberOfSharesIssued" xlink:type="arc"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://www.descartes.com/20200131/role/statement-note-16-earnings-per-share-computation-of-basic-and-diluted-earnings-per-share-details" xlink:href="dsgx-20200131.xsd#statement-note-16-earnings-per-share-computation-of-basic-and-diluted-earnings-per-share-details" xlink:type="simple"/>
  <link:definitionLink xlink:role="http://www.descartes.com/20200131/role/statement-note-16-earnings-per-share-computation-of-basic-and-diluted-earnings-per-share-details" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_AwardTypeAxis" xlink:label="us-gaap_AwardTypeAxis" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_EarningsPerShareAbstract" xlink:label="us-gaap_EarningsPerShareAbstract" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_EarningsPerShareBasic" xlink:label="us-gaap_EarningsPerShareBasic" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_EarningsPerShareDiluted" xlink:label="us-gaap_EarningsPerShareDiluted" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_EmployeeStockOptionMember" xlink:label="us-gaap_EmployeeStockOptionMember" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_IncrementalCommonSharesAttributableToShareBasedPaymentArrangements" xlink:label="us-gaap_IncrementalCommonSharesAttributableToShareBasedPaymentArrangements" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_NetIncomeLoss" xlink:label="us-gaap_NetIncomeLoss" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_RestrictedStockUnitsRSUMember" xlink:label="us-gaap_RestrictedStockUnitsRSUMember" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:label="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:label="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding" xlink:label="us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_WeightedAverageNumberOfSharesOutstandingBasic" xlink:label="us-gaap_WeightedAverageNumberOfSharesOutstandingBasic" xlink:type="locator"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="us-gaap_AwardTypeAxis" xlink:to="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_AwardTypeAxis" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:to="us-gaap_EmployeeStockOptionMember" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="us-gaap_AwardTypeAxis" xlink:to="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain-default" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:to="us-gaap_RestrictedStockUnitsRSUMember" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain-default" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xbrldt:contextElement="segment" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_NetIncomeLoss" xlink:type="arc"/>
    <link:definitionArc order="2" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_WeightedAverageNumberOfSharesOutstandingBasic" xlink:type="arc"/>
    <link:definitionArc order="3" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_IncrementalCommonSharesAttributableToShareBasedPaymentArrangements" xlink:type="arc"/>
    <link:definitionArc order="4" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding" xlink:type="arc"/>
    <link:definitionArc order="5" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_EarningsPerShareAbstract" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_EarningsPerShareAbstract" xlink:to="us-gaap_EarningsPerShareBasic" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_EarningsPerShareAbstract" xlink:to="us-gaap_EarningsPerShareDiluted" xlink:type="arc"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://www.descartes.com/20200131/role/statement-note-17-stockbased-compensation-plans-total-estimated-stockbased-compensation-expense-details" xlink:href="dsgx-20200131.xsd#statement-note-17-stockbased-compensation-plans-total-estimated-stockbased-compensation-expense-details" xlink:type="simple"/>
  <link:definitionLink xlink:role="http://www.descartes.com/20200131/role/statement-note-17-stockbased-compensation-plans-total-estimated-stockbased-compensation-expense-details" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_AllocatedShareBasedCompensationExpense" xlink:label="us-gaap_AllocatedShareBasedCompensationExpense" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_CostOfSalesMember" xlink:label="us-gaap_CostOfSalesMember" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_GeneralAndAdministrativeExpenseMember" xlink:label="us-gaap_GeneralAndAdministrativeExpenseMember" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_IncomeStatementLocationAxis" xlink:label="us-gaap_IncomeStatementLocationAxis" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_IncomeStatementLocationDomain" xlink:label="us-gaap_IncomeStatementLocationDomain" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_IncomeStatementLocationDomain" xlink:label="us-gaap_IncomeStatementLocationDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ResearchAndDevelopmentExpenseMember" xlink:label="us-gaap_ResearchAndDevelopmentExpenseMember" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_SellingAndMarketingExpenseMember" xlink:label="us-gaap_SellingAndMarketingExpenseMember" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="us-gaap_IncomeStatementLocationAxis" xlink:to="us-gaap_IncomeStatementLocationDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_IncomeStatementLocationAxis" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_IncomeStatementLocationDomain" xlink:to="us-gaap_CostOfSalesMember" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="us-gaap_IncomeStatementLocationAxis" xlink:to="us-gaap_IncomeStatementLocationDomain-default" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_IncomeStatementLocationDomain" xlink:to="us-gaap_SellingAndMarketingExpenseMember" xlink:type="arc"/>
    <link:definitionArc order="2" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_IncomeStatementLocationDomain" xlink:to="us-gaap_ResearchAndDevelopmentExpenseMember" xlink:type="arc"/>
    <link:definitionArc order="3" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_IncomeStatementLocationDomain" xlink:to="us-gaap_GeneralAndAdministrativeExpenseMember" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain-default" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xbrldt:contextElement="segment" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_AllocatedShareBasedCompensationExpense" xlink:type="arc"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://www.descartes.com/20200131/role/statement-note-18-income-taxes-provision-recovery-for-income-taxes-from-the-expected-provision-at-the-statutory-rates-details" xlink:href="dsgx-20200131.xsd#statement-note-18-income-taxes-provision-recovery-for-income-taxes-from-the-expected-provision-at-the-statutory-rates-details" xlink:type="simple"/>
  <link:definitionLink xlink:role="http://www.descartes.com/20200131/role/statement-note-18-income-taxes-provision-recovery-for-income-taxes-from-the-expected-provision-at-the-statutory-rates-details" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="dsgx-20200131.xsd#dsgx_EffectiveIncomeTaxRateReconciliationIncreaseDecreaseInAccrualsForUncertainTaxPositions" xlink:label="dsgx_EffectiveIncomeTaxRateReconciliationIncreaseDecreaseInAccrualsForUncertainTaxPositions" xlink:type="locator"/>
    <link:loc xlink:href="dsgx-20200131.xsd#dsgx_IncomeTaxReconciliationDeferredTaxCharges" xlink:label="dsgx_IncomeTaxReconciliationDeferredTaxCharges" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate" xlink:label="us-gaap_EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesMinorityInterestAndIncomeLossFromEquityMethodInvestments" xlink:label="us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesMinorityInterestAndIncomeLossFromEquityMethodInvestments" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_IncomeTaxExpenseBenefit" xlink:label="us-gaap_IncomeTaxExpenseBenefit" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_IncomeTaxReconciliationChangeInDeferredTaxAssetsValuationAllowance" xlink:label="us-gaap_IncomeTaxReconciliationChangeInDeferredTaxAssetsValuationAllowance" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_IncomeTaxReconciliationChangeInEnactedTaxRate" xlink:label="us-gaap_IncomeTaxReconciliationChangeInEnactedTaxRate" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_IncomeTaxReconciliationForeignIncomeTaxRateDifferential" xlink:label="us-gaap_IncomeTaxReconciliationForeignIncomeTaxRateDifferential" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_IncomeTaxReconciliationIncomeTaxExpenseBenefitAtFederalStatutoryIncomeTaxRate" xlink:label="us-gaap_IncomeTaxReconciliationIncomeTaxExpenseBenefitAtFederalStatutoryIncomeTaxRate" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_IncomeTaxReconciliationNondeductibleExpenseAmortization" xlink:label="us-gaap_IncomeTaxReconciliationNondeductibleExpenseAmortization" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_IncomeTaxReconciliationNondeductibleExpenseShareBasedCompensationCost" xlink:label="us-gaap_IncomeTaxReconciliationNondeductibleExpenseShareBasedCompensationCost" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_IncomeTaxReconciliationOtherAdjustments" xlink:label="us-gaap_IncomeTaxReconciliationOtherAdjustments" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_IncomeTaxReconciliationPriorYearIncomeTaxes" xlink:label="us-gaap_IncomeTaxReconciliationPriorYearIncomeTaxes" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain-default" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xbrldt:contextElement="segment" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesMinorityInterestAndIncomeLossFromEquityMethodInvestments" xlink:type="arc"/>
    <link:definitionArc order="2" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate" xlink:type="arc"/>
    <link:definitionArc order="3" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_IncomeTaxReconciliationIncomeTaxExpenseBenefitAtFederalStatutoryIncomeTaxRate" xlink:type="arc"/>
    <link:definitionArc order="4" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_IncomeTaxReconciliationNondeductibleExpenseAmortization" xlink:type="arc"/>
    <link:definitionArc order="5" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_IncomeTaxReconciliationForeignIncomeTaxRateDifferential" xlink:type="arc"/>
    <link:definitionArc order="6" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_IncomeTaxReconciliationChangeInEnactedTaxRate" xlink:type="arc"/>
    <link:definitionArc order="7" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_IncomeTaxReconciliationPriorYearIncomeTaxes" xlink:type="arc"/>
    <link:definitionArc order="8" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="dsgx_EffectiveIncomeTaxRateReconciliationIncreaseDecreaseInAccrualsForUncertainTaxPositions" xlink:type="arc"/>
    <link:definitionArc order="9" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_IncomeTaxReconciliationChangeInDeferredTaxAssetsValuationAllowance" xlink:type="arc"/>
    <link:definitionArc order="10" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_IncomeTaxReconciliationNondeductibleExpenseShareBasedCompensationCost" xlink:type="arc"/>
    <link:definitionArc order="11" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="dsgx_IncomeTaxReconciliationDeferredTaxCharges" xlink:type="arc"/>
    <link:definitionArc order="12" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_IncomeTaxReconciliationOtherAdjustments" xlink:type="arc"/>
    <link:definitionArc order="13" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_IncomeTaxExpenseBenefit" xlink:type="arc"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://www.descartes.com/20200131/role/statement-note-18-income-taxes-reconciliation-of-the-total-estimated-liability-associated-with-uncertain-tax-provisions-details" xlink:href="dsgx-20200131.xsd#statement-note-18-income-taxes-reconciliation-of-the-total-estimated-liability-associated-with-uncertain-tax-provisions-details" xlink:type="simple"/>
  <link:definitionLink xlink:role="http://www.descartes.com/20200131/role/statement-note-18-income-taxes-reconciliation-of-the-total-estimated-liability-associated-with-uncertain-tax-provisions-details" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_UnrecognizedTaxBenefits" xlink:label="us-gaap_UnrecognizedTaxBenefits" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_UnrecognizedTaxBenefitsIncreasesResultingFromCurrentPeriodTaxPositions" xlink:label="us-gaap_UnrecognizedTaxBenefitsIncreasesResultingFromCurrentPeriodTaxPositions" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_UnrecognizedTaxBenefitsReductionsResultingFromLapseOfApplicableStatuteOfLimitations" xlink:label="us-gaap_UnrecognizedTaxBenefitsReductionsResultingFromLapseOfApplicableStatuteOfLimitations" xlink:type="locator"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain-default" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xbrldt:contextElement="segment" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_UnrecognizedTaxBenefits" xlink:type="arc"/>
    <link:definitionArc order="2" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_UnrecognizedTaxBenefitsIncreasesResultingFromCurrentPeriodTaxPositions" xlink:type="arc"/>
    <link:definitionArc order="3" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_UnrecognizedTaxBenefitsReductionsResultingFromLapseOfApplicableStatuteOfLimitations" xlink:type="arc"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://www.descartes.com/20200131/role/statement-note-20-other-charges-other-charges-included-in-consolidated-statements-of-operations-details" xlink:href="dsgx-20200131.xsd#statement-note-20-other-charges-other-charges-included-in-consolidated-statements-of-operations-details" xlink:type="simple"/>
  <link:definitionLink xlink:role="http://www.descartes.com/20200131/role/statement-note-20-other-charges-other-charges-included-in-consolidated-statements-of-operations-details" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_BusinessCombinationAcquisitionRelatedCosts" xlink:label="us-gaap_BusinessCombinationAcquisitionRelatedCosts" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_OtherNonoperatingExpense" xlink:label="us-gaap_OtherNonoperatingExpense" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_RestructuringCharges" xlink:label="us-gaap_RestructuringCharges" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain-default" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xbrldt:contextElement="segment" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_BusinessCombinationAcquisitionRelatedCosts" xlink:type="arc"/>
    <link:definitionArc order="2" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_RestructuringCharges" xlink:type="arc"/>
    <link:definitionArc order="3" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_OtherNonoperatingExpense" xlink:type="arc"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://www.descartes.com/20200131/role/statement-note-21-supplemental-cash-flow-information-cash-flow-changes-in-operating-asset-and-liabilities-details" xlink:href="dsgx-20200131.xsd#statement-note-21-supplemental-cash-flow-information-cash-flow-changes-in-operating-asset-and-liabilities-details" xlink:type="simple"/>
  <link:definitionLink xlink:role="http://www.descartes.com/20200131/role/statement-note-21-supplemental-cash-flow-information-cash-flow-changes-in-operating-asset-and-liabilities-details" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="dsgx-20200131.xsd#dsgx_IncreaseDecreaseInOperatingLeaseLiabilities" xlink:label="dsgx_IncreaseDecreaseInOperatingLeaseLiabilities" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_IncreaseDecreaseInAccountsPayable" xlink:label="us-gaap_IncreaseDecreaseInAccountsPayable" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_IncreaseDecreaseInAccountsReceivable" xlink:label="us-gaap_IncreaseDecreaseInAccountsReceivable" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_IncreaseDecreaseInAccruedLiabilities" xlink:label="us-gaap_IncreaseDecreaseInAccruedLiabilities" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_IncreaseDecreaseInDeferredRevenue" xlink:label="us-gaap_IncreaseDecreaseInDeferredRevenue" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_IncreaseDecreaseInIncomeTaxes" xlink:label="us-gaap_IncreaseDecreaseInIncomeTaxes" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_IncreaseDecreaseInInventories" xlink:label="us-gaap_IncreaseDecreaseInInventories" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_IncreaseDecreaseInOperatingCapital" xlink:label="us-gaap_IncreaseDecreaseInOperatingCapital" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_IncreaseDecreaseInOtherReceivables" xlink:label="us-gaap_IncreaseDecreaseInOtherReceivables" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets" xlink:label="us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain-default" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xbrldt:contextElement="segment" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_IncreaseDecreaseInAccountsReceivable" xlink:type="arc"/>
    <link:definitionArc order="2" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_IncreaseDecreaseInOtherReceivables" xlink:type="arc"/>
    <link:definitionArc order="3" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets" xlink:type="arc"/>
    <link:definitionArc order="4" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_IncreaseDecreaseInInventories" xlink:type="arc"/>
    <link:definitionArc order="5" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_IncreaseDecreaseInAccountsPayable" xlink:type="arc"/>
    <link:definitionArc order="6" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_IncreaseDecreaseInAccruedLiabilities" xlink:type="arc"/>
    <link:definitionArc order="7" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_IncreaseDecreaseInIncomeTaxes" xlink:type="arc"/>
    <link:definitionArc order="8" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="dsgx_IncreaseDecreaseInOperatingLeaseLiabilities" xlink:type="arc"/>
    <link:definitionArc order="9" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_IncreaseDecreaseInDeferredRevenue" xlink:type="arc"/>
    <link:definitionArc order="10" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_IncreaseDecreaseInOperatingCapital" xlink:type="arc"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://www.descartes.com/20200131/role/statement-consolidated-balance-sheets" xlink:href="dsgx-20200131.xsd#statement-consolidated-balance-sheets" xlink:type="simple"/>
  <link:definitionLink xlink:role="http://www.descartes.com/20200131/role/statement-consolidated-balance-sheets" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_AccountsPayableCurrent" xlink:label="us-gaap_AccountsPayableCurrent" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_AccountsReceivableNetAbstract" xlink:label="us-gaap_AccountsReceivableNetAbstract" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_AccountsReceivableNetCurrent" xlink:label="us-gaap_AccountsReceivableNetCurrent" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_AccruedIncomeTaxesCurrent" xlink:label="us-gaap_AccruedIncomeTaxesCurrent" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_AccruedIncomeTaxesNoncurrent" xlink:label="us-gaap_AccruedIncomeTaxesNoncurrent" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_AccruedLiabilitiesCurrent" xlink:label="us-gaap_AccruedLiabilitiesCurrent" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax" xlink:label="us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_AdditionalPaidInCapitalCommonStock" xlink:label="us-gaap_AdditionalPaidInCapitalCommonStock" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_Assets" xlink:label="us-gaap_Assets" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_AssetsCurrent" xlink:label="us-gaap_AssetsCurrent" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_AssetsCurrentAbstract" xlink:label="us-gaap_AssetsCurrentAbstract" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_CashAndCashEquivalentsAtCarryingValue" xlink:label="us-gaap_CashAndCashEquivalentsAtCarryingValue" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_CommitmentsAndContingencies" xlink:label="us-gaap_CommitmentsAndContingencies" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_CommonStockValue" xlink:label="us-gaap_CommonStockValue" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ContractWithCustomerLiabilityCurrent" xlink:label="us-gaap_ContractWithCustomerLiabilityCurrent" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_DeferredIncomeTaxAssetsNet" xlink:label="us-gaap_DeferredIncomeTaxAssetsNet" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_DeferredIncomeTaxLiabilitiesNet" xlink:label="us-gaap_DeferredIncomeTaxLiabilitiesNet" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_DeferredRevenueNoncurrent" xlink:label="us-gaap_DeferredRevenueNoncurrent" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_Goodwill" xlink:label="us-gaap_Goodwill" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_IntangibleAssetsNetExcludingGoodwill" xlink:label="us-gaap_IntangibleAssetsNetExcludingGoodwill" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_InventoryNet" xlink:label="us-gaap_InventoryNet" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_Liabilities" xlink:label="us-gaap_Liabilities" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_LiabilitiesAndStockholdersEquity" xlink:label="us-gaap_LiabilitiesAndStockholdersEquity" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_LiabilitiesCurrent" xlink:label="us-gaap_LiabilitiesCurrent" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_LiabilitiesCurrentAbstract" xlink:label="us-gaap_LiabilitiesCurrentAbstract" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_LongTermDebtNoncurrent" xlink:label="us-gaap_LongTermDebtNoncurrent" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_OperatingLeaseLiabilityCurrent" xlink:label="us-gaap_OperatingLeaseLiabilityCurrent" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_OperatingLeaseLiabilityNoncurrent" xlink:label="us-gaap_OperatingLeaseLiabilityNoncurrent" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_OperatingLeaseRightOfUseAsset" xlink:label="us-gaap_OperatingLeaseRightOfUseAsset" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_OtherAssetsNoncurrent" xlink:label="us-gaap_OtherAssetsNoncurrent" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_OtherReceivablesNetCurrent" xlink:label="us-gaap_OtherReceivablesNetCurrent" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_PrepaidExpenseAndOtherAssetsCurrent" xlink:label="us-gaap_PrepaidExpenseAndOtherAssetsCurrent" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_PropertyPlantAndEquipmentNet" xlink:label="us-gaap_PropertyPlantAndEquipmentNet" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_RetainedEarningsAccumulatedDeficit" xlink:label="us-gaap_RetainedEarningsAccumulatedDeficit" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_StockholdersEquity" xlink:label="us-gaap_StockholdersEquity" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_StockholdersEquityAbstract" xlink:label="us-gaap_StockholdersEquityAbstract" xlink:type="locator"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain-default" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xbrldt:contextElement="segment" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_AssetsCurrentAbstract" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_AssetsCurrentAbstract" xlink:to="us-gaap_CashAndCashEquivalentsAtCarryingValue" xlink:type="arc"/>
    <link:definitionArc order="2" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_AccountsReceivableNetAbstract" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_AccountsReceivableNetAbstract" xlink:to="us-gaap_AccountsReceivableNetCurrent" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_AccountsReceivableNetAbstract" xlink:to="us-gaap_OtherReceivablesNetCurrent" xlink:type="arc"/>
    <link:definitionArc order="2" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_AccountsReceivableNetAbstract" xlink:to="us-gaap_PrepaidExpenseAndOtherAssetsCurrent" xlink:type="arc"/>
    <link:definitionArc order="3" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_AccountsReceivableNetAbstract" xlink:to="us-gaap_InventoryNet" xlink:type="arc"/>
    <link:definitionArc order="4" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_AccountsReceivableNetAbstract" xlink:to="us-gaap_AssetsCurrent" xlink:type="arc"/>
    <link:definitionArc order="5" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_AccountsReceivableNetAbstract" xlink:to="us-gaap_OtherAssetsNoncurrent" xlink:type="arc"/>
    <link:definitionArc order="6" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_AccountsReceivableNetAbstract" xlink:to="us-gaap_PropertyPlantAndEquipmentNet" xlink:type="arc"/>
    <link:definitionArc order="7" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_AccountsReceivableNetAbstract" xlink:to="us-gaap_OperatingLeaseRightOfUseAsset" xlink:type="arc"/>
    <link:definitionArc order="8" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_AccountsReceivableNetAbstract" xlink:to="us-gaap_DeferredIncomeTaxAssetsNet" xlink:type="arc"/>
    <link:definitionArc order="9" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_AccountsReceivableNetAbstract" xlink:to="us-gaap_IntangibleAssetsNetExcludingGoodwill" xlink:type="arc"/>
    <link:definitionArc order="10" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_AccountsReceivableNetAbstract" xlink:to="us-gaap_Goodwill" xlink:type="arc"/>
    <link:definitionArc order="11" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_AccountsReceivableNetAbstract" xlink:to="us-gaap_Assets" xlink:type="arc"/>
    <link:definitionArc order="3" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_LiabilitiesCurrentAbstract" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_LiabilitiesCurrentAbstract" xlink:to="us-gaap_AccountsPayableCurrent" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_LiabilitiesCurrentAbstract" xlink:to="us-gaap_AccruedLiabilitiesCurrent" xlink:type="arc"/>
    <link:definitionArc order="2" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_LiabilitiesCurrentAbstract" xlink:to="us-gaap_OperatingLeaseLiabilityCurrent" xlink:type="arc"/>
    <link:definitionArc order="3" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_LiabilitiesCurrentAbstract" xlink:to="us-gaap_AccruedIncomeTaxesCurrent" xlink:type="arc"/>
    <link:definitionArc order="4" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_LiabilitiesCurrentAbstract" xlink:to="us-gaap_ContractWithCustomerLiabilityCurrent" xlink:type="arc"/>
    <link:definitionArc order="5" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_LiabilitiesCurrentAbstract" xlink:to="us-gaap_LiabilitiesCurrent" xlink:type="arc"/>
    <link:definitionArc order="6" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_LiabilitiesCurrentAbstract" xlink:to="us-gaap_LongTermDebtNoncurrent" xlink:type="arc"/>
    <link:definitionArc order="7" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_LiabilitiesCurrentAbstract" xlink:to="us-gaap_OperatingLeaseLiabilityNoncurrent" xlink:type="arc"/>
    <link:definitionArc order="8" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_LiabilitiesCurrentAbstract" xlink:to="us-gaap_DeferredRevenueNoncurrent" xlink:type="arc"/>
    <link:definitionArc order="9" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_LiabilitiesCurrentAbstract" xlink:to="us-gaap_AccruedIncomeTaxesNoncurrent" xlink:type="arc"/>
    <link:definitionArc order="10" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_LiabilitiesCurrentAbstract" xlink:to="us-gaap_DeferredIncomeTaxLiabilitiesNet" xlink:type="arc"/>
    <link:definitionArc order="11" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_LiabilitiesCurrentAbstract" xlink:to="us-gaap_Liabilities" xlink:type="arc"/>
    <link:definitionArc order="12" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_LiabilitiesCurrentAbstract" xlink:to="us-gaap_CommitmentsAndContingencies" xlink:type="arc"/>
    <link:definitionArc order="4" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_StockholdersEquityAbstract" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StockholdersEquityAbstract" xlink:to="us-gaap_CommonStockValue" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StockholdersEquityAbstract" xlink:to="us-gaap_AdditionalPaidInCapitalCommonStock" xlink:type="arc"/>
    <link:definitionArc order="2" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StockholdersEquityAbstract" xlink:to="us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax" xlink:type="arc"/>
    <link:definitionArc order="3" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StockholdersEquityAbstract" xlink:to="us-gaap_RetainedEarningsAccumulatedDeficit" xlink:type="arc"/>
    <link:definitionArc order="4" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StockholdersEquityAbstract" xlink:to="us-gaap_StockholdersEquity" xlink:type="arc"/>
    <link:definitionArc order="5" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StockholdersEquityAbstract" xlink:to="us-gaap_LiabilitiesAndStockholdersEquity" xlink:type="arc"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://www.descartes.com/20200131/role/statement-consolidated-statements-of-operations-" xlink:href="dsgx-20200131.xsd#statement-consolidated-statements-of-operations-" xlink:type="simple"/>
  <link:definitionLink xlink:role="http://www.descartes.com/20200131/role/statement-consolidated-statements-of-operations-" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_AmortizationOfIntangibleAssets" xlink:label="us-gaap_AmortizationOfIntangibleAssets" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_CostOfGoodsAndServicesSold" xlink:label="us-gaap_CostOfGoodsAndServicesSold" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_CostsAndExpensesAbstract" xlink:label="us-gaap_CostsAndExpensesAbstract" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_CurrentIncomeTaxExpenseBenefit" xlink:label="us-gaap_CurrentIncomeTaxExpenseBenefit" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_DeferredIncomeTaxExpenseBenefit" xlink:label="us-gaap_DeferredIncomeTaxExpenseBenefit" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_EarningsPerShareAbstract" xlink:label="us-gaap_EarningsPerShareAbstract" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_EarningsPerShareBasic" xlink:label="us-gaap_EarningsPerShareBasic" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_EarningsPerShareDiluted" xlink:label="us-gaap_EarningsPerShareDiluted" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_GeneralAndAdministrativeExpense" xlink:label="us-gaap_GeneralAndAdministrativeExpense" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_GrossProfit" xlink:label="us-gaap_GrossProfit" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesMinorityInterestAndIncomeLossFromEquityMethodInvestments" xlink:label="us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesMinorityInterestAndIncomeLossFromEquityMethodInvestments" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_IncomeTaxExpenseBenefit" xlink:label="us-gaap_IncomeTaxExpenseBenefit" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_IncomeTaxExpenseBenefitContinuingOperationsAbstract" xlink:label="us-gaap_IncomeTaxExpenseBenefitContinuingOperationsAbstract" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_InterestExpense" xlink:label="us-gaap_InterestExpense" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_InvestmentIncomeNet" xlink:label="us-gaap_InvestmentIncomeNet" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_NetIncomeLoss" xlink:label="us-gaap_NetIncomeLoss" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_OperatingExpenses" xlink:label="us-gaap_OperatingExpenses" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_OperatingIncomeLoss" xlink:label="us-gaap_OperatingIncomeLoss" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_OtherNonoperatingExpense" xlink:label="us-gaap_OtherNonoperatingExpense" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ResearchAndDevelopmentExpense" xlink:label="us-gaap_ResearchAndDevelopmentExpense" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax" xlink:label="us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_SellingAndMarketingExpense" xlink:label="us-gaap_SellingAndMarketingExpense" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding" xlink:label="us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_WeightedAverageNumberOfSharesOutstandingAbstract" xlink:label="us-gaap_WeightedAverageNumberOfSharesOutstandingAbstract" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_WeightedAverageNumberOfSharesOutstandingBasic" xlink:label="us-gaap_WeightedAverageNumberOfSharesOutstandingBasic" xlink:type="locator"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain-default" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xbrldt:contextElement="segment" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax" xlink:type="arc"/>
    <link:definitionArc order="2" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_CostOfGoodsAndServicesSold" xlink:type="arc"/>
    <link:definitionArc order="3" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_GrossProfit" xlink:type="arc"/>
    <link:definitionArc order="4" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_CostsAndExpensesAbstract" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_CostsAndExpensesAbstract" xlink:to="us-gaap_SellingAndMarketingExpense" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_CostsAndExpensesAbstract" xlink:to="us-gaap_ResearchAndDevelopmentExpense" xlink:type="arc"/>
    <link:definitionArc order="2" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_CostsAndExpensesAbstract" xlink:to="us-gaap_GeneralAndAdministrativeExpense" xlink:type="arc"/>
    <link:definitionArc order="3" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_CostsAndExpensesAbstract" xlink:to="us-gaap_OtherNonoperatingExpense" xlink:type="arc"/>
    <link:definitionArc order="4" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_CostsAndExpensesAbstract" xlink:to="us-gaap_AmortizationOfIntangibleAssets" xlink:type="arc"/>
    <link:definitionArc order="5" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_CostsAndExpensesAbstract" xlink:to="us-gaap_OperatingExpenses" xlink:type="arc"/>
    <link:definitionArc order="6" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_CostsAndExpensesAbstract" xlink:to="us-gaap_OperatingIncomeLoss" xlink:type="arc"/>
    <link:definitionArc order="7" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_CostsAndExpensesAbstract" xlink:to="us-gaap_InterestExpense" xlink:type="arc"/>
    <link:definitionArc order="8" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_CostsAndExpensesAbstract" xlink:to="us-gaap_InvestmentIncomeNet" xlink:type="arc"/>
    <link:definitionArc order="9" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_CostsAndExpensesAbstract" xlink:to="us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesMinorityInterestAndIncomeLossFromEquityMethodInvestments" xlink:type="arc"/>
    <link:definitionArc order="5" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_IncomeTaxExpenseBenefitContinuingOperationsAbstract" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_IncomeTaxExpenseBenefitContinuingOperationsAbstract" xlink:to="us-gaap_CurrentIncomeTaxExpenseBenefit" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_IncomeTaxExpenseBenefitContinuingOperationsAbstract" xlink:to="us-gaap_DeferredIncomeTaxExpenseBenefit" xlink:type="arc"/>
    <link:definitionArc order="2" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_IncomeTaxExpenseBenefitContinuingOperationsAbstract" xlink:to="us-gaap_IncomeTaxExpenseBenefit" xlink:type="arc"/>
    <link:definitionArc order="3" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_IncomeTaxExpenseBenefitContinuingOperationsAbstract" xlink:to="us-gaap_NetIncomeLoss" xlink:type="arc"/>
    <link:definitionArc order="6" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_EarningsPerShareAbstract" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_EarningsPerShareAbstract" xlink:to="us-gaap_EarningsPerShareBasic" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_EarningsPerShareAbstract" xlink:to="us-gaap_EarningsPerShareDiluted" xlink:type="arc"/>
    <link:definitionArc order="7" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_WeightedAverageNumberOfSharesOutstandingAbstract" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_WeightedAverageNumberOfSharesOutstandingAbstract" xlink:to="us-gaap_WeightedAverageNumberOfSharesOutstandingBasic" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_WeightedAverageNumberOfSharesOutstandingAbstract" xlink:to="us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding" xlink:type="arc"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://www.descartes.com/20200131/role/statement-note-8-property-and-equipment-property-and-equipment-details" xlink:href="dsgx-20200131.xsd#statement-note-8-property-and-equipment-property-and-equipment-details" xlink:type="simple"/>
  <link:definitionLink xlink:role="http://www.descartes.com/20200131/role/statement-note-8-property-and-equipment-property-and-equipment-details" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="dsgx-20200131.xsd#dsgx_EquipmentInstalledWithCustomersMember" xlink:label="dsgx_EquipmentInstalledWithCustomersMember" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment" xlink:label="us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_AssetUnderConstructionMember" xlink:label="us-gaap_AssetUnderConstructionMember" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ComputerEquipmentMember" xlink:label="us-gaap_ComputerEquipmentMember" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_FurnitureAndFixturesMember" xlink:label="us-gaap_FurnitureAndFixturesMember" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_LeaseholdImprovementsMember" xlink:label="us-gaap_LeaseholdImprovementsMember" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_PropertyPlantAndEquipmentByTypeAxis" xlink:label="us-gaap_PropertyPlantAndEquipmentByTypeAxis" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_PropertyPlantAndEquipmentGross" xlink:label="us-gaap_PropertyPlantAndEquipmentGross" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_PropertyPlantAndEquipmentNet" xlink:label="us-gaap_PropertyPlantAndEquipmentNet" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_PropertyPlantAndEquipmentTypeDomain" xlink:label="us-gaap_PropertyPlantAndEquipmentTypeDomain" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_PropertyPlantAndEquipmentTypeDomain" xlink:label="us-gaap_PropertyPlantAndEquipmentTypeDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="us-gaap_PropertyPlantAndEquipmentByTypeAxis" xlink:to="us-gaap_PropertyPlantAndEquipmentTypeDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_PropertyPlantAndEquipmentByTypeAxis" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_PropertyPlantAndEquipmentTypeDomain" xlink:to="us-gaap_ComputerEquipmentMember" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="us-gaap_PropertyPlantAndEquipmentByTypeAxis" xlink:to="us-gaap_PropertyPlantAndEquipmentTypeDomain-default" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_PropertyPlantAndEquipmentTypeDomain" xlink:to="us-gaap_FurnitureAndFixturesMember" xlink:type="arc"/>
    <link:definitionArc order="2" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_PropertyPlantAndEquipmentTypeDomain" xlink:to="us-gaap_LeaseholdImprovementsMember" xlink:type="arc"/>
    <link:definitionArc order="3" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_PropertyPlantAndEquipmentTypeDomain" xlink:to="dsgx_EquipmentInstalledWithCustomersMember" xlink:type="arc"/>
    <link:definitionArc order="4" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_PropertyPlantAndEquipmentTypeDomain" xlink:to="us-gaap_AssetUnderConstructionMember" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain-default" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xbrldt:contextElement="segment" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_PropertyPlantAndEquipmentGross" xlink:type="arc"/>
    <link:definitionArc order="2" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment" xlink:type="arc"/>
    <link:definitionArc order="3" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_PropertyPlantAndEquipmentNet" xlink:type="arc"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://www.descartes.com/20200131/role/statement-note-9-intangible-assets-intangible-assets-details" xlink:href="dsgx-20200131.xsd#statement-note-9-intangible-assets-intangible-assets-details" xlink:type="simple"/>
  <link:definitionLink xlink:role="http://www.descartes.com/20200131/role/statement-note-9-intangible-assets-intangible-assets-details" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_CustomerRelationshipsMember" xlink:label="us-gaap_CustomerRelationshipsMember" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_DevelopedTechnologyRightsMember" xlink:label="us-gaap_DevelopedTechnologyRightsMember" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization" xlink:label="us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis" xlink:label="us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetsGross" xlink:label="us-gaap_FiniteLivedIntangibleAssetsGross" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain" xlink:label="us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain" xlink:label="us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetsNet" xlink:label="us-gaap_FiniteLivedIntangibleAssetsNet" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_NoncompeteAgreementsMember" xlink:label="us-gaap_NoncompeteAgreementsMember" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_TradeNamesMember" xlink:label="us-gaap_TradeNamesMember" xlink:type="locator"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis" xlink:to="us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain" xlink:to="us-gaap_CustomerRelationshipsMember" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis" xlink:to="us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain-default" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain" xlink:to="us-gaap_DevelopedTechnologyRightsMember" xlink:type="arc"/>
    <link:definitionArc order="2" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain" xlink:to="us-gaap_TradeNamesMember" xlink:type="arc"/>
    <link:definitionArc order="3" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain" xlink:to="us-gaap_NoncompeteAgreementsMember" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain-default" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xbrldt:contextElement="segment" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_FiniteLivedIntangibleAssetsGross" xlink:type="arc"/>
    <link:definitionArc order="2" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization" xlink:type="arc"/>
    <link:definitionArc order="3" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_FiniteLivedIntangibleAssetsNet" xlink:type="arc"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://www.descartes.com/20200131/role/statement-note-18-income-taxes-income-loss-before-income-taxes-earned-by-tax-jurisdictions-details" xlink:href="dsgx-20200131.xsd#statement-note-18-income-taxes-income-loss-before-income-taxes-earned-by-tax-jurisdictions-details" xlink:type="simple"/>
  <link:definitionLink xlink:role="http://www.descartes.com/20200131/role/statement-note-18-income-taxes-income-loss-before-income-taxes-earned-by-tax-jurisdictions-details" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/country/2017/country-2017-01-31.xsd#country_CA" xlink:label="country_CA" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/country/2017/country-2017-01-31.xsd#country_US" xlink:label="country_US" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="dsgx-20200131.xsd#dsgx_OtherCountriesMember" xlink:label="dsgx_OtherCountriesMember" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesMinorityInterestAndIncomeLossFromEquityMethodInvestments" xlink:label="us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesMinorityInterestAndIncomeLossFromEquityMethodInvestments" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_IncomeTaxAuthorityAxis" xlink:label="us-gaap_IncomeTaxAuthorityAxis" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_IncomeTaxAuthorityDomain" xlink:label="us-gaap_IncomeTaxAuthorityDomain" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_IncomeTaxAuthorityDomain" xlink:label="us-gaap_IncomeTaxAuthorityDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="us-gaap_IncomeTaxAuthorityAxis" xlink:to="us-gaap_IncomeTaxAuthorityDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_IncomeTaxAuthorityAxis" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_IncomeTaxAuthorityDomain" xlink:to="country_CA" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="us-gaap_IncomeTaxAuthorityAxis" xlink:to="us-gaap_IncomeTaxAuthorityDomain-default" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_IncomeTaxAuthorityDomain" xlink:to="country_US" xlink:type="arc"/>
    <link:definitionArc order="2" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_IncomeTaxAuthorityDomain" xlink:to="dsgx_OtherCountriesMember" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain-default" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xbrldt:contextElement="segment" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesMinorityInterestAndIncomeLossFromEquityMethodInvestments" xlink:type="arc"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://www.descartes.com/20200131/role/statement-note-18-income-taxes-income-tax-expense-recovery-incurred-by-jurisdictions-details" xlink:href="dsgx-20200131.xsd#statement-note-18-income-taxes-income-tax-expense-recovery-incurred-by-jurisdictions-details" xlink:type="simple"/>
  <link:definitionLink xlink:role="http://www.descartes.com/20200131/role/statement-note-18-income-taxes-income-tax-expense-recovery-incurred-by-jurisdictions-details" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/country/2017/country-2017-01-31.xsd#country_CA" xlink:label="country_CA" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/country/2017/country-2017-01-31.xsd#country_US" xlink:label="country_US" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="dsgx-20200131.xsd#dsgx_OtherCountriesMember" xlink:label="dsgx_OtherCountriesMember" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_CurrentIncomeTaxExpenseBenefit" xlink:label="us-gaap_CurrentIncomeTaxExpenseBenefit" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_DeferredIncomeTaxExpenseBenefit" xlink:label="us-gaap_DeferredIncomeTaxExpenseBenefit" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_IncomeTaxAuthorityAxis" xlink:label="us-gaap_IncomeTaxAuthorityAxis" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_IncomeTaxAuthorityDomain" xlink:label="us-gaap_IncomeTaxAuthorityDomain" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_IncomeTaxAuthorityDomain" xlink:label="us-gaap_IncomeTaxAuthorityDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_IncomeTaxExpenseBenefit" xlink:label="us-gaap_IncomeTaxExpenseBenefit" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="us-gaap_IncomeTaxAuthorityAxis" xlink:to="us-gaap_IncomeTaxAuthorityDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_IncomeTaxAuthorityAxis" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_IncomeTaxAuthorityDomain" xlink:to="country_CA" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="us-gaap_IncomeTaxAuthorityAxis" xlink:to="us-gaap_IncomeTaxAuthorityDomain-default" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_IncomeTaxAuthorityDomain" xlink:to="country_US" xlink:type="arc"/>
    <link:definitionArc order="2" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_IncomeTaxAuthorityDomain" xlink:to="dsgx_OtherCountriesMember" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain-default" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xbrldt:contextElement="segment" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_CurrentIncomeTaxExpenseBenefit" xlink:type="arc"/>
    <link:definitionArc order="2" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_DeferredIncomeTaxExpenseBenefit" xlink:type="arc"/>
    <link:definitionArc order="3" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_IncomeTaxExpenseBenefit" xlink:type="arc"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://www.descartes.com/20200131/role/statement-note-18-income-taxes-components-of-deferred-income-tax-assets-and-liabilities-details" xlink:href="dsgx-20200131.xsd#statement-note-18-income-taxes-components-of-deferred-income-tax-assets-and-liabilities-details" xlink:type="simple"/>
  <link:definitionLink xlink:role="http://www.descartes.com/20200131/role/statement-note-18-income-taxes-components-of-deferred-income-tax-assets-and-liabilities-details" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="dsgx-20200131.xsd#dsgx_DeferredTaxAssetsLiabilitesNet1" xlink:label="dsgx_DeferredTaxAssetsLiabilitesNet1" xlink:type="locator"/>
    <link:loc xlink:href="dsgx-20200131.xsd#dsgx_DeferredTaxAssetsNetBeforeValuationAllowance" xlink:label="dsgx_DeferredTaxAssetsNetBeforeValuationAllowance" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_DeferredIncomeTaxLiabilities" xlink:label="us-gaap_DeferredIncomeTaxLiabilities" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_DeferredTaxAssetsGross" xlink:label="us-gaap_DeferredTaxAssetsGross" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_DeferredTaxAssetsOperatingLossCarryforwards" xlink:label="us-gaap_DeferredTaxAssetsOperatingLossCarryforwards" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_DeferredTaxAssetsPropertyPlantAndEquipment" xlink:label="us-gaap_DeferredTaxAssetsPropertyPlantAndEquipment" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_DeferredTaxAssetsTaxCreditCarryforwardsResearch" xlink:label="us-gaap_DeferredTaxAssetsTaxCreditCarryforwardsResearch" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAccruedLiabilities" xlink:label="us-gaap_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAccruedLiabilities" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_DeferredTaxAssetsValuationAllowance" xlink:label="us-gaap_DeferredTaxAssetsValuationAllowance" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_DeferredTaxLiabilitiesGoodwillAndIntangibleAssetsIntangibleAssets" xlink:label="us-gaap_DeferredTaxLiabilitiesGoodwillAndIntangibleAssetsIntangibleAssets" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_DeferredTaxLiabilitiesOther" xlink:label="us-gaap_DeferredTaxLiabilitiesOther" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_DeferredTaxLiabilitiesPropertyPlantAndEquipment" xlink:label="us-gaap_DeferredTaxLiabilitiesPropertyPlantAndEquipment" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain-default" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xbrldt:contextElement="segment" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAccruedLiabilities" xlink:type="arc"/>
    <link:definitionArc order="2" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_DeferredTaxAssetsOperatingLossCarryforwards" xlink:type="arc"/>
    <link:definitionArc order="3" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_DeferredTaxAssetsPropertyPlantAndEquipment" xlink:type="arc"/>
    <link:definitionArc order="4" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_DeferredTaxAssetsTaxCreditCarryforwardsResearch" xlink:type="arc"/>
    <link:definitionArc order="5" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_DeferredTaxAssetsGross" xlink:type="arc"/>
    <link:definitionArc order="6" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_DeferredTaxLiabilitiesGoodwillAndIntangibleAssetsIntangibleAssets" xlink:type="arc"/>
    <link:definitionArc order="7" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_DeferredTaxLiabilitiesPropertyPlantAndEquipment" xlink:type="arc"/>
    <link:definitionArc order="8" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_DeferredTaxLiabilitiesOther" xlink:type="arc"/>
    <link:definitionArc order="9" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_DeferredIncomeTaxLiabilities" xlink:type="arc"/>
    <link:definitionArc order="10" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="dsgx_DeferredTaxAssetsNetBeforeValuationAllowance" xlink:type="arc"/>
    <link:definitionArc order="11" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_DeferredTaxAssetsValuationAllowance" xlink:type="arc"/>
    <link:definitionArc order="12" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="dsgx_DeferredTaxAssetsLiabilitesNet1" xlink:type="arc"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://www.descartes.com/20200131/role/statement-note-22-segmented-information-segmented-revenue-by-geographical-location-of-customer-details" xlink:href="dsgx-20200131.xsd#statement-note-22-segmented-information-segmented-revenue-by-geographical-location-of-customer-details" xlink:type="simple"/>
  <link:definitionLink xlink:role="http://www.descartes.com/20200131/role/statement-note-22-segmented-information-segmented-revenue-by-geographical-location-of-customer-details" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/country/2017/country-2017-01-31.xsd#country_CA" xlink:label="country_CA" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/country/2017/country-2017-01-31.xsd#country_US" xlink:label="country_US" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/srt/2019/elts/srt-2019-01-31.xsd#srt_AsiaPacificMember" xlink:label="srt_AsiaPacificMember" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/srt/2019/elts/srt-2019-01-31.xsd#srt_SegmentGeographicalDomain" xlink:label="srt_SegmentGeographicalDomain" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/srt/2019/elts/srt-2019-01-31.xsd#srt_SegmentGeographicalDomain" xlink:label="srt_SegmentGeographicalDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/srt/2019/elts/srt-2019-01-31.xsd#srt_StatementGeographicalAxis" xlink:label="srt_StatementGeographicalAxis" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_EMEAMember" xlink:label="us-gaap_EMEAMember" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax" xlink:label="us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="srt_StatementGeographicalAxis" xlink:to="srt_SegmentGeographicalDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="srt_StatementGeographicalAxis" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="srt_SegmentGeographicalDomain" xlink:to="country_US" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="srt_StatementGeographicalAxis" xlink:to="srt_SegmentGeographicalDomain-default" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="srt_SegmentGeographicalDomain" xlink:to="us-gaap_EMEAMember" xlink:type="arc"/>
    <link:definitionArc order="2" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="srt_SegmentGeographicalDomain" xlink:to="country_CA" xlink:type="arc"/>
    <link:definitionArc order="3" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="srt_SegmentGeographicalDomain" xlink:to="srt_AsiaPacificMember" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain-default" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xbrldt:contextElement="segment" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax" xlink:type="arc"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://www.descartes.com/20200131/role/statement-note-22-segmented-information-segmented-revenue-by-revenue-type-details" xlink:href="dsgx-20200131.xsd#statement-note-22-segmented-information-segmented-revenue-by-revenue-type-details" xlink:type="simple"/>
  <link:definitionLink xlink:role="http://www.descartes.com/20200131/role/statement-note-22-segmented-information-segmented-revenue-by-revenue-type-details" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="dsgx-20200131.xsd#dsgx_ProfessionalServicesAndOtherMember" xlink:label="dsgx_ProfessionalServicesAndOtherMember" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/srt/2019/elts/srt-2019-01-31.xsd#srt_ProductOrServiceAxis" xlink:label="srt_ProductOrServiceAxis" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/srt/2019/elts/srt-2019-01-31.xsd#srt_ProductsAndServicesDomain" xlink:label="srt_ProductsAndServicesDomain" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/srt/2019/elts/srt-2019-01-31.xsd#srt_ProductsAndServicesDomain" xlink:label="srt_ProductsAndServicesDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_LicenseMember" xlink:label="us-gaap_LicenseMember" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax" xlink:label="us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ServiceMember" xlink:label="us-gaap_ServiceMember" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="srt_ProductOrServiceAxis" xlink:to="srt_ProductsAndServicesDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="srt_ProductOrServiceAxis" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="srt_ProductsAndServicesDomain" xlink:to="us-gaap_ServiceMember" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="srt_ProductOrServiceAxis" xlink:to="srt_ProductsAndServicesDomain-default" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="srt_ProductsAndServicesDomain" xlink:to="dsgx_ProfessionalServicesAndOtherMember" xlink:type="arc"/>
    <link:definitionArc order="2" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="srt_ProductsAndServicesDomain" xlink:to="us-gaap_LicenseMember" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain-default" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xbrldt:contextElement="segment" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax" xlink:type="arc"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://www.descartes.com/20200131/role/statement-note-22-segmented-information-longlived-assets-by-geographical-location-details" xlink:href="dsgx-20200131.xsd#statement-note-22-segmented-information-longlived-assets-by-geographical-location-details" xlink:type="simple"/>
  <link:definitionLink xlink:role="http://www.descartes.com/20200131/role/statement-note-22-segmented-information-longlived-assets-by-geographical-location-details" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/country/2017/country-2017-01-31.xsd#country_CA" xlink:label="country_CA" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/country/2017/country-2017-01-31.xsd#country_US" xlink:label="country_US" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/srt/2019/elts/srt-2019-01-31.xsd#srt_AsiaPacificMember" xlink:label="srt_AsiaPacificMember" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/srt/2019/elts/srt-2019-01-31.xsd#srt_SegmentGeographicalDomain" xlink:label="srt_SegmentGeographicalDomain" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/srt/2019/elts/srt-2019-01-31.xsd#srt_SegmentGeographicalDomain" xlink:label="srt_SegmentGeographicalDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/srt/2019/elts/srt-2019-01-31.xsd#srt_StatementGeographicalAxis" xlink:label="srt_StatementGeographicalAxis" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_EMEAMember" xlink:label="us-gaap_EMEAMember" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_NoncurrentAssets" xlink:label="us-gaap_NoncurrentAssets" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="srt_StatementGeographicalAxis" xlink:to="srt_SegmentGeographicalDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="srt_StatementGeographicalAxis" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="srt_SegmentGeographicalDomain" xlink:to="country_US" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="srt_StatementGeographicalAxis" xlink:to="srt_SegmentGeographicalDomain-default" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="srt_SegmentGeographicalDomain" xlink:to="us-gaap_EMEAMember" xlink:type="arc"/>
    <link:definitionArc order="2" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="srt_SegmentGeographicalDomain" xlink:to="country_CA" xlink:type="arc"/>
    <link:definitionArc order="3" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="srt_SegmentGeographicalDomain" xlink:to="srt_AsiaPacificMember" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain-default" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xbrldt:contextElement="segment" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_NoncurrentAssets" xlink:type="arc"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://www.descartes.com/20200131/role/statement-consolidated-statements-of-comprehensive-income" xlink:href="dsgx-20200131.xsd#statement-consolidated-statements-of-comprehensive-income" xlink:type="simple"/>
  <link:definitionLink xlink:role="http://www.descartes.com/20200131/role/statement-consolidated-statements-of-comprehensive-income" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ComprehensiveIncomeNetOfTax" xlink:label="us-gaap_ComprehensiveIncomeNetOfTax" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_NetIncomeLoss" xlink:label="us-gaap_NetIncomeLoss" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax" xlink:label="us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_OtherComprehensiveIncomeLossNetOfTax" xlink:label="us-gaap_OtherComprehensiveIncomeLossNetOfTax" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_OtherComprehensiveIncomeLossTaxAbstract" xlink:label="us-gaap_OtherComprehensiveIncomeLossTaxAbstract" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain-default" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xbrldt:contextElement="segment" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_NetIncomeLoss" xlink:type="arc"/>
    <link:definitionArc order="2" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_OtherComprehensiveIncomeLossTaxAbstract" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_OtherComprehensiveIncomeLossTaxAbstract" xlink:to="us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_OtherComprehensiveIncomeLossTaxAbstract" xlink:to="us-gaap_OtherComprehensiveIncomeLossNetOfTax" xlink:type="arc"/>
    <link:definitionArc order="2" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_OtherComprehensiveIncomeLossTaxAbstract" xlink:to="us-gaap_ComprehensiveIncomeNetOfTax" xlink:type="arc"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://www.descartes.com/20200131/role/statement-consolidated-statements-of-shareholders-equity" xlink:href="dsgx-20200131.xsd#statement-consolidated-statements-of-shareholders-equity" xlink:type="simple"/>
  <link:definitionLink xlink:role="http://www.descartes.com/20200131/role/statement-consolidated-statements-of-shareholders-equity" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_AccumulatedOtherComprehensiveIncomeMember" xlink:label="us-gaap_AccumulatedOtherComprehensiveIncomeMember" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_AdditionalPaidInCapitalMember" xlink:label="us-gaap_AdditionalPaidInCapitalMember" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationAndExerciseOfStockOptions" xlink:label="us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationAndExerciseOfStockOptions" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" xlink:label="us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_CommonStockMember" xlink:label="us-gaap_CommonStockMember" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_CumulativeEffectOfNewAccountingPrincipleInPeriodOfAdoption" xlink:label="us-gaap_CumulativeEffectOfNewAccountingPrincipleInPeriodOfAdoption" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_EquityComponentDomain" xlink:label="us-gaap_EquityComponentDomain" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_EquityComponentDomain" xlink:label="us-gaap_EquityComponentDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_NetIncomeLoss" xlink:label="us-gaap_NetIncomeLoss" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent" xlink:label="us-gaap_OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_RetainedEarningsMember" xlink:label="us-gaap_RetainedEarningsMember" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_StatementEquityComponentsAxis" xlink:label="us-gaap_StatementEquityComponentsAxis" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_StockIssuedDuringPeriodValueAcquisitions" xlink:label="us-gaap_StockIssuedDuringPeriodValueAcquisitions" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_StockIssuedDuringPeriodValueNewIssues" xlink:label="us-gaap_StockIssuedDuringPeriodValueNewIssues" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_StockIssuedDuringPeriodValueStockOptionsExercised" xlink:label="us-gaap_StockIssuedDuringPeriodValueStockOptionsExercised" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_StockholdersEquity" xlink:label="us-gaap_StockholdersEquity" xlink:type="locator"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="us-gaap_StatementEquityComponentsAxis" xlink:to="us-gaap_EquityComponentDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_StatementEquityComponentsAxis" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_EquityComponentDomain" xlink:to="us-gaap_CommonStockMember" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="us-gaap_StatementEquityComponentsAxis" xlink:to="us-gaap_EquityComponentDomain-default" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_EquityComponentDomain" xlink:to="us-gaap_AdditionalPaidInCapitalMember" xlink:type="arc"/>
    <link:definitionArc order="2" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_EquityComponentDomain" xlink:to="us-gaap_AccumulatedOtherComprehensiveIncomeMember" xlink:type="arc"/>
    <link:definitionArc order="3" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_EquityComponentDomain" xlink:to="us-gaap_RetainedEarningsMember" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain-default" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xbrldt:contextElement="segment" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_StockholdersEquity" xlink:type="arc"/>
    <link:definitionArc order="2" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_StockIssuedDuringPeriodValueStockOptionsExercised" xlink:type="arc"/>
    <link:definitionArc order="3" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_StockIssuedDuringPeriodValueNewIssues" xlink:type="arc"/>
    <link:definitionArc order="4" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_StockIssuedDuringPeriodValueAcquisitions" xlink:type="arc"/>
    <link:definitionArc order="5" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" xlink:type="arc"/>
    <link:definitionArc order="6" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationAndExerciseOfStockOptions" xlink:type="arc"/>
    <link:definitionArc order="7" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_CumulativeEffectOfNewAccountingPrincipleInPeriodOfAdoption" xlink:type="arc"/>
    <link:definitionArc order="8" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent" xlink:type="arc"/>
    <link:definitionArc order="9" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_NetIncomeLoss" xlink:type="arc"/>
  </link:definitionLink>
</link:linkbase>
</XBRL>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-101.LAB
<SEQUENCE>11
<FILENAME>dsgx-20200131_lab.xml
<DESCRIPTION>XBRL TAXONOMY EXTENSION LABEL LINKBASE
<TEXT>
<XBRL>
<?xml version="1.0" encoding="US-ASCII" standalone="no"?>
<!--Generated by ThunderDome XBRL - 06:59PM UTC 2020-04-03--><link:linkbase xmlns:link="http://www.xbrl.org/2003/linkbase" xmlns:xbrldt="http://xbrl.org/2005/xbrldt" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.xbrl.org/2003/linkbase http://www.xbrl.org/2003/xbrl-linkbase-2003-12-31.xsd">
  <link:roleRef roleURI="http://www.xbrl.org/2009/role/negatedLabel" xlink:href="http://www.xbrl.org/lrr/role/negated-2009-12-16.xsd#negatedLabel" xlink:type="simple"/>
  <link:roleRef roleURI="http://www.xbrl.org/2009/role/negatedPeriodEndLabel" xlink:href="http://www.xbrl.org/lrr/role/negated-2009-12-16.xsd#negatedPeriodEndLabel" xlink:type="simple"/>
  <link:roleRef roleURI="http://www.xbrl.org/2009/role/negatedPeriodStartLabel" xlink:href="http://www.xbrl.org/lrr/role/negated-2009-12-16.xsd#negatedPeriodStartLabel" xlink:type="simple"/>
  <link:roleRef roleURI="http://www.xbrl.org/2009/role/negatedTotalLabel" xlink:href="http://www.xbrl.org/lrr/role/negated-2009-12-16.xsd#negatedTotalLabel" xlink:type="simple"/>
  <link:roleRef roleURI="http://www.xbrl.org/2009/role/negatedTerseLabel" xlink:href="http://www.xbrl.org/lrr/role/negated-2009-12-16.xsd#negatedTerseLabel" xlink:type="simple"/>
  <link:roleRef roleURI="http://www.xbrl.org/2009/role/negatedNetLabel" xlink:href="http://www.xbrl.org/lrr/role/negated-2009-12-16.xsd#negatedNetLabel" xlink:type="simple"/>
  <link:roleRef roleURI="http://www.xbrl.org/2009/role/netLabel" xlink:href="http://www.xbrl.org/lrr/role/net-2009-12-16.xsd#netLabel" xlink:type="simple"/>
  <link:labelLink xlink:role="http://www.xbrl.org/2003/role/link" xlink:type="extended">
    <link:loc xlink:href="dsgx-20200131.xsd#dsgx_DocumentAndEntityInformation" xlink:label="dsgx_DocumentAndEntityInformation" xlink:type="locator"/>
    <link:label xlink:label="dsgx_DocumentAndEntityInformation-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Document And Entity Information</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dsgx_DocumentAndEntityInformation" xlink:to="dsgx_DocumentAndEntityInformation-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Expected dividend yield (%)</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles" xlink:label="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Finite-lived intangible assets acquired</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles" xlink:to="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles-label" xlink:type="arc"/>
    <link:loc xlink:href="dsgx-20200131.xsd#dsgx_NoteToFinancialStatementDetailsTextual" xlink:label="dsgx_NoteToFinancialStatementDetailsTextual" xlink:type="locator"/>
    <link:label xlink:label="dsgx_NoteToFinancialStatementDetailsTextual-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Note To Financial Statement Details Textual</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dsgx_NoteToFinancialStatementDetailsTextual" xlink:to="dsgx_NoteToFinancialStatementDetailsTextual-label" xlink:type="arc"/>
    <link:loc xlink:href="dsgx-20200131.xsd#dsgx_statement-statement-significant-accounting-policies-policies" xlink:label="dsgx_statement-statement-significant-accounting-policies-policies" xlink:type="locator"/>
    <link:label xlink:label="dsgx_statement-statement-significant-accounting-policies-policies-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Significant Accounting Policies</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dsgx_statement-statement-significant-accounting-policies-policies" xlink:to="dsgx_statement-statement-significant-accounting-policies-policies-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ScheduleOfShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeTextBlock" xlink:label="us-gaap_ScheduleOfShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeTextBlock" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_ScheduleOfShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeTextBlock-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Share-based Payment Arrangement, Option, Exercise Price Range [Table Text Block]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ScheduleOfShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeTextBlock" xlink:to="us-gaap_ScheduleOfShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeTextBlock-label" xlink:type="arc"/>
    <link:loc xlink:href="dsgx-20200131.xsd#dsgx_statement-statement-note-3-acquisitions-tables" xlink:label="dsgx_statement-statement-note-3-acquisitions-tables" xlink:type="locator"/>
    <link:label xlink:label="dsgx_statement-statement-note-3-acquisitions-tables-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Note 3 - Acquisitions</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dsgx_statement-statement-note-3-acquisitions-tables" xlink:to="dsgx_statement-statement-note-3-acquisitions-tables-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_IncomeTaxReconciliationIncomeTaxExpenseBenefitAtFederalStatutoryIncomeTaxRate" xlink:label="us-gaap_IncomeTaxReconciliationIncomeTaxExpenseBenefitAtFederalStatutoryIncomeTaxRate" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_IncomeTaxReconciliationIncomeTaxExpenseBenefitAtFederalStatutoryIncomeTaxRate-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_IncomeTaxReconciliationIncomeTaxExpenseBenefitAtFederalStatutoryIncomeTaxRate</link:label>
    <link:label xlink:label="us-gaap_IncomeTaxReconciliationIncomeTaxExpenseBenefitAtFederalStatutoryIncomeTaxRate-label" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Income tax expense based on the above rates</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncomeTaxReconciliationIncomeTaxExpenseBenefitAtFederalStatutoryIncomeTaxRate" xlink:to="us-gaap_IncomeTaxReconciliationIncomeTaxExpenseBenefitAtFederalStatutoryIncomeTaxRate-label" xlink:type="arc"/>
    <link:loc xlink:href="dsgx-20200131.xsd#dsgx_statement-statement-note-4-fair-value-measurements-tables" xlink:label="dsgx_statement-statement-note-4-fair-value-measurements-tables" xlink:type="locator"/>
    <link:label xlink:label="dsgx_statement-statement-note-4-fair-value-measurements-tables-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Note 4 - Fair Value Measurements</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dsgx_statement-statement-note-4-fair-value-measurements-tables" xlink:to="dsgx_statement-statement-note-4-fair-value-measurements-tables-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Risk-free rate (%)</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssets" xlink:label="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssets" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssets-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Current assets, excluding cash acquired</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssets" xlink:to="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssets-label" xlink:type="arc"/>
    <link:loc xlink:href="dsgx-20200131.xsd#dsgx_statement-statement-note-5-trade-receivables-tables" xlink:label="dsgx_statement-statement-note-5-trade-receivables-tables" xlink:type="locator"/>
    <link:label xlink:label="dsgx_statement-statement-note-5-trade-receivables-tables-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Note 5 - Trade Receivables</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dsgx_statement-statement-note-5-trade-receivables-tables" xlink:to="dsgx_statement-statement-note-5-trade-receivables-tables-label" xlink:type="arc"/>
    <link:loc xlink:href="dsgx-20200131.xsd#dsgx_statement-statement-note-6-other-receivables-tables" xlink:label="dsgx_statement-statement-note-6-other-receivables-tables" xlink:type="locator"/>
    <link:label xlink:label="dsgx_statement-statement-note-6-other-receivables-tables-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Note 6 - Other Receivables</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dsgx_statement-statement-note-6-other-receivables-tables" xlink:to="dsgx_statement-statement-note-6-other-receivables-tables-label" xlink:type="arc"/>
    <link:loc xlink:href="dsgx-20200131.xsd#dsgx_ShipRushMember" xlink:label="dsgx_ShipRushMember" xlink:type="locator"/>
    <link:label xlink:label="dsgx_ShipRushMember-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">ShipRush [Member]</link:label>
    <link:label xlink:label="dsgx_ShipRushMember-label" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xml:lang="en-US">Related to the acquisition of ShipRush.</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dsgx_ShipRushMember" xlink:to="dsgx_ShipRushMember-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_DerivativeGainOnDerivative" xlink:label="us-gaap_DerivativeGainOnDerivative" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_DerivativeGainOnDerivative-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_DerivativeGainOnDerivative</link:label>
    <link:label xlink:label="us-gaap_DerivativeGainOnDerivative-label" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Derivative, Gain on Derivative</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DerivativeGainOnDerivative" xlink:to="us-gaap_DerivativeGainOnDerivative-label" xlink:type="arc"/>
    <link:loc xlink:href="dsgx-20200131.xsd#dsgx_statement-statement--note-8-property-and-equipment-tables" xlink:label="dsgx_statement-statement--note-8-property-and-equipment-tables" xlink:type="locator"/>
    <link:label xlink:label="dsgx_statement-statement--note-8-property-and-equipment-tables-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Note 8 - Property and Equipment</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dsgx_statement-statement--note-8-property-and-equipment-tables" xlink:to="dsgx_statement-statement--note-8-property-and-equipment-tables-label" xlink:type="arc"/>
    <link:loc xlink:href="dsgx-20200131.xsd#dsgx_statement-statement-note-9-intangible-assets-tables" xlink:label="dsgx_statement-statement-note-9-intangible-assets-tables" xlink:type="locator"/>
    <link:label xlink:label="dsgx_statement-statement-note-9-intangible-assets-tables-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Note 9 - Intangible Assets</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dsgx_statement-statement-note-9-intangible-assets-tables" xlink:to="dsgx_statement-statement-note-9-intangible-assets-tables-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_NondesignatedMember" xlink:label="us-gaap_NondesignatedMember" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_NondesignatedMember-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Not Designated as Hedging Instrument [Member]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_NondesignatedMember" xlink:to="us-gaap_NondesignatedMember-label" xlink:type="arc"/>
    <link:loc xlink:href="dsgx-20200131.xsd#dsgx_statement-statement-note-10-goodwill-tables" xlink:label="dsgx_statement-statement-note-10-goodwill-tables" xlink:type="locator"/>
    <link:label xlink:label="dsgx_statement-statement-note-10-goodwill-tables-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Note 10 - Goodwill</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dsgx_statement-statement-note-10-goodwill-tables" xlink:to="dsgx_statement-statement-note-10-goodwill-tables-label" xlink:type="arc"/>
    <link:loc xlink:href="dsgx-20200131.xsd#dsgx_statement-statement-note-11-accrued-liabilities-tables" xlink:label="dsgx_statement-statement-note-11-accrued-liabilities-tables" xlink:type="locator"/>
    <link:label xlink:label="dsgx_statement-statement-note-11-accrued-liabilities-tables-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Note 11 - Accrued Liabilities</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dsgx_statement-statement-note-11-accrued-liabilities-tables" xlink:to="dsgx_statement-statement-note-11-accrued-liabilities-tables-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_IncomeTaxDisclosureTextBlock" xlink:label="us-gaap_IncomeTaxDisclosureTextBlock" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_IncomeTaxDisclosureTextBlock-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Income Tax Disclosure [Text Block]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncomeTaxDisclosureTextBlock" xlink:to="us-gaap_IncomeTaxDisclosureTextBlock-label" xlink:type="arc"/>
    <link:loc xlink:href="dsgx-20200131.xsd#dsgx_statement-statement-note-12-debt-tables" xlink:label="dsgx_statement-statement-note-12-debt-tables" xlink:type="locator"/>
    <link:label xlink:label="dsgx_statement-statement-note-12-debt-tables-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Note 12 - Debt</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dsgx_statement-statement-note-12-debt-tables" xlink:to="dsgx_statement-statement-note-12-debt-tables-label" xlink:type="arc"/>
    <link:loc xlink:href="dsgx-20200131.xsd#dsgx_statement-statement-note-13-leases-tables" xlink:label="dsgx_statement-statement-note-13-leases-tables" xlink:type="locator"/>
    <link:label xlink:label="dsgx_statement-statement-note-13-leases-tables-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Note 13 - Leases</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dsgx_statement-statement-note-13-leases-tables" xlink:to="dsgx_statement-statement-note-13-leases-tables-label" xlink:type="arc"/>
    <link:loc xlink:href="dsgx-20200131.xsd#dsgx_statement-statement-note-15-share-capital-tables" xlink:label="dsgx_statement-statement-note-15-share-capital-tables" xlink:type="locator"/>
    <link:label xlink:label="dsgx_statement-statement-note-15-share-capital-tables-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Note 15 - Share Capital</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dsgx_statement-statement-note-15-share-capital-tables" xlink:to="dsgx_statement-statement-note-15-share-capital-tables-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_HedgingDesignationAxis" xlink:label="us-gaap_HedgingDesignationAxis" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_HedgingDesignationAxis-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Hedging Designation [Axis]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_HedgingDesignationAxis" xlink:to="us-gaap_HedgingDesignationAxis-label" xlink:type="arc"/>
    <link:loc xlink:href="dsgx-20200131.xsd#dsgx_statement-statement-note-16-earnings-per-share-tables" xlink:label="dsgx_statement-statement-note-16-earnings-per-share-tables" xlink:type="locator"/>
    <link:label xlink:label="dsgx_statement-statement-note-16-earnings-per-share-tables-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Note 16 - Earnings Per Share</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dsgx_statement-statement-note-16-earnings-per-share-tables" xlink:to="dsgx_statement-statement-note-16-earnings-per-share-tables-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Expected volatility (%)</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_HedgingDesignationDomain" xlink:label="us-gaap_HedgingDesignationDomain" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_HedgingDesignationDomain-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Hedging Designation [Domain]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_HedgingDesignationDomain" xlink:to="us-gaap_HedgingDesignationDomain-label" xlink:type="arc"/>
    <link:loc xlink:href="dsgx-20200131.xsd#dsgx_statement-statement-note-17-stockbased-compensation-plans-tables" xlink:label="dsgx_statement-statement-note-17-stockbased-compensation-plans-tables" xlink:type="locator"/>
    <link:label xlink:label="dsgx_statement-statement-note-17-stockbased-compensation-plans-tables-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Note 17 - Stock-based Compensation Plans</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dsgx_statement-statement-note-17-stockbased-compensation-plans-tables" xlink:to="dsgx_statement-statement-note-17-stockbased-compensation-plans-tables-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_DesignatedAsHedgingInstrumentMember" xlink:label="us-gaap_DesignatedAsHedgingInstrumentMember" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_DesignatedAsHedgingInstrumentMember-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Designated as Hedging Instrument [Member]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DesignatedAsHedgingInstrumentMember" xlink:to="us-gaap_DesignatedAsHedgingInstrumentMember-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_LiabilitiesCurrent" xlink:label="us-gaap_LiabilitiesCurrent" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_LiabilitiesCurrent-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_LiabilitiesCurrent</link:label>
    <link:label xlink:label="us-gaap_LiabilitiesCurrent-label" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:type="resource" xml:lang="en-US"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LiabilitiesCurrent" xlink:to="us-gaap_LiabilitiesCurrent-label" xlink:type="arc"/>
    <link:loc xlink:href="dsgx-20200131.xsd#dsgx_statement-statement-note-18-income-taxes-tables" xlink:label="dsgx_statement-statement-note-18-income-taxes-tables" xlink:type="locator"/>
    <link:label xlink:label="dsgx_statement-statement-note-18-income-taxes-tables-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Note 18 - Income Taxes</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dsgx_statement-statement-note-18-income-taxes-tables" xlink:to="dsgx_statement-statement-note-18-income-taxes-tables-label" xlink:type="arc"/>
    <link:loc xlink:href="dsgx-20200131.xsd#dsgx_statement-statement-note-19-contract-balances-performance-obligations-and-contract-costs-tables" xlink:label="dsgx_statement-statement-note-19-contract-balances-performance-obligations-and-contract-costs-tables" xlink:type="locator"/>
    <link:label xlink:label="dsgx_statement-statement-note-19-contract-balances-performance-obligations-and-contract-costs-tables-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Note 19 - Contract Balances, Performance Obligations and Contract Costs</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dsgx_statement-statement-note-19-contract-balances-performance-obligations-and-contract-costs-tables" xlink:to="dsgx_statement-statement-note-19-contract-balances-performance-obligations-and-contract-costs-tables-label" xlink:type="arc"/>
    <link:loc xlink:href="dsgx-20200131.xsd#dsgx_statement-statement-note-20-other-charges-tables" xlink:label="dsgx_statement-statement-note-20-other-charges-tables" xlink:type="locator"/>
    <link:label xlink:label="dsgx_statement-statement-note-20-other-charges-tables-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Note 20 - Other Charges</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dsgx_statement-statement-note-20-other-charges-tables" xlink:to="dsgx_statement-statement-note-20-other-charges-tables-label" xlink:type="arc"/>
    <link:loc xlink:href="dsgx-20200131.xsd#dsgx_statement-statement-note-21-supplemental-cash-flow-information-tables" xlink:label="dsgx_statement-statement-note-21-supplemental-cash-flow-information-tables" xlink:type="locator"/>
    <link:label xlink:label="dsgx_statement-statement-note-21-supplemental-cash-flow-information-tables-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Note 21 - Supplemental Cash Flow Information</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dsgx_statement-statement-note-21-supplemental-cash-flow-information-tables" xlink:to="dsgx_statement-statement-note-21-supplemental-cash-flow-information-tables-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1" xlink:label="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Expected option life (years) (Year)</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1" xlink:to="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_BusinessCombinationConsiderationTransferredEquityInterestsIssuedAndIssuable" xlink:label="us-gaap_BusinessCombinationConsiderationTransferredEquityInterestsIssuedAndIssuable" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_BusinessCombinationConsiderationTransferredEquityInterestsIssuedAndIssuable-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Common shares issued</link:label>
    <link:label xlink:label="us-gaap_BusinessCombinationConsiderationTransferredEquityInterestsIssuedAndIssuable-label" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Business Combination, Consideration Transferred, Equity Interests Issued and Issuable</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_BusinessCombinationConsiderationTransferredEquityInterestsIssuedAndIssuable" xlink:to="us-gaap_BusinessCombinationConsiderationTransferredEquityInterestsIssuedAndIssuable-label" xlink:type="arc"/>
    <link:loc xlink:href="dsgx-20200131.xsd#dsgx_statement-statement-note-22-segmented-information-tables" xlink:label="dsgx_statement-statement-note-22-segmented-information-tables" xlink:type="locator"/>
    <link:label xlink:label="dsgx_statement-statement-note-22-segmented-information-tables-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Note 22 - Segmented Information</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dsgx_statement-statement-note-22-segmented-information-tables" xlink:to="dsgx_statement-statement-note-22-segmented-information-tables-label" xlink:type="arc"/>
    <link:loc xlink:href="dsgx-20200131.xsd#dsgx_statement-statement-note-3-acquisitions-preliminary-purchase-price-allocation-for-businesses-acquired-details" xlink:label="dsgx_statement-statement-note-3-acquisitions-preliminary-purchase-price-allocation-for-businesses-acquired-details" xlink:type="locator"/>
    <link:label xlink:label="dsgx_statement-statement-note-3-acquisitions-preliminary-purchase-price-allocation-for-businesses-acquired-details-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Note 3 - Acquisitions - Preliminary Purchase Price Allocation for Businesses Acquired (Details)</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dsgx_statement-statement-note-3-acquisitions-preliminary-purchase-price-allocation-for-businesses-acquired-details" xlink:to="dsgx_statement-statement-note-3-acquisitions-preliminary-purchase-price-allocation-for-businesses-acquired-details-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_BusinessCombinationConsiderationTransferred1" xlink:label="us-gaap_BusinessCombinationConsiderationTransferred1" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_BusinessCombinationConsiderationTransferred1-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Purchase price consideration</link:label>
    <link:label xlink:label="us-gaap_BusinessCombinationConsiderationTransferred1-label" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Business Combination, Consideration Transferred, Total</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_BusinessCombinationConsiderationTransferred1" xlink:to="us-gaap_BusinessCombinationConsiderationTransferred1-label" xlink:type="arc"/>
    <link:loc xlink:href="dsgx-20200131.xsd#dsgx_statement-statement-note-3-acquisitions-preliminary-purchase-price-allocation-for-businesses-acquired-details-parentheticals" xlink:label="dsgx_statement-statement-note-3-acquisitions-preliminary-purchase-price-allocation-for-businesses-acquired-details-parentheticals" xlink:type="locator"/>
    <link:label xlink:label="dsgx_statement-statement-note-3-acquisitions-preliminary-purchase-price-allocation-for-businesses-acquired-details-parentheticals-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Note 3 - Acquisitions - Preliminary Purchase Price Allocation for Businesses Acquired (Details) (Parentheticals)</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dsgx_statement-statement-note-3-acquisitions-preliminary-purchase-price-allocation-for-businesses-acquired-details-parentheticals" xlink:to="dsgx_statement-statement-note-3-acquisitions-preliminary-purchase-price-allocation-for-businesses-acquired-details-parentheticals-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsOutstandingWeightedAverageRemainingContractualTerms" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsOutstandingWeightedAverageRemainingContractualTerms" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsOutstandingWeightedAverageRemainingContractualTerms-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Weighted-Average Remaining Contractual, PSU (Year)</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsOutstandingWeightedAverageRemainingContractualTerms" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsOutstandingWeightedAverageRemainingContractualTerms-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodTotalFairValue" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodTotalFairValue" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodTotalFairValue-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodTotalFairValue</link:label>
    <link:label xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodTotalFairValue-label" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Share-based Compensation Arrangement by Share-based Payment Award, Equity Instruments Other than Options, Vested in Period, Fair Value</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodTotalFairValue" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodTotalFairValue-label" xlink:type="arc"/>
    <link:loc xlink:href="dsgx-20200131.xsd#dsgx_statement-statement-note-3-acquisitions-acquired-intangible-assets-useful-lives-details" xlink:label="dsgx_statement-statement-note-3-acquisitions-acquired-intangible-assets-useful-lives-details" xlink:type="locator"/>
    <link:label xlink:label="dsgx_statement-statement-note-3-acquisitions-acquired-intangible-assets-useful-lives-details-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Note 3 - Acquisitions - Acquired Intangible Assets Useful Lives (Details)</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dsgx_statement-statement-note-3-acquisitions-acquired-intangible-assets-useful-lives-details" xlink:to="dsgx_statement-statement-note-3-acquisitions-acquired-intangible-assets-useful-lives-details-label" xlink:type="arc"/>
    <link:loc xlink:href="dsgx-20200131.xsd#dsgx_statement-statement-note-3-acquisitions-pro-forma-results-of-operations-details" xlink:label="dsgx_statement-statement-note-3-acquisitions-pro-forma-results-of-operations-details" xlink:type="locator"/>
    <link:label xlink:label="dsgx_statement-statement-note-3-acquisitions-pro-forma-results-of-operations-details-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Note 3 - Acquisitions - Pro Forma Results of Operations (Details)</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dsgx_statement-statement-note-3-acquisitions-pro-forma-results-of-operations-details" xlink:to="dsgx_statement-statement-note-3-acquisitions-pro-forma-results-of-operations-details-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsTableTextBlock" xlink:label="us-gaap_ScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsTableTextBlock" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_ScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsTableTextBlock-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Schedule of Share-based Payment Award, Stock Options, Valuation Assumptions [Table Text Block]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsTableTextBlock" xlink:to="us-gaap_ScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsTableTextBlock-label" xlink:type="arc"/>
    <link:loc xlink:href="dsgx-20200131.xsd#dsgx_statement-statement-note-4-fair-value-measurements-derivative-instruments-at-fair-value-details" xlink:label="dsgx_statement-statement-note-4-fair-value-measurements-derivative-instruments-at-fair-value-details" xlink:type="locator"/>
    <link:label xlink:label="dsgx_statement-statement-note-4-fair-value-measurements-derivative-instruments-at-fair-value-details-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Note 4 - Fair Value Measurements - Derivative Instruments at Fair Value (Details)</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dsgx_statement-statement-note-4-fair-value-measurements-derivative-instruments-at-fair-value-details" xlink:to="dsgx_statement-statement-note-4-fair-value-measurements-derivative-instruments-at-fair-value-details-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsAggregateIntrinsicValueOutstanding" xlink:label="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsAggregateIntrinsicValueOutstanding" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsAggregateIntrinsicValueOutstanding-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Aggregate Intrinsic Value, PSU</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsAggregateIntrinsicValueOutstanding" xlink:to="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsAggregateIntrinsicValueOutstanding-label" xlink:type="arc"/>
    <link:loc xlink:href="dsgx-20200131.xsd#dsgx_statement-statement-note-5-trade-receivables-trade-receivables-details" xlink:label="dsgx_statement-statement-note-5-trade-receivables-trade-receivables-details" xlink:type="locator"/>
    <link:label xlink:label="dsgx_statement-statement-note-5-trade-receivables-trade-receivables-details-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Note 5 - Trade Receivables - Trade Receivables (Details)</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dsgx_statement-statement-note-5-trade-receivables-trade-receivables-details" xlink:to="dsgx_statement-statement-note-5-trade-receivables-trade-receivables-details-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_BusinessCombinationConsiderationTransferredLiabilitiesIncurred" xlink:label="us-gaap_BusinessCombinationConsiderationTransferredLiabilitiesIncurred" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_BusinessCombinationConsiderationTransferredLiabilitiesIncurred-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Contingent consideration</link:label>
    <link:label xlink:label="us-gaap_BusinessCombinationConsiderationTransferredLiabilitiesIncurred-label" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Business Combination, Consideration Transferred, Liabilities Incurred</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_BusinessCombinationConsiderationTransferredLiabilitiesIncurred" xlink:to="us-gaap_BusinessCombinationConsiderationTransferredLiabilitiesIncurred-label" xlink:type="arc"/>
    <link:loc xlink:href="dsgx-20200131.xsd#dsgx_statement-statement-note-6-other-receivables-other-receivables-details" xlink:label="dsgx_statement-statement-note-6-other-receivables-other-receivables-details" xlink:type="locator"/>
    <link:label xlink:label="dsgx_statement-statement-note-6-other-receivables-other-receivables-details-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Note 6 - Other Receivables - Other Receivables (Details)</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dsgx_statement-statement-note-6-other-receivables-other-receivables-details" xlink:to="dsgx_statement-statement-note-6-other-receivables-other-receivables-details-label" xlink:type="arc"/>
    <link:loc xlink:href="dsgx-20200131.xsd#dsgx_statement-statement-note-8-property-and-equipment-property-and-equipment-details" xlink:label="dsgx_statement-statement-note-8-property-and-equipment-property-and-equipment-details" xlink:type="locator"/>
    <link:label xlink:label="dsgx_statement-statement-note-8-property-and-equipment-property-and-equipment-details-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Note 8 - Property and Equipment - Property and Equipment (Details)</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dsgx_statement-statement-note-8-property-and-equipment-property-and-equipment-details" xlink:to="dsgx_statement-statement-note-8-property-and-equipment-property-and-equipment-details-label" xlink:type="arc"/>
    <link:loc xlink:href="dsgx-20200131.xsd#dsgx_statement-statement-note-9-intangible-assets-intangible-assets-details" xlink:label="dsgx_statement-statement-note-9-intangible-assets-intangible-assets-details" xlink:type="locator"/>
    <link:label xlink:label="dsgx_statement-statement-note-9-intangible-assets-intangible-assets-details-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Note 9 - Intangible Assets - Intangible Assets (Details)</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dsgx_statement-statement-note-9-intangible-assets-intangible-assets-details" xlink:to="dsgx_statement-statement-note-9-intangible-assets-intangible-assets-details-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock" xlink:label="us-gaap_ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Share-based Payment Arrangement, Option, Activity [Table Text Block]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock" xlink:to="us-gaap_ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock-label" xlink:type="arc"/>
    <link:loc xlink:href="dsgx-20200131.xsd#dsgx_statement-statement-note-10-goodwill-goodwill-details" xlink:label="dsgx_statement-statement-note-10-goodwill-goodwill-details" xlink:type="locator"/>
    <link:label xlink:label="dsgx_statement-statement-note-10-goodwill-goodwill-details-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Note 10 - Goodwill - Goodwill (Details)</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dsgx_statement-statement-note-10-goodwill-goodwill-details" xlink:to="dsgx_statement-statement-note-10-goodwill-goodwill-details-label" xlink:type="arc"/>
    <link:loc xlink:href="dsgx-20200131.xsd#dsgx_statement-statement-note-11-accrued-liabilities-accrued-liabilities-details" xlink:label="dsgx_statement-statement-note-11-accrued-liabilities-accrued-liabilities-details" xlink:type="locator"/>
    <link:label xlink:label="dsgx_statement-statement-note-11-accrued-liabilities-accrued-liabilities-details-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Note 11 - Accrued Liabilities - Accrued Liabilities (Details)</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dsgx_statement-statement-note-11-accrued-liabilities-accrued-liabilities-details" xlink:to="dsgx_statement-statement-note-11-accrued-liabilities-accrued-liabilities-details-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ShareBasedCompensationPerformanceSharesAwardOutstandingActivityTableTextBlock" xlink:label="us-gaap_ShareBasedCompensationPerformanceSharesAwardOutstandingActivityTableTextBlock" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_ShareBasedCompensationPerformanceSharesAwardOutstandingActivityTableTextBlock-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Share-based Payment Arrangement, Performance Shares, Outstanding Activity [Table Text Block]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationPerformanceSharesAwardOutstandingActivityTableTextBlock" xlink:to="us-gaap_ShareBasedCompensationPerformanceSharesAwardOutstandingActivityTableTextBlock-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">PSUs Granted, Weighted-Average Granted Date Fair Value (in dollars per share)</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue-label" xlink:type="arc"/>
    <link:loc xlink:href="dsgx-20200131.xsd#dsgx_statement-statement-note-12-debt-schedule-of-longterm-debt-details" xlink:label="dsgx_statement-statement-note-12-debt-schedule-of-longterm-debt-details" xlink:type="locator"/>
    <link:label xlink:label="dsgx_statement-statement-note-12-debt-schedule-of-longterm-debt-details-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Note 12 - Debt - Schedule of Long-term Debt (Details)</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dsgx_statement-statement-note-12-debt-schedule-of-longterm-debt-details" xlink:to="dsgx_statement-statement-note-12-debt-schedule-of-longterm-debt-details-label" xlink:type="arc"/>
    <link:loc xlink:href="dsgx-20200131.xsd#dsgx_statement-statement-note-13-leases-components-of-operating-lease-expense-details" xlink:label="dsgx_statement-statement-note-13-leases-components-of-operating-lease-expense-details" xlink:type="locator"/>
    <link:label xlink:label="dsgx_statement-statement-note-13-leases-components-of-operating-lease-expense-details-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Note 13 - Leases - Components of Operating Lease Expense (Details)</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dsgx_statement-statement-note-13-leases-components-of-operating-lease-expense-details" xlink:to="dsgx_statement-statement-note-13-leases-components-of-operating-lease-expense-details-label" xlink:type="arc"/>
    <link:loc xlink:href="dsgx-20200131.xsd#dsgx_statement-statement-note-13-leases-maturities-of-operating-lease-liabilities-details" xlink:label="dsgx_statement-statement-note-13-leases-maturities-of-operating-lease-liabilities-details" xlink:type="locator"/>
    <link:label xlink:label="dsgx_statement-statement-note-13-leases-maturities-of-operating-lease-liabilities-details-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Note 13 - Leases - Maturities of Operating Lease Liabilities (Details)</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dsgx_statement-statement-note-13-leases-maturities-of-operating-lease-liabilities-details" xlink:to="dsgx_statement-statement-note-13-leases-maturities-of-operating-lease-liabilities-details-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ScheduleOfSharebasedCompensationRestrictedStockAndRestrictedStockUnitsActivityTableTextBlock" xlink:label="us-gaap_ScheduleOfSharebasedCompensationRestrictedStockAndRestrictedStockUnitsActivityTableTextBlock" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_ScheduleOfSharebasedCompensationRestrictedStockAndRestrictedStockUnitsActivityTableTextBlock-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Share-based Payment Arrangement, Restricted Stock and Restricted Stock Unit, Activity [Table Text Block]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ScheduleOfSharebasedCompensationRestrictedStockAndRestrictedStockUnitsActivityTableTextBlock" xlink:to="us-gaap_ScheduleOfSharebasedCompensationRestrictedStockAndRestrictedStockUnitsActivityTableTextBlock-label" xlink:type="arc"/>
    <link:loc xlink:href="dsgx-20200131.xsd#dsgx_statement-statement-note-13-leases-lease-obligations-details" xlink:label="dsgx_statement-statement-note-13-leases-lease-obligations-details" xlink:type="locator"/>
    <link:label xlink:label="dsgx_statement-statement-note-13-leases-lease-obligations-details-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Note 13 - Leases - Lease Obligations (Details)</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dsgx_statement-statement-note-13-leases-lease-obligations-details" xlink:to="dsgx_statement-statement-note-13-leases-lease-obligations-details-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue</link:label>
    <link:label xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue-label" xlink:role="http://www.xbrl.org/2003/role/periodStartLabel" xlink:type="resource" xml:lang="en-US">Weighted-Average Grant Date Fair Value, PSU (in dollars per share)</link:label>
    <link:label xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue-label" xlink:role="http://www.xbrl.org/2003/role/periodEndLabel" xlink:type="resource" xml:lang="en-US">Weighted-Average Grant Date Fair Value, PSU (in dollars per share)</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_BusinessAcquisitionProFormaEarningsPerShareBasic" xlink:label="us-gaap_BusinessAcquisitionProFormaEarningsPerShareBasic" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_BusinessAcquisitionProFormaEarningsPerShareBasic-label" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:type="resource" xml:lang="en-US">Basic (in dollars per share)</link:label>
    <link:label xlink:label="us-gaap_BusinessAcquisitionProFormaEarningsPerShareBasic-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_BusinessAcquisitionProFormaEarningsPerShareBasic</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_BusinessAcquisitionProFormaEarningsPerShareBasic" xlink:to="us-gaap_BusinessAcquisitionProFormaEarningsPerShareBasic-label" xlink:type="arc"/>
    <link:loc xlink:href="dsgx-20200131.xsd#dsgx_statement-statement-note-15-share-capital-common-shares-outstanding-details" xlink:label="dsgx_statement-statement-note-15-share-capital-common-shares-outstanding-details" xlink:type="locator"/>
    <link:label xlink:label="dsgx_statement-statement-note-15-share-capital-common-shares-outstanding-details-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Note 15 - Share Capital - Common Shares Outstanding (Details)</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dsgx_statement-statement-note-15-share-capital-common-shares-outstanding-details" xlink:to="dsgx_statement-statement-note-15-share-capital-common-shares-outstanding-details-label" xlink:type="arc"/>
    <link:loc xlink:href="dsgx-20200131.xsd#dsgx_statement-statement-note-16-earnings-per-share-computation-of-basic-and-diluted-earnings-per-share-details" xlink:label="dsgx_statement-statement-note-16-earnings-per-share-computation-of-basic-and-diluted-earnings-per-share-details" xlink:type="locator"/>
    <link:label xlink:label="dsgx_statement-statement-note-16-earnings-per-share-computation-of-basic-and-diluted-earnings-per-share-details-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Note 16 - Earnings Per Share - Computation of Basic and Diluted Earnings Per Share (Details)</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dsgx_statement-statement-note-16-earnings-per-share-computation-of-basic-and-diluted-earnings-per-share-details" xlink:to="dsgx_statement-statement-note-16-earnings-per-share-computation-of-basic-and-diluted-earnings-per-share-details-label" xlink:type="arc"/>
    <link:loc xlink:href="dsgx-20200131.xsd#dsgx_statement-statement-note-17-stockbased-compensation-plans-total-estimated-stockbased-compensation-expense-details" xlink:label="dsgx_statement-statement-note-17-stockbased-compensation-plans-total-estimated-stockbased-compensation-expense-details" xlink:type="locator"/>
    <link:label xlink:label="dsgx_statement-statement-note-17-stockbased-compensation-plans-total-estimated-stockbased-compensation-expense-details-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Note 17 - Stock-based Compensation Plans - Total Estimated Stock-based Compensation Expense (Details)</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dsgx_statement-statement-note-17-stockbased-compensation-plans-total-estimated-stockbased-compensation-expense-details" xlink:to="dsgx_statement-statement-note-17-stockbased-compensation-plans-total-estimated-stockbased-compensation-expense-details-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax" xlink:label="us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Foreign currency translation adjustment, net of income tax expense (recovery) of ($132) for the year ended January 31, 2020 (January 31, 2019 &#8211; ($44); January 31, 2018 &#8211; $255)</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax" xlink:to="us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax-label" xlink:type="arc"/>
    <link:loc xlink:href="dsgx-20200131.xsd#dsgx_statement-statement-note-17-stockbased-compensation-plans-assumptions-used-in-blackscholes-model-for-each-grant-details" xlink:label="dsgx_statement-statement-note-17-stockbased-compensation-plans-assumptions-used-in-blackscholes-model-for-each-grant-details" xlink:type="locator"/>
    <link:label xlink:label="dsgx_statement-statement-note-17-stockbased-compensation-plans-assumptions-used-in-blackscholes-model-for-each-grant-details-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Note 17 - Stock-based Compensation Plans - Assumptions Used in Black-scholes Model for Each Grant (Details)</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dsgx_statement-statement-note-17-stockbased-compensation-plans-assumptions-used-in-blackscholes-model-for-each-grant-details" xlink:to="dsgx_statement-statement-note-17-stockbased-compensation-plans-assumptions-used-in-blackscholes-model-for-each-grant-details-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ScheduleOfNonvestedShareActivityTableTextBlock" xlink:label="us-gaap_ScheduleOfNonvestedShareActivityTableTextBlock" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_ScheduleOfNonvestedShareActivityTableTextBlock-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Schedule of Nonvested Share Activity [Table Text Block]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ScheduleOfNonvestedShareActivityTableTextBlock" xlink:to="us-gaap_ScheduleOfNonvestedShareActivityTableTextBlock-label" xlink:type="arc"/>
    <link:loc xlink:href="dsgx-20200131.xsd#dsgx_statement-statement-note-17-stockbased-compensation-plans-summary-of-option-activity-details" xlink:label="dsgx_statement-statement-note-17-stockbased-compensation-plans-summary-of-option-activity-details" xlink:type="locator"/>
    <link:label xlink:label="dsgx_statement-statement-note-17-stockbased-compensation-plans-summary-of-option-activity-details-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Note 17 -Stock-based Compensation Plans - Summary of Option Activity (Details)</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dsgx_statement-statement-note-17-stockbased-compensation-plans-summary-of-option-activity-details" xlink:to="dsgx_statement-statement-note-17-stockbased-compensation-plans-summary-of-option-activity-details-label" xlink:type="arc"/>
    <link:loc xlink:href="dsgx-20200131.xsd#dsgx_statement-statement-note-17-stockbased-compensation-plans-options-outstanding-and-options-exercisable-details" xlink:label="dsgx_statement-statement-note-17-stockbased-compensation-plans-options-outstanding-and-options-exercisable-details" xlink:type="locator"/>
    <link:label xlink:label="dsgx_statement-statement-note-17-stockbased-compensation-plans-options-outstanding-and-options-exercisable-details-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Note 17 - Stock-based Compensation Plans - Options Outstanding and Options Exercisable (Details)</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dsgx_statement-statement-note-17-stockbased-compensation-plans-options-outstanding-and-options-exercisable-details" xlink:to="dsgx_statement-statement-note-17-stockbased-compensation-plans-options-outstanding-and-options-exercisable-details-label" xlink:type="arc"/>
    <link:loc xlink:href="dsgx-20200131.xsd#dsgx_statement-statement-note-17-stockbased-compensation-plans-summary-of-nonvested-share-details" xlink:label="dsgx_statement-statement-note-17-stockbased-compensation-plans-summary-of-nonvested-share-details" xlink:type="locator"/>
    <link:label xlink:label="dsgx_statement-statement-note-17-stockbased-compensation-plans-summary-of-nonvested-share-details-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Note 17 - Stock-based Compensation Plans - Summary of Nonvested Share (Details)</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dsgx_statement-statement-note-17-stockbased-compensation-plans-summary-of-nonvested-share-details" xlink:to="dsgx_statement-statement-note-17-stockbased-compensation-plans-summary-of-nonvested-share-details-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Number of PSUs Granted (in shares)</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod-label" xlink:type="arc"/>
    <link:loc xlink:href="dsgx-20200131.xsd#dsgx_statement-statement-note-17-stockbased-compensation-plans-summary-of-performance-share-units-activity-details" xlink:label="dsgx_statement-statement-note-17-stockbased-compensation-plans-summary-of-performance-share-units-activity-details" xlink:type="locator"/>
    <link:label xlink:label="dsgx_statement-statement-note-17-stockbased-compensation-plans-summary-of-performance-share-units-activity-details-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Note 17 - Stock-based Compensation Plans Summary of Performance Share Units Activity (Details)</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dsgx_statement-statement-note-17-stockbased-compensation-plans-summary-of-performance-share-units-activity-details" xlink:to="dsgx_statement-statement-note-17-stockbased-compensation-plans-summary-of-performance-share-units-activity-details-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_BusinessAcquisitionProFormaEarningsPerShareDiluted" xlink:label="us-gaap_BusinessAcquisitionProFormaEarningsPerShareDiluted" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_BusinessAcquisitionProFormaEarningsPerShareDiluted-label" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:type="resource" xml:lang="en-US">Diluted (in dollars per share)</link:label>
    <link:label xlink:label="us-gaap_BusinessAcquisitionProFormaEarningsPerShareDiluted-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_BusinessAcquisitionProFormaEarningsPerShareDiluted</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_BusinessAcquisitionProFormaEarningsPerShareDiluted" xlink:to="us-gaap_BusinessAcquisitionProFormaEarningsPerShareDiluted-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageRemainingContractualTerm1" xlink:label="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageRemainingContractualTerm1" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageRemainingContractualTerm1-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Vested or expected to vest, weighted-average remaining contractual life (Year)</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageRemainingContractualTerm1" xlink:to="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageRemainingContractualTerm1-label" xlink:type="arc"/>
    <link:loc xlink:href="dsgx-20200131.xsd#dsgx_statement-statement-note-17-stockbased-compensation-plans-summary-of-restricted-share-units-activity-details" xlink:label="dsgx_statement-statement-note-17-stockbased-compensation-plans-summary-of-restricted-share-units-activity-details" xlink:type="locator"/>
    <link:label xlink:label="dsgx_statement-statement-note-17-stockbased-compensation-plans-summary-of-restricted-share-units-activity-details-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Note 17 - Stock-based Compensation Plans - Summary of Restricted Share Units Activity (Details)</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dsgx_statement-statement-note-17-stockbased-compensation-plans-summary-of-restricted-share-units-activity-details" xlink:to="dsgx_statement-statement-note-17-stockbased-compensation-plans-summary-of-restricted-share-units-activity-details-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestExercisableNumber" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestExercisableNumber" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestExercisableNumber-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Vested or expected to vest, RSU (in shares)</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestExercisableNumber" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestExercisableNumber-label" xlink:type="arc"/>
    <link:loc xlink:href="dsgx-20200131.xsd#dsgx_statement-statement-note-17-stockbased-compensation-plans-summary-of-crsu-plan-activity-details" xlink:label="dsgx_statement-statement-note-17-stockbased-compensation-plans-summary-of-crsu-plan-activity-details" xlink:type="locator"/>
    <link:label xlink:label="dsgx_statement-statement-note-17-stockbased-compensation-plans-summary-of-crsu-plan-activity-details-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Note 17 - Stock-based Compensation Plans - Summary of CRSU Plan Activity (Details)</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dsgx_statement-statement-note-17-stockbased-compensation-plans-summary-of-crsu-plan-activity-details" xlink:to="dsgx_statement-statement-note-17-stockbased-compensation-plans-summary-of-crsu-plan-activity-details-label" xlink:type="arc"/>
    <link:loc xlink:href="dsgx-20200131.xsd#dsgx_statement-statement-note-18-income-taxes-income-loss-before-income-taxes-earned-by-tax-jurisdictions-details" xlink:label="dsgx_statement-statement-note-18-income-taxes-income-loss-before-income-taxes-earned-by-tax-jurisdictions-details" xlink:type="locator"/>
    <link:label xlink:label="dsgx_statement-statement-note-18-income-taxes-income-loss-before-income-taxes-earned-by-tax-jurisdictions-details-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Note 18 - Income Taxes - Income (Loss) Before Income Taxes Earned by Tax Jurisdictions (Details)</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dsgx_statement-statement-note-18-income-taxes-income-loss-before-income-taxes-earned-by-tax-jurisdictions-details" xlink:to="dsgx_statement-statement-note-18-income-taxes-income-loss-before-income-taxes-earned-by-tax-jurisdictions-details-label" xlink:type="arc"/>
    <link:loc xlink:href="dsgx-20200131.xsd#dsgx_statement-statement-note-18-income-taxes-income-tax-expense-recovery-incurred-by-jurisdictions-details" xlink:label="dsgx_statement-statement-note-18-income-taxes-income-tax-expense-recovery-incurred-by-jurisdictions-details" xlink:type="locator"/>
    <link:label xlink:label="dsgx_statement-statement-note-18-income-taxes-income-tax-expense-recovery-incurred-by-jurisdictions-details-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Note 18 - Income Taxes - Income Tax Expense (Recovery) Incurred by Jurisdictions (Details)</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dsgx_statement-statement-note-18-income-taxes-income-tax-expense-recovery-incurred-by-jurisdictions-details" xlink:to="dsgx_statement-statement-note-18-income-taxes-income-tax-expense-recovery-incurred-by-jurisdictions-details-label" xlink:type="arc"/>
    <link:loc xlink:href="dsgx-20200131.xsd#dsgx_statement-statement-note-18-income-taxes-components-of-deferred-income-tax-assets-and-liabilities-details" xlink:label="dsgx_statement-statement-note-18-income-taxes-components-of-deferred-income-tax-assets-and-liabilities-details" xlink:type="locator"/>
    <link:label xlink:label="dsgx_statement-statement-note-18-income-taxes-components-of-deferred-income-tax-assets-and-liabilities-details-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Note 18 - Income Taxes - Components of Deferred Income Tax Assets and Liabilities (Details)</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dsgx_statement-statement-note-18-income-taxes-components-of-deferred-income-tax-assets-and-liabilities-details" xlink:to="dsgx_statement-statement-note-18-income-taxes-components-of-deferred-income-tax-assets-and-liabilities-details-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingNumber" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingNumber" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingNumber-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Vested or expected to vest, shares (in shares)</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingNumber" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingNumber-label" xlink:type="arc"/>
    <link:loc xlink:href="dsgx-20200131.xsd#dsgx_statement-statement-note-18-income-taxes-provision-recovery-for-income-taxes-from-the-expected-provision-at-the-statutory-rates-details" xlink:label="dsgx_statement-statement-note-18-income-taxes-provision-recovery-for-income-taxes-from-the-expected-provision-at-the-statutory-rates-details" xlink:type="locator"/>
    <link:label xlink:label="dsgx_statement-statement-note-18-income-taxes-provision-recovery-for-income-taxes-from-the-expected-provision-at-the-statutory-rates-details-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Note 18 - Income Taxes - Provision (Recovery) for Income Taxes from the Expected Provision at the Statutory Rates (Details)</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dsgx_statement-statement-note-18-income-taxes-provision-recovery-for-income-taxes-from-the-expected-provision-at-the-statutory-rates-details" xlink:to="dsgx_statement-statement-note-18-income-taxes-provision-recovery-for-income-taxes-from-the-expected-provision-at-the-statutory-rates-details-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageExercisePrice" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageExercisePrice" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageExercisePrice-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Vested or expected to vest, weighted-average exercise price (in dollars per share)</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageExercisePrice" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageExercisePrice-label" xlink:type="arc"/>
    <link:loc xlink:href="dsgx-20200131.xsd#dsgx_statement-statement-note-18-income-taxes-income-tax-loss-carryforwards-expiration-dates-details" xlink:label="dsgx_statement-statement-note-18-income-taxes-income-tax-loss-carryforwards-expiration-dates-details" xlink:type="locator"/>
    <link:label xlink:label="dsgx_statement-statement-note-18-income-taxes-income-tax-loss-carryforwards-expiration-dates-details-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Note 18 - Income Taxes - Income Tax Loss Carryforwards Expiration Dates (Details)</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dsgx_statement-statement-note-18-income-taxes-income-tax-loss-carryforwards-expiration-dates-details" xlink:to="dsgx_statement-statement-note-18-income-taxes-income-tax-loss-carryforwards-expiration-dates-details-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_OtherComprehensiveIncomeLossNetOfTax" xlink:label="us-gaap_OtherComprehensiveIncomeLossNetOfTax" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_OtherComprehensiveIncomeLossNetOfTax-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_OtherComprehensiveIncomeLossNetOfTax</link:label>
    <link:label xlink:label="us-gaap_OtherComprehensiveIncomeLossNetOfTax-label" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:type="resource" xml:lang="en-US">Total other comprehensive income (loss)</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OtherComprehensiveIncomeLossNetOfTax" xlink:to="us-gaap_OtherComprehensiveIncomeLossNetOfTax-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingAggregateIntrinsicValue" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingAggregateIntrinsicValue" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingAggregateIntrinsicValue-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Vested or expected to vest, aggregate intrinsic value</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingAggregateIntrinsicValue" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingAggregateIntrinsicValue-label" xlink:type="arc"/>
    <link:loc xlink:href="dsgx-20200131.xsd#dsgx_statement-statement-note-18-income-taxes-reconciliation-of-the-total-estimated-liability-associated-with-uncertain-tax-provisions-details" xlink:label="dsgx_statement-statement-note-18-income-taxes-reconciliation-of-the-total-estimated-liability-associated-with-uncertain-tax-provisions-details" xlink:type="locator"/>
    <link:label xlink:label="dsgx_statement-statement-note-18-income-taxes-reconciliation-of-the-total-estimated-liability-associated-with-uncertain-tax-provisions-details-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Note 18 - Income Taxes - Reconciliation of the Total Estimated Liability Associated With Uncertain Tax Provisions (Details)</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dsgx_statement-statement-note-18-income-taxes-reconciliation-of-the-total-estimated-liability-associated-with-uncertain-tax-provisions-details" xlink:to="dsgx_statement-statement-note-18-income-taxes-reconciliation-of-the-total-estimated-liability-associated-with-uncertain-tax-provisions-details-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Exercisable, weighted-average exercise price (in dollars per share)</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice-label" xlink:type="arc"/>
    <link:loc xlink:href="dsgx-20200131.xsd#dsgx_statement-statement-note-19-contract-balances-performance-obligations-and-contract-costs-changes-in-deferred-revenue-and-contract-assets-details" xlink:label="dsgx_statement-statement-note-19-contract-balances-performance-obligations-and-contract-costs-changes-in-deferred-revenue-and-contract-assets-details" xlink:type="locator"/>
    <link:label xlink:label="dsgx_statement-statement-note-19-contract-balances-performance-obligations-and-contract-costs-changes-in-deferred-revenue-and-contract-assets-details-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Note 19 - Contract Balances, Performance Obligations and Contract Costs - Changes in Deferred Revenue and Contract Assets (Details)</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dsgx_statement-statement-note-19-contract-balances-performance-obligations-and-contract-costs-changes-in-deferred-revenue-and-contract-assets-details" xlink:to="dsgx_statement-statement-note-19-contract-balances-performance-obligations-and-contract-costs-changes-in-deferred-revenue-and-contract-assets-details-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageRemainingContractualTerm1" xlink:label="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageRemainingContractualTerm1" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageRemainingContractualTerm1-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Exercisable, weighted-average remaining contractual life (Year)</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageRemainingContractualTerm1" xlink:to="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageRemainingContractualTerm1-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_BusinessAcquisitionsProFormaNetIncomeLoss" xlink:label="us-gaap_BusinessAcquisitionsProFormaNetIncomeLoss" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_BusinessAcquisitionsProFormaNetIncomeLoss-label" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:type="resource" xml:lang="en-US">Net income</link:label>
    <link:label xlink:label="us-gaap_BusinessAcquisitionsProFormaNetIncomeLoss-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_BusinessAcquisitionsProFormaNetIncomeLoss</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_BusinessAcquisitionsProFormaNetIncomeLoss" xlink:to="us-gaap_BusinessAcquisitionsProFormaNetIncomeLoss-label" xlink:type="arc"/>
    <link:loc xlink:href="dsgx-20200131.xsd#dsgx_statement-statement-note-20-other-charges-other-charges-included-in-consolidated-statements-of-operations-details" xlink:label="dsgx_statement-statement-note-20-other-charges-other-charges-included-in-consolidated-statements-of-operations-details" xlink:type="locator"/>
    <link:label xlink:label="dsgx_statement-statement-note-20-other-charges-other-charges-included-in-consolidated-statements-of-operations-details-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Note 20 - Other Charges - Other Charges Included in Consolidated Statements of Operations (Details)</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dsgx_statement-statement-note-20-other-charges-other-charges-included-in-consolidated-statements-of-operations-details" xlink:to="dsgx_statement-statement-note-20-other-charges-other-charges-included-in-consolidated-statements-of-operations-details-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_BusinessCombinationProFormaInformationRevenueOfAcquireeSinceAcquisitionDateActual" xlink:label="us-gaap_BusinessCombinationProFormaInformationRevenueOfAcquireeSinceAcquisitionDateActual" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_BusinessCombinationProFormaInformationRevenueOfAcquireeSinceAcquisitionDateActual-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_BusinessCombinationProFormaInformationRevenueOfAcquireeSinceAcquisitionDateActual</link:label>
    <link:label xlink:label="us-gaap_BusinessCombinationProFormaInformationRevenueOfAcquireeSinceAcquisitionDateActual-label" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Business Combination, Pro Forma Information, Revenue of Acquiree since Acquisition Date, Actual</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_BusinessCombinationProFormaInformationRevenueOfAcquireeSinceAcquisitionDateActual" xlink:to="us-gaap_BusinessCombinationProFormaInformationRevenueOfAcquireeSinceAcquisitionDateActual-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableIntrinsicValue1" xlink:label="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableIntrinsicValue1" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableIntrinsicValue1-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Exercisable, aggregate intrinsic value</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableIntrinsicValue1" xlink:to="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableIntrinsicValue1-label" xlink:type="arc"/>
    <link:loc xlink:href="dsgx-20200131.xsd#dsgx_statement-statement-note-21-supplemental-cash-flow-information-cash-flow-changes-in-operating-asset-and-liabilities-details" xlink:label="dsgx_statement-statement-note-21-supplemental-cash-flow-information-cash-flow-changes-in-operating-asset-and-liabilities-details" xlink:type="locator"/>
    <link:label xlink:label="dsgx_statement-statement-note-21-supplemental-cash-flow-information-cash-flow-changes-in-operating-asset-and-liabilities-details-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Note 21 - Supplemental Cash Flow Information - Cash Flow Changes in Operating Asset and Liabilities (Details)</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dsgx_statement-statement-note-21-supplemental-cash-flow-information-cash-flow-changes-in-operating-asset-and-liabilities-details" xlink:to="dsgx_statement-statement-note-21-supplemental-cash-flow-information-cash-flow-changes-in-operating-asset-and-liabilities-details-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_BusinessCombinationProFormaInformationEarningsOrLossOfAcquireeSinceAcquisitionDateActual" xlink:label="us-gaap_BusinessCombinationProFormaInformationEarningsOrLossOfAcquireeSinceAcquisitionDateActual" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_BusinessCombinationProFormaInformationEarningsOrLossOfAcquireeSinceAcquisitionDateActual-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_BusinessCombinationProFormaInformationEarningsOrLossOfAcquireeSinceAcquisitionDateActual</link:label>
    <link:label xlink:label="us-gaap_BusinessCombinationProFormaInformationEarningsOrLossOfAcquireeSinceAcquisitionDateActual-label" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Business Combination, Pro Forma Information, Earnings or Loss of Acquiree since Acquisition Date, Actual</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_BusinessCombinationProFormaInformationEarningsOrLossOfAcquireeSinceAcquisitionDateActual" xlink:to="us-gaap_BusinessCombinationProFormaInformationEarningsOrLossOfAcquireeSinceAcquisitionDateActual-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedInPeriodFairValue1" xlink:label="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedInPeriodFairValue1" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedInPeriodFairValue1-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedInPeriodFairValue1</link:label>
    <link:label xlink:label="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedInPeriodFairValue1-label" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Share-based Compensation Arrangement by Share-based Payment Award, Options, Vested in Period, Fair Value</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedInPeriodFairValue1" xlink:to="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedInPeriodFairValue1-label" xlink:type="arc"/>
    <link:loc xlink:href="dsgx-20200131.xsd#dsgx_statement-statement-note-22-segmented-information-segmented-revenue-by-geographical-location-of-customer-details" xlink:label="dsgx_statement-statement-note-22-segmented-information-segmented-revenue-by-geographical-location-of-customer-details" xlink:type="locator"/>
    <link:label xlink:label="dsgx_statement-statement-note-22-segmented-information-segmented-revenue-by-geographical-location-of-customer-details-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Note 22 - Segmented Information - Segmented Revenue by Geographical Location of Customer (Details)</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dsgx_statement-statement-note-22-segmented-information-segmented-revenue-by-geographical-location-of-customer-details" xlink:to="dsgx_statement-statement-note-22-segmented-information-segmented-revenue-by-geographical-location-of-customer-details-label" xlink:type="arc"/>
    <link:loc xlink:href="dsgx-20200131.xsd#dsgx_statement-statement-note-22-segmented-information-segmented-revenue-by-revenue-type-details" xlink:label="dsgx_statement-statement-note-22-segmented-information-segmented-revenue-by-revenue-type-details" xlink:type="locator"/>
    <link:label xlink:label="dsgx_statement-statement-note-22-segmented-information-segmented-revenue-by-revenue-type-details-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Note 22 - Segmented Information - Segmented Revenue by Revenue Type (Details)</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dsgx_statement-statement-note-22-segmented-information-segmented-revenue-by-revenue-type-details" xlink:to="dsgx_statement-statement-note-22-segmented-information-segmented-revenue-by-revenue-type-details-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue</link:label>
    <link:label xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue-label" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Share-based Compensation Arrangement by Share-based Payment Award, Options, Exercises in Period, Intrinsic Value</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue-label" xlink:type="arc"/>
    <link:loc xlink:href="dsgx-20200131.xsd#dsgx_statement-statement-note-22-segmented-information-longlived-assets-by-geographical-location-details" xlink:label="dsgx_statement-statement-note-22-segmented-information-longlived-assets-by-geographical-location-details" xlink:type="locator"/>
    <link:label xlink:label="dsgx_statement-statement-note-22-segmented-information-longlived-assets-by-geographical-location-details-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Note 22 - Segmented Information - Long-lived Assets by Geographical Location (Details)</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dsgx_statement-statement-note-22-segmented-information-longlived-assets-by-geographical-location-details" xlink:to="dsgx_statement-statement-note-22-segmented-information-longlived-assets-by-geographical-location-details-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_BusinessAcquisitionProFormaInformationTextBlock" xlink:label="us-gaap_BusinessAcquisitionProFormaInformationTextBlock" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_BusinessAcquisitionProFormaInformationTextBlock-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Business Acquisition, Pro Forma Information [Table Text Block]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_BusinessAcquisitionProFormaInformationTextBlock" xlink:to="us-gaap_BusinessAcquisitionProFormaInformationTextBlock-label" xlink:type="arc"/>
    <link:loc xlink:href="dsgx-20200131.xsd#dsgx_NotesToFinancialStatements" xlink:label="dsgx_NotesToFinancialStatements" xlink:type="locator"/>
    <link:label xlink:label="dsgx_NotesToFinancialStatements-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Notes To Financial Statements</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dsgx_NotesToFinancialStatements" xlink:to="dsgx_NotesToFinancialStatements-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Exercisable, shares (in shares)</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_BusinessAcquisitionsProFormaRevenue" xlink:label="us-gaap_BusinessAcquisitionsProFormaRevenue" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_BusinessAcquisitionsProFormaRevenue-label" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:type="resource" xml:lang="en-US">Revenues</link:label>
    <link:label xlink:label="us-gaap_BusinessAcquisitionsProFormaRevenue-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_BusinessAcquisitionsProFormaRevenue</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_BusinessAcquisitionsProFormaRevenue" xlink:to="us-gaap_BusinessAcquisitionsProFormaRevenue-label" xlink:type="arc"/>
    <link:loc xlink:href="dsgx-20200131.xsd#dsgx_NotesToFinancialStatementsAbstract" xlink:label="dsgx_NotesToFinancialStatementsAbstract" xlink:type="locator"/>
    <link:label xlink:label="dsgx_NotesToFinancialStatementsAbstract-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Notes To Financial Statements [Abstract]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dsgx_NotesToFinancialStatementsAbstract" xlink:to="dsgx_NotesToFinancialStatementsAbstract-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2" xlink:label="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Weighted-Average Remaining Contractual Life (Year)</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2" xlink:to="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Aggregate Intrinsic Value</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Granted, Weighted- Average Grant-Date Fair Value per Share (in dollars per share)</link:label>
    <link:label xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue-label" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Share-based Compensation Arrangement by Share-based Payment Award, Options, Grants in Period, Weighted Average Grant Date Fair Value</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedWeightedAverageGrantDateFairValue" xlink:label="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedWeightedAverageGrantDateFairValue" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedWeightedAverageGrantDateFairValue-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Vested, Weighted- Average Grant-Date Fair Value per Share (in dollars per share)</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedWeightedAverageGrantDateFairValue" xlink:to="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedWeightedAverageGrantDateFairValue-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedOptionsForfeitedWeightedAverageGrantDateFairValue" xlink:label="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedOptionsForfeitedWeightedAverageGrantDateFairValue" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedOptionsForfeitedWeightedAverageGrantDateFairValue-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Forfeited, Weighted- Average Grant-Date Fair Value per Share (in dollars per share)</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedOptionsForfeitedWeightedAverageGrantDateFairValue" xlink:to="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedOptionsForfeitedWeightedAverageGrantDateFairValue-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedWeightedAverageGrantDateFairValue" xlink:label="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedWeightedAverageGrantDateFairValue" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedWeightedAverageGrantDateFairValue-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedWeightedAverageGrantDateFairValue</link:label>
    <link:label xlink:label="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedWeightedAverageGrantDateFairValue-label" xlink:role="http://www.xbrl.org/2003/role/periodStartLabel" xlink:type="resource" xml:lang="en-US">Weighted- Average Grant-Date Fair Value per Share (in dollars per share)</link:label>
    <link:label xlink:label="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedWeightedAverageGrantDateFairValue-label" xlink:role="http://www.xbrl.org/2003/role/periodEndLabel" xlink:type="resource" xml:lang="en-US">Weighted- Average Grant-Date Fair Value per Share (in dollars per share)</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedWeightedAverageGrantDateFairValue" xlink:to="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedWeightedAverageGrantDateFairValue-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedNumberOfShares" xlink:label="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedNumberOfShares" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedNumberOfShares-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedNumberOfShares</link:label>
    <link:label xlink:label="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedNumberOfShares-label" xlink:role="http://www.xbrl.org/2009/role/negatedTerseLabel" xlink:type="resource" xml:lang="en-US">Vested (in shares)</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedNumberOfShares" xlink:to="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedNumberOfShares-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedOptionsForfeitedNumberOfShares" xlink:label="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedOptionsForfeitedNumberOfShares" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedOptionsForfeitedNumberOfShares-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedOptionsForfeitedNumberOfShares</link:label>
    <link:label xlink:label="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedOptionsForfeitedNumberOfShares-label" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:type="resource" xml:lang="en-US">Forfeited (in shares)</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedOptionsForfeitedNumberOfShares" xlink:to="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedOptionsForfeitedNumberOfShares-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedNumberOfShares" xlink:label="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedNumberOfShares" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedNumberOfShares-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedNumberOfShares</link:label>
    <link:label xlink:label="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedNumberOfShares-label" xlink:role="http://www.xbrl.org/2003/role/periodStartLabel" xlink:type="resource" xml:lang="en-US">Stock Options Outstanding (in shares)</link:label>
    <link:label xlink:label="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedNumberOfShares-label" xlink:role="http://www.xbrl.org/2003/role/periodEndLabel" xlink:type="resource" xml:lang="en-US">Stock Options Outstanding (in shares)</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedNumberOfShares" xlink:to="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedNumberOfShares-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice</link:label>
    <link:label xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice-label" xlink:role="http://www.xbrl.org/2003/role/periodStartLabel" xlink:type="resource" xml:lang="en-US">Weighted-Average Exercise Price (in dollars per share)</link:label>
    <link:label xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice-label" xlink:role="http://www.xbrl.org/2003/role/periodEndLabel" xlink:type="resource" xml:lang="en-US">Weighted-Average Exercise Price (in dollars per share)</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice-label" xlink:type="arc"/>
    <link:loc xlink:href="dsgx-20200131.xsd#dsgx_DeferredShareUnitsRedeemedAndSettledInCash" xlink:label="dsgx_DeferredShareUnitsRedeemedAndSettledInCash" xlink:type="locator"/>
    <link:label xlink:label="dsgx_DeferredShareUnitsRedeemedAndSettledInCash-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">dsgx_DeferredShareUnitsRedeemedAndSettledInCash</link:label>
    <link:label xlink:label="dsgx_DeferredShareUnitsRedeemedAndSettledInCash-label" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Deferred Share Units Redeemed and Settled in Cash</link:label>
    <link:label xlink:label="dsgx_DeferredShareUnitsRedeemedAndSettledInCash-label" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xml:lang="en-US">Represents the number of deferred share units redeemed and settled in cash.</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dsgx_DeferredShareUnitsRedeemedAndSettledInCash" xlink:to="dsgx_DeferredShareUnitsRedeemedAndSettledInCash-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsForfeituresInPeriodWeightedAverageExercisePrice" xlink:label="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsForfeituresInPeriodWeightedAverageExercisePrice" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsForfeituresInPeriodWeightedAverageExercisePrice-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Forfeited, weighted-average exercise price (in dollars per share)</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsForfeituresInPeriodWeightedAverageExercisePrice" xlink:to="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsForfeituresInPeriodWeightedAverageExercisePrice-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ContractWithCustomerLiabilityCurrent" xlink:label="us-gaap_ContractWithCustomerLiabilityCurrent" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_ContractWithCustomerLiabilityCurrent-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Deferred revenue (Note 19)</link:label>
    <link:label xlink:label="us-gaap_ContractWithCustomerLiabilityCurrent-label" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Current</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ContractWithCustomerLiabilityCurrent" xlink:to="us-gaap_ContractWithCustomerLiabilityCurrent-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsOutstandingNumber" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsOutstandingNumber" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsOutstandingNumber-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsOutstandingNumber</link:label>
    <link:label xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsOutstandingNumber-label" xlink:role="http://www.xbrl.org/2003/role/periodStartLabel" xlink:type="resource" xml:lang="en-US">Number of Units Outstanding (in shares)</link:label>
    <link:label xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsOutstandingNumber-label" xlink:role="http://www.xbrl.org/2003/role/periodEndLabel" xlink:type="resource" xml:lang="en-US">Number of Units Outstanding (in shares)</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsOutstandingNumber" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsOutstandingNumber-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice" xlink:label="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Granted, weighted-average exercise price (in dollars per share)</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice" xlink:to="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice" xlink:label="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Exercised, weighted-average exercise price (in dollars per share)</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice" xlink:to="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_AccruedLiabilitiesCurrent" xlink:label="us-gaap_AccruedLiabilitiesCurrent" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_AccruedLiabilitiesCurrent-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Accrued liabilities (Note 11)</link:label>
    <link:label xlink:label="us-gaap_AccruedLiabilitiesCurrent-label" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:type="resource" xml:lang="en-US"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AccruedLiabilitiesCurrent" xlink:to="us-gaap_AccruedLiabilitiesCurrent-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_EmployeeRelatedLiabilitiesCurrent" xlink:label="us-gaap_EmployeeRelatedLiabilitiesCurrent" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_EmployeeRelatedLiabilitiesCurrent-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Accrued compensation and benefits</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_EmployeeRelatedLiabilitiesCurrent" xlink:to="us-gaap_EmployeeRelatedLiabilitiesCurrent-label" xlink:type="arc"/>
    <link:loc xlink:href="dsgx-20200131.xsd#dsgx_AljexSoftwareIncMember" xlink:label="dsgx_AljexSoftwareIncMember" xlink:type="locator"/>
    <link:label xlink:label="dsgx_AljexSoftwareIncMember-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Aljex Software, Inc. [Member]</link:label>
    <link:label xlink:label="dsgx_AljexSoftwareIncMember-label" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xml:lang="en-US">Represents information about the acquisition of Aljex Software, Inc.</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dsgx_AljexSoftwareIncMember" xlink:to="dsgx_AljexSoftwareIncMember-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_AccruedIncomeTaxesCurrent" xlink:label="us-gaap_AccruedIncomeTaxesCurrent" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_AccruedIncomeTaxesCurrent-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Income taxes payable</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AccruedIncomeTaxesCurrent" xlink:to="us-gaap_AccruedIncomeTaxesCurrent-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_LesseeOperatingLeasesTextBlock" xlink:label="us-gaap_LesseeOperatingLeasesTextBlock" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_LesseeOperatingLeasesTextBlock-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Lessee, Operating Leases [Text Block]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LesseeOperatingLeasesTextBlock" xlink:to="us-gaap_LesseeOperatingLeasesTextBlock-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_AccountsPayableCurrent" xlink:label="us-gaap_AccountsPayableCurrent" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_AccountsPayableCurrent-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Accounts payable</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AccountsPayableCurrent" xlink:to="us-gaap_AccountsPayableCurrent-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber</link:label>
    <link:label xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber-label" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Share-based Compensation Arrangement by Share-based Payment Award, Options, Outstanding, Number, Ending Balance</link:label>
    <link:label xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber-label" xlink:role="http://www.xbrl.org/2003/role/periodStartLabel" xlink:type="resource" xml:lang="en-US">Number of Stock Options Outstanding (in shares)</link:label>
    <link:label xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber-label" xlink:role="http://www.xbrl.org/2003/role/periodEndLabel" xlink:type="resource" xml:lang="en-US">Number of Stock Options Outstanding (in shares)</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_LoansNotesTradeAndOtherReceivablesDisclosureTextBlock" xlink:label="us-gaap_LoansNotesTradeAndOtherReceivablesDisclosureTextBlock" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_LoansNotesTradeAndOtherReceivablesDisclosureTextBlock-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Loans, Notes, Trade and Other Receivables Disclosure [Text Block]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LoansNotesTradeAndOtherReceivablesDisclosureTextBlock" xlink:to="us-gaap_LoansNotesTradeAndOtherReceivablesDisclosureTextBlock-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_CreditFacilityAxis" xlink:label="us-gaap_CreditFacilityAxis" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_CreditFacilityAxis-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Credit Facility [Axis]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CreditFacilityAxis" xlink:to="us-gaap_CreditFacilityAxis-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_CreditFacilityDomain" xlink:label="us-gaap_CreditFacilityDomain" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_CreditFacilityDomain-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Credit Facility [Domain]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CreditFacilityDomain" xlink:to="us-gaap_CreditFacilityDomain-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_OtherAccruedLiabilitiesCurrent" xlink:label="us-gaap_OtherAccruedLiabilitiesCurrent" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_OtherAccruedLiabilitiesCurrent-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Other accrued liabilities</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OtherAccruedLiabilitiesCurrent" xlink:to="us-gaap_OtherAccruedLiabilitiesCurrent-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_PolicyTextBlockAbstract" xlink:label="us-gaap_PolicyTextBlockAbstract" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_PolicyTextBlockAbstract-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_PolicyTextBlockAbstract</link:label>
    <link:label xlink:label="us-gaap_PolicyTextBlockAbstract-label" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Accounting Policies</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PolicyTextBlockAbstract" xlink:to="us-gaap_PolicyTextBlockAbstract-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_TradeNamesMember" xlink:label="us-gaap_TradeNamesMember" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_TradeNamesMember-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Trade Names [Member]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_TradeNamesMember" xlink:to="us-gaap_TradeNamesMember-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardSharesIssuedInPeriod" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardSharesIssuedInPeriod" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardSharesIssuedInPeriod-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Performance units issued (in shares)</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardSharesIssuedInPeriod" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardSharesIssuedInPeriod-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant</link:label>
    <link:label xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant-label" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Share-based Compensation Arrangement by Share-based Payment Award, Number of Shares Available for Grant</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant-label" xlink:type="arc"/>
    <link:loc xlink:href="dsgx-20200131.xsd#dsgx_PeoplevoxLimitedMember" xlink:label="dsgx_PeoplevoxLimitedMember" xlink:type="locator"/>
    <link:label xlink:label="dsgx_PeoplevoxLimitedMember-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Peoplevox Limited [Member]</link:label>
    <link:label xlink:label="dsgx_PeoplevoxLimitedMember-label" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xml:lang="en-US">Represents information related to Peoplevox Limited.</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dsgx_PeoplevoxLimitedMember" xlink:to="dsgx_PeoplevoxLimitedMember-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_AccruedProfessionalFeesCurrent" xlink:label="us-gaap_AccruedProfessionalFeesCurrent" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_AccruedProfessionalFeesCurrent-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Accrued professional fees</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AccruedProfessionalFeesCurrent" xlink:to="us-gaap_AccruedProfessionalFeesCurrent-label" xlink:type="arc"/>
    <link:loc xlink:href="dsgx-20200131.xsd#dsgx_BesttransportMember" xlink:label="dsgx_BesttransportMember" xlink:type="locator"/>
    <link:label xlink:label="dsgx_BesttransportMember-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">BestTransport [Member]</link:label>
    <link:label xlink:label="dsgx_BesttransportMember-label" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xml:lang="en-US">Represents BestTransport.com Inc.</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dsgx_BesttransportMember" xlink:to="dsgx_BesttransportMember-label" xlink:type="arc"/>
    <link:loc xlink:href="dsgx-20200131.xsd#dsgx_StepcomMember" xlink:label="dsgx_StepcomMember" xlink:type="locator"/>
    <link:label xlink:label="dsgx_StepcomMember-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">STEPcom [Member]</link:label>
    <link:label xlink:label="dsgx_StepcomMember-label" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xml:lang="en-US">Represents STEPcom.</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dsgx_StepcomMember" xlink:to="dsgx_StepcomMember-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_PaymentsToAcquirePropertyPlantAndEquipment" xlink:label="us-gaap_PaymentsToAcquirePropertyPlantAndEquipment" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_PaymentsToAcquirePropertyPlantAndEquipment-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_PaymentsToAcquirePropertyPlantAndEquipment</link:label>
    <link:label xlink:label="us-gaap_PaymentsToAcquirePropertyPlantAndEquipment-label" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:type="resource" xml:lang="en-US">Additions to property and equipment</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PaymentsToAcquirePropertyPlantAndEquipment" xlink:to="us-gaap_PaymentsToAcquirePropertyPlantAndEquipment-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_IncrementalCommonSharesAttributableToShareBasedPaymentArrangements" xlink:label="us-gaap_IncrementalCommonSharesAttributableToShareBasedPaymentArrangements" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_IncrementalCommonSharesAttributableToShareBasedPaymentArrangements-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Dilutive effect of employee stock options (in shares)</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncrementalCommonSharesAttributableToShareBasedPaymentArrangements" xlink:to="us-gaap_IncrementalCommonSharesAttributableToShareBasedPaymentArrangements-label" xlink:type="arc"/>
    <link:loc xlink:href="dsgx-20200131.xsd#dsgx_CoreTransportTechnologiesNzLimitedMember" xlink:label="dsgx_CoreTransportTechnologiesNzLimitedMember" xlink:type="locator"/>
    <link:label xlink:label="dsgx_CoreTransportTechnologiesNzLimitedMember-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Core Transport Technologies NZ Limited [Member]</link:label>
    <link:label xlink:label="dsgx_CoreTransportTechnologiesNzLimitedMember-label" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xml:lang="en-US">Represents Core Transport Technologies NZ Limited ("CORE").</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dsgx_CoreTransportTechnologiesNzLimitedMember" xlink:to="dsgx_CoreTransportTechnologiesNzLimitedMember-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardExpirationPeriod" xlink:label="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardExpirationPeriod" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardExpirationPeriod-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardExpirationPeriod</link:label>
    <link:label xlink:label="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardExpirationPeriod-label" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Share-based Compensation Arrangement by Share-based Payment Award, Expiration Period</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardExpirationPeriod" xlink:to="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardExpirationPeriod-label" xlink:type="arc"/>
    <link:loc xlink:href="dsgx-20200131.xsd#dsgx_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedRightofuseAssets" xlink:label="dsgx_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedRightofuseAssets" xlink:type="locator"/>
    <link:label xlink:label="dsgx_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedRightofuseAssets-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">dsgx_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedRightofuseAssets</link:label>
    <link:label xlink:label="dsgx_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedRightofuseAssets-label" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Right-of-use assets</link:label>
    <link:label xlink:label="dsgx_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedRightofuseAssets-label" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xml:lang="en-US">Amount of right-of-use assets acquired at the acquisition date.</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dsgx_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedRightofuseAssets" xlink:to="dsgx_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedRightofuseAssets-label" xlink:type="arc"/>
    <link:loc xlink:href="dsgx-20200131.xsd#dsgx_The2020AcquisitionsMember" xlink:label="dsgx_The2020AcquisitionsMember" xlink:type="locator"/>
    <link:label xlink:label="dsgx_The2020AcquisitionsMember-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">The 2020 Acquisitions [Member]</link:label>
    <link:label xlink:label="dsgx_The2020AcquisitionsMember-label" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xml:lang="en-US">Represents information pertaining to the 2020 acquisitions (Visual Compliance, CORE, STEPcom, and BestTransport).</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dsgx_The2020AcquisitionsMember" xlink:to="dsgx_The2020AcquisitionsMember-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1</link:label>
    <link:label xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1-label" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Share-based Compensation Arrangement by Share-based Payment Award, Award Vesting Period</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_WeightedAverageNumberOfSharesOutstandingAbstract" xlink:label="us-gaap_WeightedAverageNumberOfSharesOutstandingAbstract" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_WeightedAverageNumberOfSharesOutstandingAbstract-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">WEIGHTED AVERAGE SHARES OUTSTANDING (thousands)</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_WeightedAverageNumberOfSharesOutstandingAbstract" xlink:to="us-gaap_WeightedAverageNumberOfSharesOutstandingAbstract-label" xlink:type="arc"/>
    <link:loc xlink:href="dsgx-20200131.xsd#dsgx_EquipmentInstalledWithCustomersMember" xlink:label="dsgx_EquipmentInstalledWithCustomersMember" xlink:type="locator"/>
    <link:label xlink:label="dsgx_EquipmentInstalledWithCustomersMember-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Equipment Installed With Customers [Member]</link:label>
    <link:label xlink:label="dsgx_EquipmentInstalledWithCustomersMember-label" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xml:lang="en-US">Represents equipment installed with customers.</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dsgx_EquipmentInstalledWithCustomersMember" xlink:to="dsgx_EquipmentInstalledWithCustomersMember-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_NoncompeteAgreementsMember" xlink:label="us-gaap_NoncompeteAgreementsMember" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_NoncompeteAgreementsMember-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Noncompete Agreements [Member]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_NoncompeteAgreementsMember" xlink:to="us-gaap_NoncompeteAgreementsMember-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_IncomeTaxesPaidNet" xlink:label="us-gaap_IncomeTaxesPaidNet" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_IncomeTaxesPaidNet-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Cash paid during the year for income taxes</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncomeTaxesPaidNet" xlink:to="us-gaap_IncomeTaxesPaidNet-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_GoodwillDisclosureTextBlock" xlink:label="us-gaap_GoodwillDisclosureTextBlock" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_GoodwillDisclosureTextBlock-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Goodwill Disclosure [Text Block]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_GoodwillDisclosureTextBlock" xlink:to="us-gaap_GoodwillDisclosureTextBlock-label" xlink:type="arc"/>
    <link:loc xlink:href="dsgx-20200131.xsd#dsgx_EmeaIncomeTaxAuthorityMember" xlink:label="dsgx_EmeaIncomeTaxAuthorityMember" xlink:type="locator"/>
    <link:label xlink:label="dsgx_EmeaIncomeTaxAuthorityMember-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">EMEA Income Tax Authority [Member]</link:label>
    <link:label xlink:label="dsgx_EmeaIncomeTaxAuthorityMember-label" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xml:lang="en-US">Represents income tax authority for EMEA.</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dsgx_EmeaIncomeTaxAuthorityMember" xlink:to="dsgx_EmeaIncomeTaxAuthorityMember-label" xlink:type="arc"/>
    <link:loc xlink:href="dsgx-20200131.xsd#dsgx_PinpointAndCoreMember" xlink:label="dsgx_PinpointAndCoreMember" xlink:type="locator"/>
    <link:label xlink:label="dsgx_PinpointAndCoreMember-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">PinPoint and CORE [Member]</link:label>
    <link:label xlink:label="dsgx_PinpointAndCoreMember-label" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xml:lang="en-US">Represents PinPoint and CORE.</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dsgx_PinpointAndCoreMember" xlink:to="dsgx_PinpointAndCoreMember-label" xlink:type="arc"/>
    <link:loc xlink:href="dsgx-20200131.xsd#dsgx_EffectiveIncomeTaxRateReconciliationIncreaseDecreaseInAccrualsForUncertainTaxPositions" xlink:label="dsgx_EffectiveIncomeTaxRateReconciliationIncreaseDecreaseInAccrualsForUncertainTaxPositions" xlink:type="locator"/>
    <link:label xlink:label="dsgx_EffectiveIncomeTaxRateReconciliationIncreaseDecreaseInAccrualsForUncertainTaxPositions-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">dsgx_EffectiveIncomeTaxRateReconciliationIncreaseDecreaseInAccrualsForUncertainTaxPositions</link:label>
    <link:label xlink:label="dsgx_EffectiveIncomeTaxRateReconciliationIncreaseDecreaseInAccrualsForUncertainTaxPositions-label" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Increase (decrease) in accruals for uncertain tax positions</link:label>
    <link:label xlink:label="dsgx_EffectiveIncomeTaxRateReconciliationIncreaseDecreaseInAccrualsForUncertainTaxPositions-label" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xml:lang="en-US">Amount of the difference between reported income tax expense (benefit) and expected income tax expense (benefit) computed by applying the domestic federal statutory income tax rates to pretax income (loss) from continuing operations, attributable to increase (decrease) in accruals for uncertain tax positions .</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dsgx_EffectiveIncomeTaxRateReconciliationIncreaseDecreaseInAccrualsForUncertainTaxPositions" xlink:to="dsgx_EffectiveIncomeTaxRateReconciliationIncreaseDecreaseInAccrualsForUncertainTaxPositions-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_LiabilitiesCurrentAbstract" xlink:label="us-gaap_LiabilitiesCurrentAbstract" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_LiabilitiesCurrentAbstract-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">CURRENT LIABILITIES</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LiabilitiesCurrentAbstract" xlink:to="us-gaap_LiabilitiesCurrentAbstract-label" xlink:type="arc"/>
    <link:loc xlink:href="dsgx-20200131.xsd#dsgx_LesseeOperatingLeaseRemainingLeaseTerm" xlink:label="dsgx_LesseeOperatingLeaseRemainingLeaseTerm" xlink:type="locator"/>
    <link:label xlink:label="dsgx_LesseeOperatingLeaseRemainingLeaseTerm-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">dsgx_LesseeOperatingLeaseRemainingLeaseTerm</link:label>
    <link:label xlink:label="dsgx_LesseeOperatingLeaseRemainingLeaseTerm-label" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Lessee, Operating Lease, Remaining Lease Term</link:label>
    <link:label xlink:label="dsgx_LesseeOperatingLeaseRemainingLeaseTerm-label" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xml:lang="en-US">The remaining lease term for operating lease of lessee.</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dsgx_LesseeOperatingLeaseRemainingLeaseTerm" xlink:to="dsgx_LesseeOperatingLeaseRemainingLeaseTerm-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_DevelopedTechnologyRightsMember" xlink:label="us-gaap_DevelopedTechnologyRightsMember" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_DevelopedTechnologyRightsMember-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Developed Technology Rights [Member]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DevelopedTechnologyRightsMember" xlink:to="us-gaap_DevelopedTechnologyRightsMember-label" xlink:type="arc"/>
    <link:loc xlink:href="dsgx-20200131.xsd#dsgx_AsiaPacificIncomeTaxAuthorityMember" xlink:label="dsgx_AsiaPacificIncomeTaxAuthorityMember" xlink:type="locator"/>
    <link:label xlink:label="dsgx_AsiaPacificIncomeTaxAuthorityMember-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Asia Pacific Income Tax Authority [Member]</link:label>
    <link:label xlink:label="dsgx_AsiaPacificIncomeTaxAuthorityMember-label" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xml:lang="en-US">Represents information related to Asia Pacific income tax authority</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dsgx_AsiaPacificIncomeTaxAuthorityMember" xlink:to="dsgx_AsiaPacificIncomeTaxAuthorityMember-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_SupplementalCashFlowInformationAbstract" xlink:label="us-gaap_SupplementalCashFlowInformationAbstract" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_SupplementalCashFlowInformationAbstract-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Supplemental disclosure of cash flow information:</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_SupplementalCashFlowInformationAbstract" xlink:to="us-gaap_SupplementalCashFlowInformationAbstract-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_Assets" xlink:label="us-gaap_Assets" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_Assets-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_Assets</link:label>
    <link:label xlink:label="us-gaap_Assets-label" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:type="resource" xml:lang="en-US"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_Assets" xlink:to="us-gaap_Assets-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_PlanNameAxis" xlink:label="us-gaap_PlanNameAxis" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_PlanNameAxis-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Plan Name [Axis]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PlanNameAxis" xlink:to="us-gaap_PlanNameAxis-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_PlanNameDomain" xlink:label="us-gaap_PlanNameDomain" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_PlanNameDomain-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Plan Name [Domain]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PlanNameDomain" xlink:to="us-gaap_PlanNameDomain-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_InProcessResearchAndDevelopmentMember" xlink:label="us-gaap_InProcessResearchAndDevelopmentMember" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_InProcessResearchAndDevelopmentMember-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">In Process Research and Development [Member]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_InProcessResearchAndDevelopmentMember" xlink:to="us-gaap_InProcessResearchAndDevelopmentMember-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_OperatingLeaseExpense" xlink:label="us-gaap_OperatingLeaseExpense" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_OperatingLeaseExpense-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_OperatingLeaseExpense</link:label>
    <link:label xlink:label="us-gaap_OperatingLeaseExpense-label" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Operating Lease, Expense</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OperatingLeaseExpense" xlink:to="us-gaap_OperatingLeaseExpense-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized" xlink:label="us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized</link:label>
    <link:label xlink:label="us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized-label" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Share-based Payment Arrangement, Nonvested Award, Cost Not yet Recognized, Amount, Total</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized" xlink:to="us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1" xlink:label="us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1</link:label>
    <link:label xlink:label="us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1-label" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Share-based Payment Arrangement, Nonvested Award, Cost Not yet Recognized, Period for Recognition</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1" xlink:to="us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_CustomerRelationshipsMember" xlink:label="us-gaap_CustomerRelationshipsMember" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_CustomerRelationshipsMember-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Customer Relationships [Member]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CustomerRelationshipsMember" xlink:to="us-gaap_CustomerRelationshipsMember-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_EmployeeServiceShareBasedCompensationTaxBenefitFromExerciseOfStockOptions" xlink:label="us-gaap_EmployeeServiceShareBasedCompensationTaxBenefitFromExerciseOfStockOptions" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_EmployeeServiceShareBasedCompensationTaxBenefitFromExerciseOfStockOptions-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_EmployeeServiceShareBasedCompensationTaxBenefitFromExerciseOfStockOptions</link:label>
    <link:label xlink:label="us-gaap_EmployeeServiceShareBasedCompensationTaxBenefitFromExerciseOfStockOptions-label" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Share-based Payment Arrangement, Exercise of Option, Tax Benefit</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_EmployeeServiceShareBasedCompensationTaxBenefitFromExerciseOfStockOptions" xlink:to="us-gaap_EmployeeServiceShareBasedCompensationTaxBenefitFromExerciseOfStockOptions-label" xlink:type="arc"/>
    <link:loc xlink:href="dsgx-20200131.xsd#dsgx_DeferredTaxCharges" xlink:label="dsgx_DeferredTaxCharges" xlink:type="locator"/>
    <link:label xlink:label="dsgx_DeferredTaxCharges-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Deferred tax charge</link:label>
    <link:label xlink:label="dsgx_DeferredTaxCharges-label" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xml:lang="en-US">Represents the amount of deferred tax charges recorded during the period.</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dsgx_DeferredTaxCharges" xlink:to="dsgx_DeferredTaxCharges-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_DeferredIncomeTaxAssetsNet" xlink:label="us-gaap_DeferredIncomeTaxAssetsNet" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_DeferredIncomeTaxAssetsNet-label" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:type="resource" xml:lang="en-US">DEFERRED INCOME TAXES</link:label>
    <link:label xlink:label="us-gaap_DeferredIncomeTaxAssetsNet-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_DeferredIncomeTaxAssetsNet</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DeferredIncomeTaxAssetsNet" xlink:to="us-gaap_DeferredIncomeTaxAssetsNet-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_CapitalizedContractCostNet" xlink:label="us-gaap_CapitalizedContractCostNet" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_CapitalizedContractCostNet-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_CapitalizedContractCostNet</link:label>
    <link:label xlink:label="us-gaap_CapitalizedContractCostNet-label" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Capitalized Contract Cost, Net, Total</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CapitalizedContractCostNet" xlink:to="us-gaap_CapitalizedContractCostNet-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationAndExerciseOfStockOptions" xlink:label="us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationAndExerciseOfStockOptions" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationAndExerciseOfStockOptions-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationAndExerciseOfStockOptions</link:label>
    <link:label xlink:label="us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationAndExerciseOfStockOptions-label" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Stock options and share units exercised</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationAndExerciseOfStockOptions" xlink:to="us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationAndExerciseOfStockOptions-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis" xlink:label="us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Finite-Lived Intangible Assets by Major Class [Axis]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis" xlink:to="us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock" xlink:label="us-gaap_DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Share-based Payment Arrangement [Text Block]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock" xlink:to="us-gaap_DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain" xlink:label="us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Finite-Lived Intangible Assets, Major Class Name [Domain]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain" xlink:to="us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTextBlock" xlink:label="us-gaap_ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTextBlock" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTextBlock-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Share-based Payment Arrangement, Expensed and Capitalized, Amount [Table Text Block]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTextBlock" xlink:to="us-gaap_ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTextBlock-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ContractWithCustomerAssetNet" xlink:label="us-gaap_ContractWithCustomerAssetNet" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_ContractWithCustomerAssetNet-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_ContractWithCustomerAssetNet</link:label>
    <link:label xlink:label="us-gaap_ContractWithCustomerAssetNet-label" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Contract with Customer, Asset, after Allowance for Credit Loss, Total</link:label>
    <link:label xlink:label="us-gaap_ContractWithCustomerAssetNet-label" xlink:role="http://www.xbrl.org/2003/role/periodStartLabel" xlink:type="resource" xml:lang="en-US">Balance at February 1, 2018</link:label>
    <link:label xlink:label="us-gaap_ContractWithCustomerAssetNet-label" xlink:role="http://www.xbrl.org/2003/role/periodEndLabel" xlink:type="resource" xml:lang="en-US">Balance</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ContractWithCustomerAssetNet" xlink:to="us-gaap_ContractWithCustomerAssetNet-label" xlink:type="arc"/>
    <link:loc xlink:href="dsgx-20200131.xsd#dsgx_OptionsGrantedOutsideOfShareholderApprovedStockOptionPlanMember" xlink:label="dsgx_OptionsGrantedOutsideOfShareholderApprovedStockOptionPlanMember" xlink:type="locator"/>
    <link:label xlink:label="dsgx_OptionsGrantedOutsideOfShareholderApprovedStockOptionPlanMember-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Option Granted Outside of Shareholder-approved Stock Option Plan [Member]</link:label>
    <link:label xlink:label="dsgx_OptionsGrantedOutsideOfShareholderApprovedStockOptionPlanMember-label" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xml:lang="en-US">Represents stock options grants made outside of the company's shareholder-approved stock option plan as permitted under the rules of the Toronto Stock Exchange in certain circumstances.</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dsgx_OptionsGrantedOutsideOfShareholderApprovedStockOptionPlanMember" xlink:to="dsgx_OptionsGrantedOutsideOfShareholderApprovedStockOptionPlanMember-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_BusinessDescriptionAndBasisOfPresentationTextBlock" xlink:label="us-gaap_BusinessDescriptionAndBasisOfPresentationTextBlock" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_BusinessDescriptionAndBasisOfPresentationTextBlock-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Business Description and Basis of Presentation [Text Block]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_BusinessDescriptionAndBasisOfPresentationTextBlock" xlink:to="us-gaap_BusinessDescriptionAndBasisOfPresentationTextBlock-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:label="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Award Type [Domain]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:to="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_AwardTypeAxis" xlink:label="us-gaap_AwardTypeAxis" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_AwardTypeAxis-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Award Type [Axis]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AwardTypeAxis" xlink:to="us-gaap_AwardTypeAxis-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_NetIncomeLoss" xlink:label="us-gaap_NetIncomeLoss" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_NetIncomeLoss-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Net income</link:label>
    <link:label xlink:label="us-gaap_NetIncomeLoss-label" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:type="resource" xml:lang="en-US">NET INCOME</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_NetIncomeLoss" xlink:to="us-gaap_NetIncomeLoss-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization" xlink:label="us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Intangible assets, amortization cost</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization" xlink:to="us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetsNet" xlink:label="us-gaap_FiniteLivedIntangibleAssetsNet" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_FiniteLivedIntangibleAssetsNet-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_FiniteLivedIntangibleAssetsNet</link:label>
    <link:label xlink:label="us-gaap_FiniteLivedIntangibleAssetsNet-label" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Finite-Lived Intangible Assets, Net, Ending Balance</link:label>
    <link:label xlink:label="us-gaap_FiniteLivedIntangibleAssetsNet-label" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:type="resource" xml:lang="en-US">Intangible assets. net</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FiniteLivedIntangibleAssetsNet" xlink:to="us-gaap_FiniteLivedIntangibleAssetsNet-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_IntangibleAssetsNetExcludingGoodwill" xlink:label="us-gaap_IntangibleAssetsNetExcludingGoodwill" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_IntangibleAssetsNetExcludingGoodwill-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">INTANGIBLE ASSETS, NET (Note 9)</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IntangibleAssetsNetExcludingGoodwill" xlink:to="us-gaap_IntangibleAssetsNetExcludingGoodwill-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_RestrictedStockUnitsRSUMember" xlink:label="us-gaap_RestrictedStockUnitsRSUMember" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_RestrictedStockUnitsRSUMember-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Restricted Stock Units (RSUs) [Member]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_RestrictedStockUnitsRSUMember" xlink:to="us-gaap_RestrictedStockUnitsRSUMember-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetsGross" xlink:label="us-gaap_FiniteLivedIntangibleAssetsGross" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_FiniteLivedIntangibleAssetsGross-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Intangible assets, cost</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FiniteLivedIntangibleAssetsGross" xlink:to="us-gaap_FiniteLivedIntangibleAssetsGross-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_PerformanceSharesMember" xlink:label="us-gaap_PerformanceSharesMember" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_PerformanceSharesMember-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Performance Shares [Member]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PerformanceSharesMember" xlink:to="us-gaap_PerformanceSharesMember-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_EmployeeStockOptionMember" xlink:label="us-gaap_EmployeeStockOptionMember" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_EmployeeStockOptionMember-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Share-based Payment Arrangement, Option [Member]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_EmployeeStockOptionMember" xlink:to="us-gaap_EmployeeStockOptionMember-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis" xlink:label="us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Antidilutive Securities [Axis]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis" xlink:to="us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_AntidilutiveSecuritiesNameDomain" xlink:label="us-gaap_AntidilutiveSecuritiesNameDomain" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_AntidilutiveSecuritiesNameDomain-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Antidilutive Securities, Name [Domain]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AntidilutiveSecuritiesNameDomain" xlink:to="us-gaap_AntidilutiveSecuritiesNameDomain-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_GoodwillTranslationAndPurchaseAccountingAdjustments" xlink:label="us-gaap_GoodwillTranslationAndPurchaseAccountingAdjustments" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_GoodwillTranslationAndPurchaseAccountingAdjustments-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_GoodwillTranslationAndPurchaseAccountingAdjustments</link:label>
    <link:label xlink:label="us-gaap_GoodwillTranslationAndPurchaseAccountingAdjustments-label" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Adjustments on account of foreign exchange</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_GoodwillTranslationAndPurchaseAccountingAdjustments" xlink:to="us-gaap_GoodwillTranslationAndPurchaseAccountingAdjustments-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_GoodwillAcquiredDuringPeriod" xlink:label="us-gaap_GoodwillAcquiredDuringPeriod" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_GoodwillAcquiredDuringPeriod-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_GoodwillAcquiredDuringPeriod</link:label>
    <link:label xlink:label="us-gaap_GoodwillAcquiredDuringPeriod-label" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Goodwill Acquired During Period</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_GoodwillAcquiredDuringPeriod" xlink:to="us-gaap_GoodwillAcquiredDuringPeriod-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_BusinessCombinationDisclosureTextBlock" xlink:label="us-gaap_BusinessCombinationDisclosureTextBlock" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_BusinessCombinationDisclosureTextBlock-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Business Combination Disclosure [Text Block]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_BusinessCombinationDisclosureTextBlock" xlink:to="us-gaap_BusinessCombinationDisclosureTextBlock-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_CommitmentsAndContingenciesDisclosureTextBlock" xlink:label="us-gaap_CommitmentsAndContingenciesDisclosureTextBlock" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_CommitmentsAndContingenciesDisclosureTextBlock-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Commitments and Contingencies Disclosure [Text Block]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CommitmentsAndContingenciesDisclosureTextBlock" xlink:to="us-gaap_CommitmentsAndContingenciesDisclosureTextBlock-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment" xlink:label="us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Accumulated amortization</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment" xlink:to="us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTextBlock" xlink:label="us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTextBlock" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTextBlock-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Schedule of Business Acquisitions, by Acquisition [Table Text Block]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTextBlock" xlink:to="us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTextBlock-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_PropertyPlantAndEquipmentNet" xlink:label="us-gaap_PropertyPlantAndEquipmentNet" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_PropertyPlantAndEquipmentNet-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">PROPERTY AND EQUIPMENT, NET (Note 8)</link:label>
    <link:label xlink:label="us-gaap_PropertyPlantAndEquipmentNet-label" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:type="resource" xml:lang="en-US">Net</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PropertyPlantAndEquipmentNet" xlink:to="us-gaap_PropertyPlantAndEquipmentNet-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_Goodwill" xlink:label="us-gaap_Goodwill" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_Goodwill-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">GOODWILL (Note 10)</link:label>
    <link:label xlink:label="us-gaap_Goodwill-label" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Goodwill</link:label>
    <link:label xlink:label="us-gaap_Goodwill-label" xlink:role="http://www.xbrl.org/2003/role/periodStartLabel" xlink:type="resource" xml:lang="en-US">Balance</link:label>
    <link:label xlink:label="us-gaap_Goodwill-label" xlink:role="http://www.xbrl.org/2003/role/periodEndLabel" xlink:type="resource" xml:lang="en-US">Balance</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_Goodwill" xlink:to="us-gaap_Goodwill-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_PropertyPlantAndEquipmentGross" xlink:label="us-gaap_PropertyPlantAndEquipmentGross" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_PropertyPlantAndEquipmentGross-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Cost</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PropertyPlantAndEquipmentGross" xlink:to="us-gaap_PropertyPlantAndEquipmentGross-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_CanadaRevenueAgencyMember" xlink:label="us-gaap_CanadaRevenueAgencyMember" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_CanadaRevenueAgencyMember-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Canada Revenue Agency [Member]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CanadaRevenueAgencyMember" xlink:to="us-gaap_CanadaRevenueAgencyMember-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_DerivativeAssets" xlink:label="us-gaap_DerivativeAssets" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_DerivativeAssets-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Equity contracts</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DerivativeAssets" xlink:to="us-gaap_DerivativeAssets-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_NetCashProvidedByUsedInInvestingActivitiesContinuingOperationsAbstract" xlink:label="us-gaap_NetCashProvidedByUsedInInvestingActivitiesContinuingOperationsAbstract" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_NetCashProvidedByUsedInInvestingActivitiesContinuingOperationsAbstract-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">INVESTING ACTIVITIES</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_NetCashProvidedByUsedInInvestingActivitiesContinuingOperationsAbstract" xlink:to="us-gaap_NetCashProvidedByUsedInInvestingActivitiesContinuingOperationsAbstract-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_IncreaseDecreaseInOperatingCapital" xlink:label="us-gaap_IncreaseDecreaseInOperatingCapital" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_IncreaseDecreaseInOperatingCapital-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_IncreaseDecreaseInOperatingCapital</link:label>
    <link:label xlink:label="us-gaap_IncreaseDecreaseInOperatingCapital-label" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:type="resource" xml:lang="en-US">Changes in operating assets and liabilities (Note 21)</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncreaseDecreaseInOperatingCapital" xlink:to="us-gaap_IncreaseDecreaseInOperatingCapital-label" xlink:type="arc"/>
    <link:loc xlink:href="dsgx-20200131.xsd#dsgx_ExistingTechnologyMember" xlink:label="dsgx_ExistingTechnologyMember" xlink:type="locator"/>
    <link:label xlink:label="dsgx_ExistingTechnologyMember-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Existing Technology [Member]</link:label>
    <link:label xlink:label="dsgx_ExistingTechnologyMember-label" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xml:lang="en-US">Represents information about existing technology.</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dsgx_ExistingTechnologyMember" xlink:to="dsgx_ExistingTechnologyMember-label" xlink:type="arc"/>
    <link:loc xlink:href="dsgx-20200131.xsd#dsgx_PropertyPlantAndEquipmentPercentDecliningBalanceDepreciation" xlink:label="dsgx_PropertyPlantAndEquipmentPercentDecliningBalanceDepreciation" xlink:type="locator"/>
    <link:label xlink:label="dsgx_PropertyPlantAndEquipmentPercentDecliningBalanceDepreciation-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">dsgx_PropertyPlantAndEquipmentPercentDecliningBalanceDepreciation</link:label>
    <link:label xlink:label="dsgx_PropertyPlantAndEquipmentPercentDecliningBalanceDepreciation-label" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Property Plant and Equipment, Percent Declining Balance Depreciation</link:label>
    <link:label xlink:label="dsgx_PropertyPlantAndEquipmentPercentDecliningBalanceDepreciation-label" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xml:lang="en-US">The percentage of declining balance for depreciation of property, plant and equipment.</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dsgx_PropertyPlantAndEquipmentPercentDecliningBalanceDepreciation" xlink:to="dsgx_PropertyPlantAndEquipmentPercentDecliningBalanceDepreciation-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_EarningsPerShareAbstract" xlink:label="us-gaap_EarningsPerShareAbstract" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_EarningsPerShareAbstract-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Earnings per share</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_EarningsPerShareAbstract" xlink:to="us-gaap_EarningsPerShareAbstract-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_EarningsPerShareTextBlock" xlink:label="us-gaap_EarningsPerShareTextBlock" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_EarningsPerShareTextBlock-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Earnings Per Share [Text Block]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_EarningsPerShareTextBlock" xlink:to="us-gaap_EarningsPerShareTextBlock-label" xlink:type="arc"/>
    <link:loc xlink:href="dsgx-20200131.xsd#dsgx_DirectorsAndOfficersMember" xlink:label="dsgx_DirectorsAndOfficersMember" xlink:type="locator"/>
    <link:label xlink:label="dsgx_DirectorsAndOfficersMember-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Directors and Officers [Member]</link:label>
    <link:label xlink:label="dsgx_DirectorsAndOfficersMember-label" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xml:lang="en-US">Titles of individuals' stock options.</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dsgx_DirectorsAndOfficersMember" xlink:to="dsgx_DirectorsAndOfficersMember-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.sec.gov/country/2017/country-2017-01-31.xsd#country_CA" xlink:label="country_CA" xlink:type="locator"/>
    <link:label xlink:label="country_CA-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">CANADA</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="country_CA" xlink:to="country_CA-label" xlink:type="arc"/>
    <link:loc xlink:href="dsgx-20200131.xsd#dsgx_BaseAnnualFeePercent" xlink:label="dsgx_BaseAnnualFeePercent" xlink:type="locator"/>
    <link:label xlink:label="dsgx_BaseAnnualFeePercent-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">dsgx_BaseAnnualFeePercent</link:label>
    <link:label xlink:label="dsgx_BaseAnnualFeePercent-label" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Base Annual Fee, Percent</link:label>
    <link:label xlink:label="dsgx_BaseAnnualFeePercent-label" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xml:lang="en-US">The base annual fee percentage required for Directors participating in a share-based compensation plan.</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dsgx_BaseAnnualFeePercent" xlink:to="dsgx_BaseAnnualFeePercent-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesMinorityInterestAndIncomeLossFromEquityMethodInvestments" xlink:label="us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesMinorityInterestAndIncomeLossFromEquityMethodInvestments" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesMinorityInterestAndIncomeLossFromEquityMethodInvestments-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Income (loss) from continuing operations</link:label>
    <link:label xlink:label="us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesMinorityInterestAndIncomeLossFromEquityMethodInvestments-label" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Income before income taxes</link:label>
    <link:label xlink:label="us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesMinorityInterestAndIncomeLossFromEquityMethodInvestments-label" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:type="resource" xml:lang="en-US">INCOME BEFORE INCOME TAXES</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesMinorityInterestAndIncomeLossFromEquityMethodInvestments" xlink:to="us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesMinorityInterestAndIncomeLossFromEquityMethodInvestments-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_IncomeTaxExpenseBenefit" xlink:label="us-gaap_IncomeTaxExpenseBenefit" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_IncomeTaxExpenseBenefit-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_IncomeTaxExpenseBenefit</link:label>
    <link:label xlink:label="us-gaap_IncomeTaxExpenseBenefit-label" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Income tax expense</link:label>
    <link:label xlink:label="us-gaap_IncomeTaxExpenseBenefit-label" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:type="resource" xml:lang="en-US"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncomeTaxExpenseBenefit" xlink:to="us-gaap_IncomeTaxExpenseBenefit-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_IncreaseDecreaseInAccruedLiabilities" xlink:label="us-gaap_IncreaseDecreaseInAccruedLiabilities" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_IncreaseDecreaseInAccruedLiabilities-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Accrued liabilities</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncreaseDecreaseInAccruedLiabilities" xlink:to="us-gaap_IncreaseDecreaseInAccruedLiabilities-label" xlink:type="arc"/>
    <link:loc xlink:href="dsgx-20200131.xsd#dsgx_DeferredShareUnitPlanMember" xlink:label="dsgx_DeferredShareUnitPlanMember" xlink:type="locator"/>
    <link:label xlink:label="dsgx_DeferredShareUnitPlanMember-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Deferred Share Unit Plan [Member]</link:label>
    <link:label xlink:label="dsgx_DeferredShareUnitPlanMember-label" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xml:lang="en-US">A plan with deferred share units.</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dsgx_DeferredShareUnitPlanMember" xlink:to="dsgx_DeferredShareUnitPlanMember-label" xlink:type="arc"/>
    <link:loc xlink:href="dsgx-20200131.xsd#dsgx_CashsettledRestrictedSharePlanMember" xlink:label="dsgx_CashsettledRestrictedSharePlanMember" xlink:type="locator"/>
    <link:label xlink:label="dsgx_CashsettledRestrictedSharePlanMember-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Cash-Settled Restricted Share Plan [Member]</link:label>
    <link:label xlink:label="dsgx_CashsettledRestrictedSharePlanMember-label" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xml:lang="en-US">A cash-settled restricted share plan adopted by an entity.</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dsgx_CashsettledRestrictedSharePlanMember" xlink:to="dsgx_CashsettledRestrictedSharePlanMember-label" xlink:type="arc"/>
    <link:loc xlink:href="dsgx-20200131.xsd#dsgx_CashSettledRestrictedShareUnitsVestingPeriod" xlink:label="dsgx_CashSettledRestrictedShareUnitsVestingPeriod" xlink:type="locator"/>
    <link:label xlink:label="dsgx_CashSettledRestrictedShareUnitsVestingPeriod-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">dsgx_CashSettledRestrictedShareUnitsVestingPeriod</link:label>
    <link:label xlink:label="dsgx_CashSettledRestrictedShareUnitsVestingPeriod-label" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Cash Settled Restricted Share Units, Vesting Period</link:label>
    <link:label xlink:label="dsgx_CashSettledRestrictedShareUnitsVestingPeriod-label" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xml:lang="en-US">Period which an employee's right to exercise an award is no longer contingent on satisfaction of either a service condition, market condition or a performance condition, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents the reported fact of one year, five months, and thirteen days.</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dsgx_CashSettledRestrictedShareUnitsVestingPeriod" xlink:to="dsgx_CashSettledRestrictedShareUnitsVestingPeriod-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_IncreaseDecreaseInAccountsPayable" xlink:label="us-gaap_IncreaseDecreaseInAccountsPayable" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_IncreaseDecreaseInAccountsPayable-label" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:type="resource" xml:lang="en-US">Accounts payable</link:label>
    <link:label xlink:label="us-gaap_IncreaseDecreaseInAccountsPayable-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_IncreaseDecreaseInAccountsPayable</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncreaseDecreaseInAccountsPayable" xlink:to="us-gaap_IncreaseDecreaseInAccountsPayable-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_OperatingExpenses" xlink:label="us-gaap_OperatingExpenses" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_OperatingExpenses-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_OperatingExpenses</link:label>
    <link:label xlink:label="us-gaap_OperatingExpenses-label" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:type="resource" xml:lang="en-US"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OperatingExpenses" xlink:to="us-gaap_OperatingExpenses-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_DebtInstrumentTerm" xlink:label="us-gaap_DebtInstrumentTerm" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_DebtInstrumentTerm-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_DebtInstrumentTerm</link:label>
    <link:label xlink:label="us-gaap_DebtInstrumentTerm-label" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Debt Instrument, Term</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DebtInstrumentTerm" xlink:to="us-gaap_DebtInstrumentTerm-label" xlink:type="arc"/>
    <link:loc xlink:href="dsgx-20200131.xsd#dsgx_BusinessCombinationRecognizedIdentifiableTangibleAssetsAcquiredAndLiabilitiesAssumedNet" xlink:label="dsgx_BusinessCombinationRecognizedIdentifiableTangibleAssetsAcquiredAndLiabilitiesAssumedNet" xlink:type="locator"/>
    <link:label xlink:label="dsgx_BusinessCombinationRecognizedIdentifiableTangibleAssetsAcquiredAndLiabilitiesAssumedNet-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">dsgx_BusinessCombinationRecognizedIdentifiableTangibleAssetsAcquiredAndLiabilitiesAssumedNet</link:label>
    <link:label xlink:label="dsgx_BusinessCombinationRecognizedIdentifiableTangibleAssetsAcquiredAndLiabilitiesAssumedNet-label" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:type="resource" xml:lang="en-US">Net tangible assets (liabilities) assumed</link:label>
    <link:label xlink:label="dsgx_BusinessCombinationRecognizedIdentifiableTangibleAssetsAcquiredAndLiabilitiesAssumedNet-label" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xml:lang="en-US">Amount recognized as of the acquisition date for the identifiable tangible assets acquired in excess of (less than) the aggregate liabilities assumed.</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dsgx_BusinessCombinationRecognizedIdentifiableTangibleAssetsAcquiredAndLiabilitiesAssumedNet" xlink:to="dsgx_BusinessCombinationRecognizedIdentifiableTangibleAssetsAcquiredAndLiabilitiesAssumedNet-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_GeneralAndAdministrativeExpense" xlink:label="us-gaap_GeneralAndAdministrativeExpense" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_GeneralAndAdministrativeExpense-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">General and administrative</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_GeneralAndAdministrativeExpense" xlink:to="us-gaap_GeneralAndAdministrativeExpense-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTranslationAdjustmentTax" xlink:label="us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTranslationAdjustmentTax" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTranslationAdjustmentTax-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Foreign currency translation adjustment, income tax expense (recovery)</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTranslationAdjustmentTax" xlink:to="us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTranslationAdjustmentTax-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_CashAndCashEquivalentsAtCarryingValue" xlink:label="us-gaap_CashAndCashEquivalentsAtCarryingValue" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_CashAndCashEquivalentsAtCarryingValue-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Cash</link:label>
    <link:label xlink:label="us-gaap_CashAndCashEquivalentsAtCarryingValue-label" xlink:role="http://www.xbrl.org/2003/role/periodStartLabel" xlink:type="resource" xml:lang="en-US">Cash, beginning of year</link:label>
    <link:label xlink:label="us-gaap_CashAndCashEquivalentsAtCarryingValue-label" xlink:role="http://www.xbrl.org/2003/role/periodEndLabel" xlink:type="resource" xml:lang="en-US">Cash, end of year</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CashAndCashEquivalentsAtCarryingValue" xlink:to="us-gaap_CashAndCashEquivalentsAtCarryingValue-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_AllocatedShareBasedCompensationExpense" xlink:label="us-gaap_AllocatedShareBasedCompensationExpense" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_AllocatedShareBasedCompensationExpense-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Stock-based compensation expense</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AllocatedShareBasedCompensationExpense" xlink:to="us-gaap_AllocatedShareBasedCompensationExpense-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_AmendmentFlag" xlink:label="dei_AmendmentFlag" xlink:type="locator"/>
    <link:label xlink:label="dei_AmendmentFlag-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Amendment Flag</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_AmendmentFlag" xlink:to="dei_AmendmentFlag-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ComprehensiveIncomeNetOfTax" xlink:label="us-gaap_ComprehensiveIncomeNetOfTax" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_ComprehensiveIncomeNetOfTax-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_ComprehensiveIncomeNetOfTax</link:label>
    <link:label xlink:label="us-gaap_ComprehensiveIncomeNetOfTax-label" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:type="resource" xml:lang="en-US">COMPREHENSIVE INCOME</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ComprehensiveIncomeNetOfTax" xlink:to="us-gaap_ComprehensiveIncomeNetOfTax-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_UseOfEstimates" xlink:label="us-gaap_UseOfEstimates" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_UseOfEstimates-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Use of Estimates, Policy [Policy Text Block]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_UseOfEstimates" xlink:to="us-gaap_UseOfEstimates-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_NewAccountingPronouncementsPolicyPolicyTextBlock" xlink:label="us-gaap_NewAccountingPronouncementsPolicyPolicyTextBlock" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_NewAccountingPronouncementsPolicyPolicyTextBlock-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">New Accounting Pronouncements, Policy [Policy Text Block]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_NewAccountingPronouncementsPolicyPolicyTextBlock" xlink:to="us-gaap_NewAccountingPronouncementsPolicyPolicyTextBlock-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_IncreaseDecreaseInIncomeTaxes" xlink:label="us-gaap_IncreaseDecreaseInIncomeTaxes" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_IncreaseDecreaseInIncomeTaxes-label" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:type="resource" xml:lang="en-US">Income taxes payable</link:label>
    <link:label xlink:label="us-gaap_IncreaseDecreaseInIncomeTaxes-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_IncreaseDecreaseInIncomeTaxes</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncreaseDecreaseInIncomeTaxes" xlink:to="us-gaap_IncreaseDecreaseInIncomeTaxes-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_CommonStockSharesOutstanding" xlink:label="us-gaap_CommonStockSharesOutstanding" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_CommonStockSharesOutstanding-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Common shares, shares outstanding (in shares)</link:label>
    <link:label xlink:label="us-gaap_CommonStockSharesOutstanding-label" xlink:role="http://www.xbrl.org/2003/role/periodStartLabel" xlink:type="resource" xml:lang="en-US">Balance, beginning of year (in shares)</link:label>
    <link:label xlink:label="us-gaap_CommonStockSharesOutstanding-label" xlink:role="http://www.xbrl.org/2003/role/periodEndLabel" xlink:type="resource" xml:lang="en-US">Balance, end of year (in shares)</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CommonStockSharesOutstanding" xlink:to="us-gaap_CommonStockSharesOutstanding-label" xlink:type="arc"/>
    <link:loc xlink:href="dsgx-20200131.xsd#dsgx_TaxYear2024Member" xlink:label="dsgx_TaxYear2024Member" xlink:type="locator"/>
    <link:label xlink:label="dsgx_TaxYear2024Member-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Tax Year 2024 [Member]</link:label>
    <link:label xlink:label="dsgx_TaxYear2024Member-label" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xml:lang="en-US">Represents tax year 2024.</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dsgx_TaxYear2024Member" xlink:to="dsgx_TaxYear2024Member-label" xlink:type="arc"/>
    <link:loc xlink:href="dsgx-20200131.xsd#dsgx_OutsideOfShareholderapprovedStockOptionPlanMember" xlink:label="dsgx_OutsideOfShareholderapprovedStockOptionPlanMember" xlink:type="locator"/>
    <link:label xlink:label="dsgx_OutsideOfShareholderapprovedStockOptionPlanMember-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Outside of Shareholder-approved Stock Option Plan [Member]</link:label>
    <link:label xlink:label="dsgx_OutsideOfShareholderapprovedStockOptionPlanMember-label" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xml:lang="en-US">Represents information pertaining to the outside of shareholder-approved stock options plan.</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dsgx_OutsideOfShareholderapprovedStockOptionPlanMember" xlink:to="dsgx_OutsideOfShareholderapprovedStockOptionPlanMember-label" xlink:type="arc"/>
    <link:loc xlink:href="dsgx-20200131.xsd#dsgx_TaxYear2023Member" xlink:label="dsgx_TaxYear2023Member" xlink:type="locator"/>
    <link:label xlink:label="dsgx_TaxYear2023Member-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Tax Year 2023 [Member]</link:label>
    <link:label xlink:label="dsgx_TaxYear2023Member-label" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xml:lang="en-US">Represents tax year 2023.</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dsgx_TaxYear2023Member" xlink:to="dsgx_TaxYear2023Member-label" xlink:type="arc"/>
    <link:loc xlink:href="dsgx-20200131.xsd#dsgx_TaxYear2022Member" xlink:label="dsgx_TaxYear2022Member" xlink:type="locator"/>
    <link:label xlink:label="dsgx_TaxYear2022Member-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Tax Year 2022 [Member]</link:label>
    <link:label xlink:label="dsgx_TaxYear2022Member-label" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xml:lang="en-US">Represents tax year 2022.</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dsgx_TaxYear2022Member" xlink:to="dsgx_TaxYear2022Member-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_CurrentFiscalYearEndDate" xlink:label="dei_CurrentFiscalYearEndDate" xlink:type="locator"/>
    <link:label xlink:label="dei_CurrentFiscalYearEndDate-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Current Fiscal Year End Date</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_CurrentFiscalYearEndDate" xlink:to="dei_CurrentFiscalYearEndDate-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_DebtInstrumentBasisSpreadOnVariableRate1" xlink:label="us-gaap_DebtInstrumentBasisSpreadOnVariableRate1" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_DebtInstrumentBasisSpreadOnVariableRate1-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_DebtInstrumentBasisSpreadOnVariableRate1</link:label>
    <link:label xlink:label="us-gaap_DebtInstrumentBasisSpreadOnVariableRate1-label" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Debt Instrument, Basis Spread on Variable Rate</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DebtInstrumentBasisSpreadOnVariableRate1" xlink:to="us-gaap_DebtInstrumentBasisSpreadOnVariableRate1-label" xlink:type="arc"/>
    <link:loc xlink:href="dsgx-20200131.xsd#dsgx_TaxYear2021Member" xlink:label="dsgx_TaxYear2021Member" xlink:type="locator"/>
    <link:label xlink:label="dsgx_TaxYear2021Member-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Tax Year 2021 [Member]</link:label>
    <link:label xlink:label="dsgx_TaxYear2021Member-label" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xml:lang="en-US">Represents tax year 2021.</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dsgx_TaxYear2021Member" xlink:to="dsgx_TaxYear2021Member-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_LeaseCost" xlink:label="us-gaap_LeaseCost" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_LeaseCost-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_LeaseCost</link:label>
    <link:label xlink:label="us-gaap_LeaseCost-label" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:type="resource" xml:lang="en-US">Total operating lease cost</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LeaseCost" xlink:to="us-gaap_LeaseCost-label" xlink:type="arc"/>
    <link:loc xlink:href="dsgx-20200131.xsd#dsgx_IncreaseDecreaseInOperatingLeaseLiabilities" xlink:label="dsgx_IncreaseDecreaseInOperatingLeaseLiabilities" xlink:type="locator"/>
    <link:label xlink:label="dsgx_IncreaseDecreaseInOperatingLeaseLiabilities-label" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:type="resource" xml:lang="en-US">Operating leases</link:label>
    <link:label xlink:label="dsgx_IncreaseDecreaseInOperatingLeaseLiabilities-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">dsgx_IncreaseDecreaseInOperatingLeaseLiabilities</link:label>
    <link:label xlink:label="dsgx_IncreaseDecreaseInOperatingLeaseLiabilities-label" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xml:lang="en-US">The amount of increase (decrease) in operating lease liabilities.</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dsgx_IncreaseDecreaseInOperatingLeaseLiabilities" xlink:to="dsgx_IncreaseDecreaseInOperatingLeaseLiabilities-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_LeaseArrangementTypeAxis" xlink:label="us-gaap_LeaseArrangementTypeAxis" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_LeaseArrangementTypeAxis-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Lease Arrangement, Type [Axis]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LeaseArrangementTypeAxis" xlink:to="us-gaap_LeaseArrangementTypeAxis-label" xlink:type="arc"/>
    <link:loc xlink:href="dsgx-20200131.xsd#dsgx_AfterTaxYear2025Member" xlink:label="dsgx_AfterTaxYear2025Member" xlink:type="locator"/>
    <link:label xlink:label="dsgx_AfterTaxYear2025Member-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">After Tax Year 2025 [Member]</link:label>
    <link:label xlink:label="dsgx_AfterTaxYear2025Member-label" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xml:lang="en-US">Represents after tax year 2025.</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dsgx_AfterTaxYear2025Member" xlink:to="dsgx_AfterTaxYear2025Member-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_LeaseArrangementTypeDomain" xlink:label="us-gaap_LeaseArrangementTypeDomain" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_LeaseArrangementTypeDomain-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Lease Arrangement, Type [Domain]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LeaseArrangementTypeDomain" xlink:to="us-gaap_LeaseArrangementTypeDomain-label" xlink:type="arc"/>
    <link:loc xlink:href="dsgx-20200131.xsd#dsgx_TaxYear2025Member" xlink:label="dsgx_TaxYear2025Member" xlink:type="locator"/>
    <link:label xlink:label="dsgx_TaxYear2025Member-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Tax Year 2025 [Member]</link:label>
    <link:label xlink:label="dsgx_TaxYear2025Member-label" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xml:lang="en-US">Represents tax year 2025.</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dsgx_TaxYear2025Member" xlink:to="dsgx_TaxYear2025Member-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets" xlink:label="us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets</link:label>
    <link:label xlink:label="us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets-label" xlink:role="http://www.xbrl.org/2009/role/negatedTerseLabel" xlink:type="resource" xml:lang="en-US">Prepaid expenses and other</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets" xlink:to="us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_OperatingLeaseWeightedAverageDiscountRatePercent" xlink:label="us-gaap_OperatingLeaseWeightedAverageDiscountRatePercent" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_OperatingLeaseWeightedAverageDiscountRatePercent-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Weighted average discount rate (%)</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OperatingLeaseWeightedAverageDiscountRatePercent" xlink:to="us-gaap_OperatingLeaseWeightedAverageDiscountRatePercent-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_DocumentFiscalPeriodFocus" xlink:label="dei_DocumentFiscalPeriodFocus" xlink:type="locator"/>
    <link:label xlink:label="dei_DocumentFiscalPeriodFocus-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Document Fiscal Period Focus</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_DocumentFiscalPeriodFocus" xlink:to="dei_DocumentFiscalPeriodFocus-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_OperatingLeaseCost" xlink:label="us-gaap_OperatingLeaseCost" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_OperatingLeaseCost-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Operating lease cost</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OperatingLeaseCost" xlink:to="us-gaap_OperatingLeaseCost-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_DocumentFiscalYearFocus" xlink:label="dei_DocumentFiscalYearFocus" xlink:type="locator"/>
    <link:label xlink:label="dei_DocumentFiscalYearFocus-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Document Fiscal Year Focus</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_DocumentFiscalYearFocus" xlink:to="dei_DocumentFiscalYearFocus-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ConsolidationPolicyTextBlock" xlink:label="us-gaap_ConsolidationPolicyTextBlock" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_ConsolidationPolicyTextBlock-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Consolidation, Policy [Policy Text Block]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ConsolidationPolicyTextBlock" xlink:to="us-gaap_ConsolidationPolicyTextBlock-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ShortTermLeaseCost" xlink:label="us-gaap_ShortTermLeaseCost" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_ShortTermLeaseCost-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Short-term lease cost</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShortTermLeaseCost" xlink:to="us-gaap_ShortTermLeaseCost-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_LeaseCostTableTextBlock" xlink:label="us-gaap_LeaseCostTableTextBlock" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_LeaseCostTableTextBlock-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Lease, Cost [Table Text Block]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LeaseCostTableTextBlock" xlink:to="us-gaap_LeaseCostTableTextBlock-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_DocumentPeriodEndDate" xlink:label="dei_DocumentPeriodEndDate" xlink:type="locator"/>
    <link:label xlink:label="dei_DocumentPeriodEndDate-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Document Period End Date</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_DocumentPeriodEndDate" xlink:to="dei_DocumentPeriodEndDate-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability" xlink:label="us-gaap_RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Increase in ROU asset from non-cash activities, including lease modifications and new leases</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability" xlink:to="us-gaap_RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_OperatingLeaseWeightedAverageRemainingLeaseTerm1" xlink:label="us-gaap_OperatingLeaseWeightedAverageRemainingLeaseTerm1" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_OperatingLeaseWeightedAverageRemainingLeaseTerm1-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Weighted average remaining lease term (years) (Year)</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OperatingLeaseWeightedAverageRemainingLeaseTerm1" xlink:to="us-gaap_OperatingLeaseWeightedAverageRemainingLeaseTerm1-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_EntityEmergingGrowthCompany" xlink:label="dei_EntityEmergingGrowthCompany" xlink:type="locator"/>
    <link:label xlink:label="dei_EntityEmergingGrowthCompany-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Entity Emerging Growth Company</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_EntityEmergingGrowthCompany" xlink:to="dei_EntityEmergingGrowthCompany-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_DocumentType" xlink:label="dei_DocumentType" xlink:type="locator"/>
    <link:label xlink:label="dei_DocumentType-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Document Type</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_DocumentType" xlink:to="dei_DocumentType-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_DocumentInformationLineItems" xlink:label="dei_DocumentInformationLineItems" xlink:type="locator"/>
    <link:label xlink:label="dei_DocumentInformationLineItems-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Document Information [Line Items]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_DocumentInformationLineItems" xlink:to="dei_DocumentInformationLineItems-label" xlink:type="arc"/>
    <link:loc xlink:href="dsgx-20200131.xsd#dsgx_CostsToObtainAContractWithACustomerPeriodOfBenefitIncludingRenewals" xlink:label="dsgx_CostsToObtainAContractWithACustomerPeriodOfBenefitIncludingRenewals" xlink:type="locator"/>
    <link:label xlink:label="dsgx_CostsToObtainAContractWithACustomerPeriodOfBenefitIncludingRenewals-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">dsgx_CostsToObtainAContractWithACustomerPeriodOfBenefitIncludingRenewals</link:label>
    <link:label xlink:label="dsgx_CostsToObtainAContractWithACustomerPeriodOfBenefitIncludingRenewals-label" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Costs to Obtain a Contract with a Customer, Period of Benefit Including Renewals</link:label>
    <link:label xlink:label="dsgx_CostsToObtainAContractWithACustomerPeriodOfBenefitIncludingRenewals-label" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xml:lang="en-US">Represents the period of benefit, including renewals, associated with the asset for the incremental costs of obtaining a contract with a customer.</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dsgx_CostsToObtainAContractWithACustomerPeriodOfBenefitIncludingRenewals" xlink:to="dsgx_CostsToObtainAContractWithACustomerPeriodOfBenefitIncludingRenewals-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_DocumentInformationTable" xlink:label="dei_DocumentInformationTable" xlink:type="locator"/>
    <link:label xlink:label="dei_DocumentInformationTable-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Document Information [Table]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_DocumentInformationTable" xlink:to="dei_DocumentInformationTable-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ServiceMember" xlink:label="us-gaap_ServiceMember" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_ServiceMember-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Service [Member]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ServiceMember" xlink:to="us-gaap_ServiceMember-label" xlink:type="arc"/>
    <link:loc xlink:href="dsgx-20200131.xsd#dsgx_PinPointMember" xlink:label="dsgx_PinPointMember" xlink:type="locator"/>
    <link:label xlink:label="dsgx_PinPointMember-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">PinPoint [Member]</link:label>
    <link:label xlink:label="dsgx_PinPointMember-label" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xml:lang="en-US">Represents information pertaining to PinPoint GPS Solutions Inc.</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dsgx_PinPointMember" xlink:to="dsgx_PinPointMember-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_DebtInstrumentAxis" xlink:label="us-gaap_DebtInstrumentAxis" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_DebtInstrumentAxis-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Debt Instrument [Axis]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DebtInstrumentAxis" xlink:to="us-gaap_DebtInstrumentAxis-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_EntityCurrentReportingStatus" xlink:label="dei_EntityCurrentReportingStatus" xlink:type="locator"/>
    <link:label xlink:label="dei_EntityCurrentReportingStatus-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Entity Current Reporting Status</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_EntityCurrentReportingStatus" xlink:to="dei_EntityCurrentReportingStatus-label" xlink:type="arc"/>
    <link:loc xlink:href="dsgx-20200131.xsd#dsgx_VelocityMailMember" xlink:label="dsgx_VelocityMailMember" xlink:type="locator"/>
    <link:label xlink:label="dsgx_VelocityMailMember-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Velocity Mail [Member]</link:label>
    <link:label xlink:label="dsgx_VelocityMailMember-label" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xml:lang="en-US">Represents information pertaining to Velocity Mail, LLC.</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dsgx_VelocityMailMember" xlink:to="dsgx_VelocityMailMember-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_DebtInstrumentNameDomain" xlink:label="us-gaap_DebtInstrumentNameDomain" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_DebtInstrumentNameDomain-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Debt Instrument, Name [Domain]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DebtInstrumentNameDomain" xlink:to="us-gaap_DebtInstrumentNameDomain-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_RestructuringCharges" xlink:label="us-gaap_RestructuringCharges" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_RestructuringCharges-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Restructuring plans</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_RestructuringCharges" xlink:to="us-gaap_RestructuringCharges-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_BusinessCombinationAcquisitionRelatedCosts" xlink:label="us-gaap_BusinessCombinationAcquisitionRelatedCosts" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_BusinessCombinationAcquisitionRelatedCosts-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Acquisition-related costs</link:label>
    <link:label xlink:label="us-gaap_BusinessCombinationAcquisitionRelatedCosts-label" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Business Combination, Acquisition Related Costs</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_BusinessCombinationAcquisitionRelatedCosts" xlink:to="us-gaap_BusinessCombinationAcquisitionRelatedCosts-label" xlink:type="arc"/>
    <link:loc xlink:href="dsgx-20200131.xsd#dsgx_BusinessCombinationContingentConsiderationArrangementsPeriodForRevenuePerformanceTargets" xlink:label="dsgx_BusinessCombinationContingentConsiderationArrangementsPeriodForRevenuePerformanceTargets" xlink:type="locator"/>
    <link:label xlink:label="dsgx_BusinessCombinationContingentConsiderationArrangementsPeriodForRevenuePerformanceTargets-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">dsgx_BusinessCombinationContingentConsiderationArrangementsPeriodForRevenuePerformanceTargets</link:label>
    <link:label xlink:label="dsgx_BusinessCombinationContingentConsiderationArrangementsPeriodForRevenuePerformanceTargets-label" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Business Combination, Contingent Consideration Arrangements, Period for Revenue Performance Targets</link:label>
    <link:label xlink:label="dsgx_BusinessCombinationContingentConsiderationArrangementsPeriodForRevenuePerformanceTargets-label" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xml:lang="en-US">Represents the period (following acquisition) over which contingent consideration is to be paid by the reporting entity if the acquired entity meets certain performance targets.</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dsgx_BusinessCombinationContingentConsiderationArrangementsPeriodForRevenuePerformanceTargets" xlink:to="dsgx_BusinessCombinationContingentConsiderationArrangementsPeriodForRevenuePerformanceTargets-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_VariableRateDomain" xlink:label="us-gaap_VariableRateDomain" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_VariableRateDomain-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Variable Rate [Domain]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_VariableRateDomain" xlink:to="us-gaap_VariableRateDomain-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_IncreaseDecreaseInOtherReceivables" xlink:label="us-gaap_IncreaseDecreaseInOtherReceivables" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_IncreaseDecreaseInOtherReceivables-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_IncreaseDecreaseInOtherReceivables</link:label>
    <link:label xlink:label="us-gaap_IncreaseDecreaseInOtherReceivables-label" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:type="resource" xml:lang="en-US">Other accounts receivable</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncreaseDecreaseInOtherReceivables" xlink:to="us-gaap_IncreaseDecreaseInOtherReceivables-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ImpairmentOfLongLivedAssetsHeldForUse" xlink:label="us-gaap_ImpairmentOfLongLivedAssetsHeldForUse" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_ImpairmentOfLongLivedAssetsHeldForUse-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_ImpairmentOfLongLivedAssetsHeldForUse</link:label>
    <link:label xlink:label="us-gaap_ImpairmentOfLongLivedAssetsHeldForUse-label" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Impairment of Long-Lived Assets Held-for-use</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ImpairmentOfLongLivedAssetsHeldForUse" xlink:to="us-gaap_ImpairmentOfLongLivedAssetsHeldForUse-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ScheduleOfDebtInstrumentsTextBlock" xlink:label="us-gaap_ScheduleOfDebtInstrumentsTextBlock" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_ScheduleOfDebtInstrumentsTextBlock-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Schedule of Long-term Debt Instruments [Table Text Block]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ScheduleOfDebtInstrumentsTextBlock" xlink:to="us-gaap_ScheduleOfDebtInstrumentsTextBlock-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_GoodwillImpairmentLoss" xlink:label="us-gaap_GoodwillImpairmentLoss" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_GoodwillImpairmentLoss-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_GoodwillImpairmentLoss</link:label>
    <link:label xlink:label="us-gaap_GoodwillImpairmentLoss-label" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Goodwill, Impairment Loss</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_GoodwillImpairmentLoss" xlink:to="us-gaap_GoodwillImpairmentLoss-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_VariableRateAxis" xlink:label="us-gaap_VariableRateAxis" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_VariableRateAxis-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Variable Rate [Axis]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_VariableRateAxis" xlink:to="us-gaap_VariableRateAxis-label" xlink:type="arc"/>
    <link:loc xlink:href="dsgx-20200131.xsd#dsgx_BusinessCombinationRecognizedIdentifiableAssetAcquiredAndLiabilityAssumedOperatingLeaseObligation" xlink:label="dsgx_BusinessCombinationRecognizedIdentifiableAssetAcquiredAndLiabilityAssumedOperatingLeaseObligation" xlink:type="locator"/>
    <link:label xlink:label="dsgx_BusinessCombinationRecognizedIdentifiableAssetAcquiredAndLiabilityAssumedOperatingLeaseObligation-label" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:type="resource" xml:lang="en-US">Lease obligations</link:label>
    <link:label xlink:label="dsgx_BusinessCombinationRecognizedIdentifiableAssetAcquiredAndLiabilityAssumedOperatingLeaseObligation-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">dsgx_BusinessCombinationRecognizedIdentifiableAssetAcquiredAndLiabilityAssumedOperatingLeaseObligation</link:label>
    <link:label xlink:label="dsgx_BusinessCombinationRecognizedIdentifiableAssetAcquiredAndLiabilityAssumedOperatingLeaseObligation-label" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xml:lang="en-US">Amount of operating lease obligation assumed in business combination.</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dsgx_BusinessCombinationRecognizedIdentifiableAssetAcquiredAndLiabilityAssumedOperatingLeaseObligation" xlink:to="dsgx_BusinessCombinationRecognizedIdentifiableAssetAcquiredAndLiabilityAssumedOperatingLeaseObligation-label" xlink:type="arc"/>
    <link:loc xlink:href="dsgx-20200131.xsd#dsgx_The2019AcquisitionsMember" xlink:label="dsgx_The2019AcquisitionsMember" xlink:type="locator"/>
    <link:label xlink:label="dsgx_The2019AcquisitionsMember-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">The 2019 Acquisitions [Member]</link:label>
    <link:label xlink:label="dsgx_The2019AcquisitionsMember-label" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xml:lang="en-US">Represents information pertaining to the 2019 acquisitions (Aljex, Velocity Mail, and PinPoint).</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dsgx_The2019AcquisitionsMember" xlink:to="dsgx_The2019AcquisitionsMember-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_CapitalizedContractCostAmortization" xlink:label="us-gaap_CapitalizedContractCostAmortization" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_CapitalizedContractCostAmortization-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_CapitalizedContractCostAmortization</link:label>
    <link:label xlink:label="us-gaap_CapitalizedContractCostAmortization-label" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Capitalized Contract Cost, Amortization</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CapitalizedContractCostAmortization" xlink:to="us-gaap_CapitalizedContractCostAmortization-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_CapitalizedContractCostImpairmentLoss" xlink:label="us-gaap_CapitalizedContractCostImpairmentLoss" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_CapitalizedContractCostImpairmentLoss-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_CapitalizedContractCostImpairmentLoss</link:label>
    <link:label xlink:label="us-gaap_CapitalizedContractCostImpairmentLoss-label" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Capitalized Contract Cost, Impairment Loss</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CapitalizedContractCostImpairmentLoss" xlink:to="us-gaap_CapitalizedContractCostImpairmentLoss-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_IncreaseDecreaseInAccountsReceivable" xlink:label="us-gaap_IncreaseDecreaseInAccountsReceivable" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_IncreaseDecreaseInAccountsReceivable-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_IncreaseDecreaseInAccountsReceivable</link:label>
    <link:label xlink:label="us-gaap_IncreaseDecreaseInAccountsReceivable-label" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:type="resource" xml:lang="en-US">Trade accounts receivable</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncreaseDecreaseInAccountsReceivable" xlink:to="us-gaap_IncreaseDecreaseInAccountsReceivable-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" xlink:label="us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue</link:label>
    <link:label xlink:label="us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue-label" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Stock-based compensation expense (Note 17)</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" xlink:to="us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_StatementOfIncomeAndComprehensiveIncomeAbstract" xlink:label="us-gaap_StatementOfIncomeAndComprehensiveIncomeAbstract" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_StatementOfIncomeAndComprehensiveIncomeAbstract-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Statement of Comprehensive Income [Abstract]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_StatementOfIncomeAndComprehensiveIncomeAbstract" xlink:to="us-gaap_StatementOfIncomeAndComprehensiveIncomeAbstract-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_EntityCentralIndexKey" xlink:label="dei_EntityCentralIndexKey" xlink:type="locator"/>
    <link:label xlink:label="dei_EntityCentralIndexKey-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Entity Central Index Key</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_EntityCentralIndexKey" xlink:to="dei_EntityCentralIndexKey-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_EntityRegistrantName" xlink:label="dei_EntityRegistrantName" xlink:type="locator"/>
    <link:label xlink:label="dei_EntityRegistrantName-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Entity Registrant Name</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_EntityRegistrantName" xlink:to="dei_EntityRegistrantName-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:label xlink:label="dei_EntityDomain-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Entity [Domain]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_EntityDomain" xlink:to="dei_EntityDomain-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_CustomerConcentrationRiskMember" xlink:label="us-gaap_CustomerConcentrationRiskMember" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_CustomerConcentrationRiskMember-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Customer Concentration Risk [Member]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CustomerConcentrationRiskMember" xlink:to="us-gaap_CustomerConcentrationRiskMember-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:label xlink:label="dei_LegalEntityAxis-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Legal Entity [Axis]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_LegalEntityAxis" xlink:to="dei_LegalEntityAxis-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_AmortizationOfIntangibleAssets" xlink:label="us-gaap_AmortizationOfIntangibleAssets" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_AmortizationOfIntangibleAssets-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Amortization of intangible assets</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AmortizationOfIntangibleAssets" xlink:to="us-gaap_AmortizationOfIntangibleAssets-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ConcentrationRiskByTypeAxis" xlink:label="us-gaap_ConcentrationRiskByTypeAxis" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_ConcentrationRiskByTypeAxis-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Concentration Risk Type [Axis]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ConcentrationRiskByTypeAxis" xlink:to="us-gaap_ConcentrationRiskByTypeAxis-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_AccountsReceivableNetAbstract" xlink:label="us-gaap_AccountsReceivableNetAbstract" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_AccountsReceivableNetAbstract-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Accounts receivable (net)</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AccountsReceivableNetAbstract" xlink:to="us-gaap_AccountsReceivableNetAbstract-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ConcentrationRiskTypeDomain" xlink:label="us-gaap_ConcentrationRiskTypeDomain" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_ConcentrationRiskTypeDomain-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Concentration Risk Type [Domain]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ConcentrationRiskTypeDomain" xlink:to="us-gaap_ConcentrationRiskTypeDomain-label" xlink:type="arc"/>
    <link:loc xlink:href="dsgx-20200131.xsd#dsgx_DeferredShareUnitLiabilityNumberOfCommonShares" xlink:label="dsgx_DeferredShareUnitLiabilityNumberOfCommonShares" xlink:type="locator"/>
    <link:label xlink:label="dsgx_DeferredShareUnitLiabilityNumberOfCommonShares-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">dsgx_DeferredShareUnitLiabilityNumberOfCommonShares</link:label>
    <link:label xlink:label="dsgx_DeferredShareUnitLiabilityNumberOfCommonShares-label" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Deferred Share Unit Liability, Number of Common Shares</link:label>
    <link:label xlink:label="dsgx_DeferredShareUnitLiabilityNumberOfCommonShares-label" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xml:lang="en-US">Represents the number of common shares for which there is a deferred share unit liability.</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dsgx_DeferredShareUnitLiabilityNumberOfCommonShares" xlink:to="dsgx_DeferredShareUnitLiabilityNumberOfCommonShares-label" xlink:type="arc"/>
    <link:loc xlink:href="dsgx-20200131.xsd#dsgx_BusinessAcquisitionCostOfAcquiredEntityWorkingCapitalAdjustments" xlink:label="dsgx_BusinessAcquisitionCostOfAcquiredEntityWorkingCapitalAdjustments" xlink:type="locator"/>
    <link:label xlink:label="dsgx_BusinessAcquisitionCostOfAcquiredEntityWorkingCapitalAdjustments-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Net working capital adjustments (receivable) / payable</link:label>
    <link:label xlink:label="dsgx_BusinessAcquisitionCostOfAcquiredEntityWorkingCapitalAdjustments-label" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xml:lang="en-US">Business acquisition cost of acquired entity working capital adjustments.</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dsgx_BusinessAcquisitionCostOfAcquiredEntityWorkingCapitalAdjustments" xlink:to="dsgx_BusinessAcquisitionCostOfAcquiredEntityWorkingCapitalAdjustments-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_EntityCommonStockSharesOutstanding" xlink:label="dei_EntityCommonStockSharesOutstanding" xlink:type="locator"/>
    <link:label xlink:label="dei_EntityCommonStockSharesOutstanding-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Entity Common Stock, Shares Outstanding (in shares)</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_EntityCommonStockSharesOutstanding" xlink:to="dei_EntityCommonStockSharesOutstanding-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_AccountsReceivableMember" xlink:label="us-gaap_AccountsReceivableMember" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_AccountsReceivableMember-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Accounts Receivable [Member]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AccountsReceivableMember" xlink:to="us-gaap_AccountsReceivableMember-label" xlink:type="arc"/>
    <link:loc xlink:href="dsgx-20200131.xsd#dsgx_OtherReceivablesTextBlock" xlink:label="dsgx_OtherReceivablesTextBlock" xlink:type="locator"/>
    <link:label xlink:label="dsgx_OtherReceivablesTextBlock-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Other Receivables [Text Block]</link:label>
    <link:label xlink:label="dsgx_OtherReceivablesTextBlock-label" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xml:lang="en-US">The entire disclosure for other receivables.</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dsgx_OtherReceivablesTextBlock" xlink:to="dsgx_OtherReceivablesTextBlock-label" xlink:type="arc"/>
    <link:loc xlink:href="dsgx-20200131.xsd#dsgx_OtherReceivablesTableTextBlock" xlink:label="dsgx_OtherReceivablesTableTextBlock" xlink:type="locator"/>
    <link:label xlink:label="dsgx_OtherReceivablesTableTextBlock-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Other Receivables [Table Text Block]</link:label>
    <link:label xlink:label="dsgx_OtherReceivablesTableTextBlock-label" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xml:lang="en-US">Schedule of other receivables.</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dsgx_OtherReceivablesTableTextBlock" xlink:to="dsgx_OtherReceivablesTableTextBlock-label" xlink:type="arc"/>
    <link:loc xlink:href="dsgx-20200131.xsd#dsgx_AmountsRecoverableFromFundsHeldInEscrow" xlink:label="dsgx_AmountsRecoverableFromFundsHeldInEscrow" xlink:type="locator"/>
    <link:label xlink:label="dsgx_AmountsRecoverableFromFundsHeldInEscrow-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">dsgx_AmountsRecoverableFromFundsHeldInEscrow</link:label>
    <link:label xlink:label="dsgx_AmountsRecoverableFromFundsHeldInEscrow-label" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Amounts Recoverable from Funds Held in Escrow</link:label>
    <link:label xlink:label="dsgx_AmountsRecoverableFromFundsHeldInEscrow-label" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xml:lang="en-US">Amount recoverable from funds held In escrow related to acquisitions.</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dsgx_AmountsRecoverableFromFundsHeldInEscrow" xlink:to="dsgx_AmountsRecoverableFromFundsHeldInEscrow-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_IncreaseDecreaseInInventories" xlink:label="us-gaap_IncreaseDecreaseInInventories" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_IncreaseDecreaseInInventories-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_IncreaseDecreaseInInventories</link:label>
    <link:label xlink:label="us-gaap_IncreaseDecreaseInInventories-label" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:type="resource" xml:lang="en-US">Inventory</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncreaseDecreaseInInventories" xlink:to="us-gaap_IncreaseDecreaseInInventories-label" xlink:type="arc"/>
    <link:loc xlink:href="dsgx-20200131.xsd#dsgx_NetWorkingCapitalAdjustmentsReceivableFromAcquisitions" xlink:label="dsgx_NetWorkingCapitalAdjustmentsReceivableFromAcquisitions" xlink:type="locator"/>
    <link:label xlink:label="dsgx_NetWorkingCapitalAdjustmentsReceivableFromAcquisitions-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Net working capital adjustments receivable from acquisitions</link:label>
    <link:label xlink:label="dsgx_NetWorkingCapitalAdjustmentsReceivableFromAcquisitions-label" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xml:lang="en-US">Net working capital adjustments receivable from acquisitions.</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dsgx_NetWorkingCapitalAdjustmentsReceivableFromAcquisitions" xlink:to="dsgx_NetWorkingCapitalAdjustmentsReceivableFromAcquisitions-label" xlink:type="arc"/>
    <link:loc xlink:href="dsgx-20200131.xsd#dsgx_ContractWithCustomerLiabilityIncreaseFromDeferralOfRevenue" xlink:label="dsgx_ContractWithCustomerLiabilityIncreaseFromDeferralOfRevenue" xlink:type="locator"/>
    <link:label xlink:label="dsgx_ContractWithCustomerLiabilityIncreaseFromDeferralOfRevenue-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Deferral of revenue</link:label>
    <link:label xlink:label="dsgx_ContractWithCustomerLiabilityIncreaseFromDeferralOfRevenue-label" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xml:lang="en-US">Amount of increase in obligation to transfer good or service to customer for which consideration from customer has been received or is due, from deferral of revenue.</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dsgx_ContractWithCustomerLiabilityIncreaseFromDeferralOfRevenue" xlink:to="dsgx_ContractWithCustomerLiabilityIncreaseFromDeferralOfRevenue-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ConcentrationRiskByBenchmarkAxis" xlink:label="us-gaap_ConcentrationRiskByBenchmarkAxis" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_ConcentrationRiskByBenchmarkAxis-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Concentration Risk Benchmark [Axis]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ConcentrationRiskByBenchmarkAxis" xlink:to="us-gaap_ConcentrationRiskByBenchmarkAxis-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ConcentrationRiskBenchmarkDomain" xlink:label="us-gaap_ConcentrationRiskBenchmarkDomain" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_ConcentrationRiskBenchmarkDomain-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Concentration Risk Benchmark [Domain]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ConcentrationRiskBenchmarkDomain" xlink:to="us-gaap_ConcentrationRiskBenchmarkDomain-label" xlink:type="arc"/>
    <link:loc xlink:href="dsgx-20200131.xsd#dsgx_ContractWithCustomerAssetAdjustmentForAdoptionOfASC606" xlink:label="dsgx_ContractWithCustomerAssetAdjustmentForAdoptionOfASC606" xlink:type="locator"/>
    <link:label xlink:label="dsgx_ContractWithCustomerAssetAdjustmentForAdoptionOfASC606-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Adjustment for adoption of ASC 606</link:label>
    <link:label xlink:label="dsgx_ContractWithCustomerAssetAdjustmentForAdoptionOfASC606-label" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xml:lang="en-US">Represents the adjustment to the contract asset amount for the adoption of ASC 606.</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dsgx_ContractWithCustomerAssetAdjustmentForAdoptionOfASC606" xlink:to="dsgx_ContractWithCustomerAssetAdjustmentForAdoptionOfASC606-label" xlink:type="arc"/>
    <link:loc xlink:href="dsgx-20200131.xsd#dsgx_ContractWithCustomerContractAssetBeforeAdoptionOfASC606" xlink:label="dsgx_ContractWithCustomerContractAssetBeforeAdoptionOfASC606" xlink:type="locator"/>
    <link:label xlink:label="dsgx_ContractWithCustomerContractAssetBeforeAdoptionOfASC606-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">dsgx_ContractWithCustomerContractAssetBeforeAdoptionOfASC606</link:label>
    <link:label xlink:label="dsgx_ContractWithCustomerContractAssetBeforeAdoptionOfASC606-label" xlink:role="http://www.xbrl.org/2003/role/periodStartLabel" xlink:type="resource" xml:lang="en-US">Balance</link:label>
    <link:label xlink:label="dsgx_ContractWithCustomerContractAssetBeforeAdoptionOfASC606-label" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xml:lang="en-US">Represents the amount of contract asset before the adoption of ASC 606.</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dsgx_ContractWithCustomerContractAssetBeforeAdoptionOfASC606" xlink:to="dsgx_ContractWithCustomerContractAssetBeforeAdoptionOfASC606-label" xlink:type="arc"/>
    <link:loc xlink:href="dsgx-20200131.xsd#dsgx_ContractWithCustomerLiabilityIncreaseDecreaseForForeignExchange" xlink:label="dsgx_ContractWithCustomerLiabilityIncreaseDecreaseForForeignExchange" xlink:type="locator"/>
    <link:label xlink:label="dsgx_ContractWithCustomerLiabilityIncreaseDecreaseForForeignExchange-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Effect of movements in foreign exchange</link:label>
    <link:label xlink:label="dsgx_ContractWithCustomerLiabilityIncreaseDecreaseForForeignExchange-label" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xml:lang="en-US">Amount of increase (decrease) in obligation to transfer good or service to customer for which consideration from customer has been received or is due, from movements in foreign exchange.</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dsgx_ContractWithCustomerLiabilityIncreaseDecreaseForForeignExchange" xlink:to="dsgx_ContractWithCustomerLiabilityIncreaseDecreaseForForeignExchange-label" xlink:type="arc"/>
    <link:loc xlink:href="dsgx-20200131.xsd#dsgx_ProfessionalServicesAndOtherMember" xlink:label="dsgx_ProfessionalServicesAndOtherMember" xlink:type="locator"/>
    <link:label xlink:label="dsgx_ProfessionalServicesAndOtherMember-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Professional Services and Other [Member]</link:label>
    <link:label xlink:label="dsgx_ProfessionalServicesAndOtherMember-label" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xml:lang="en-US">Represents information pertaining to items categorized as Professional Services and Other.</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dsgx_ProfessionalServicesAndOtherMember" xlink:to="dsgx_ProfessionalServicesAndOtherMember-label" xlink:type="arc"/>
    <link:loc xlink:href="dsgx-20200131.xsd#dsgx_ContractWithCustomerAssetIncreaseDecreaseForForeignExchange" xlink:label="dsgx_ContractWithCustomerAssetIncreaseDecreaseForForeignExchange" xlink:type="locator"/>
    <link:label xlink:label="dsgx_ContractWithCustomerAssetIncreaseDecreaseForForeignExchange-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">dsgx_ContractWithCustomerAssetIncreaseDecreaseForForeignExchange</link:label>
    <link:label xlink:label="dsgx_ContractWithCustomerAssetIncreaseDecreaseForForeignExchange-label" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Effect of movements in foreign exchange</link:label>
    <link:label xlink:label="dsgx_ContractWithCustomerAssetIncreaseDecreaseForForeignExchange-label" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xml:lang="en-US">Amount of increase (decrease) to the contract asset during the period attributable to the effect of movements in foreign exchange.</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dsgx_ContractWithCustomerAssetIncreaseDecreaseForForeignExchange" xlink:to="dsgx_ContractWithCustomerAssetIncreaseDecreaseForForeignExchange-label" xlink:type="arc"/>
    <link:loc xlink:href="dsgx-20200131.xsd#dsgx_ContractWithCustomerAssetIncreaseDecreaseForTermLicensesNet" xlink:label="dsgx_ContractWithCustomerAssetIncreaseDecreaseForTermLicensesNet" xlink:type="locator"/>
    <link:label xlink:label="dsgx_ContractWithCustomerAssetIncreaseDecreaseForTermLicensesNet-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Increases as a result of delivered term licenses recognized as revenue during the period, net of amounts transferred to trade receivables</link:label>
    <link:label xlink:label="dsgx_ContractWithCustomerAssetIncreaseDecreaseForTermLicensesNet-label" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xml:lang="en-US">Amount of increase (decrease) in the contract asset during the period from term licenses recognized as revenue during the period, net of amounts transferred to trade receivables.</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dsgx_ContractWithCustomerAssetIncreaseDecreaseForTermLicensesNet" xlink:to="dsgx_ContractWithCustomerAssetIncreaseDecreaseForTermLicensesNet-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_StockIssuedDuringPeriodValueAcquisitions" xlink:label="us-gaap_StockIssuedDuringPeriodValueAcquisitions" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_StockIssuedDuringPeriodValueAcquisitions-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Acquisitions (Note 3)</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_StockIssuedDuringPeriodValueAcquisitions" xlink:to="us-gaap_StockIssuedDuringPeriodValueAcquisitions-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised" xlink:label="us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised</link:label>
    <link:label xlink:label="us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised-label" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:type="resource" xml:lang="en-US">Exercised, shares (in shares)</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised" xlink:to="us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_LineOfCreditFacilityRemainingBorrowingCapacity" xlink:label="us-gaap_LineOfCreditFacilityRemainingBorrowingCapacity" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_LineOfCreditFacilityRemainingBorrowingCapacity-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Available for use</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LineOfCreditFacilityRemainingBorrowingCapacity" xlink:to="us-gaap_LineOfCreditFacilityRemainingBorrowingCapacity-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_TableTextBlock" xlink:label="us-gaap_TableTextBlock" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_TableTextBlock-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_TableTextBlock</link:label>
    <link:label xlink:label="us-gaap_TableTextBlock-label" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Notes Tables</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_TableTextBlock" xlink:to="us-gaap_TableTextBlock-label" xlink:type="arc"/>
    <link:loc xlink:href="dsgx-20200131.xsd#dsgx_VisualComplianceMember" xlink:label="dsgx_VisualComplianceMember" xlink:type="locator"/>
    <link:label xlink:label="dsgx_VisualComplianceMember-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Visual Compliance [Member]</link:label>
    <link:label xlink:label="dsgx_VisualComplianceMember-label" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xml:lang="en-US">Represents information pertaining to the acquisition of substantially all of the assets of the businesses run by the Management Systems Resources Inc. group of companies (collectively, "Visual Compliance"), a provider of software solutions and services to automate customs, trade and fiscal compliance processes including denied and restricted party screening processes and export licensing.</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dsgx_VisualComplianceMember" xlink:to="dsgx_VisualComplianceMember-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity" xlink:label="us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity</link:label>
    <link:label xlink:label="us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity-label" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Line of Credit Facility, Maximum Borrowing Capacity</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity" xlink:to="us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_StockIssuedDuringPeriodValueStockOptionsExercised" xlink:label="us-gaap_StockIssuedDuringPeriodValueStockOptionsExercised" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_StockIssuedDuringPeriodValueStockOptionsExercised-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_StockIssuedDuringPeriodValueStockOptionsExercised</link:label>
    <link:label xlink:label="us-gaap_StockIssuedDuringPeriodValueStockOptionsExercised-label" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Stock options and share units exercised</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_StockIssuedDuringPeriodValueStockOptionsExercised" xlink:to="us-gaap_StockIssuedDuringPeriodValueStockOptionsExercised-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_LineOfCreditFacilityUnusedCapacityCommitmentFeePercentage" xlink:label="us-gaap_LineOfCreditFacilityUnusedCapacityCommitmentFeePercentage" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_LineOfCreditFacilityUnusedCapacityCommitmentFeePercentage-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_LineOfCreditFacilityUnusedCapacityCommitmentFeePercentage</link:label>
    <link:label xlink:label="us-gaap_LineOfCreditFacilityUnusedCapacityCommitmentFeePercentage-label" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Line of Credit Facility, Unused Capacity, Commitment Fee Percentage</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LineOfCreditFacilityUnusedCapacityCommitmentFeePercentage" xlink:to="us-gaap_LineOfCreditFacilityUnusedCapacityCommitmentFeePercentage-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ProvisionForDoubtfulAccounts" xlink:label="us-gaap_ProvisionForDoubtfulAccounts" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_ProvisionForDoubtfulAccounts-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_ProvisionForDoubtfulAccounts</link:label>
    <link:label xlink:label="us-gaap_ProvisionForDoubtfulAccounts-label" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Accounts Receivable, Credit Loss Expense (Reversal)</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ProvisionForDoubtfulAccounts" xlink:to="us-gaap_ProvisionForDoubtfulAccounts-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Granted, shares (in shares)</link:label>
    <link:label xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross-label" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Share-based Compensation Arrangement by Share-based Payment Award, Options, Grants in Period, Gross</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresInPeriod" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresInPeriod" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresInPeriod-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresInPeriod</link:label>
    <link:label xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresInPeriod-label" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:type="resource" xml:lang="en-US">Forfeited, shares (in shares)</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresInPeriod" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresInPeriod-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_SellingAndMarketingExpense" xlink:label="us-gaap_SellingAndMarketingExpense" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_SellingAndMarketingExpense-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Sales and marketing</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_SellingAndMarketingExpense" xlink:to="us-gaap_SellingAndMarketingExpense-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_StockIssuedDuringPeriodSharesNewIssues" xlink:label="us-gaap_StockIssuedDuringPeriodSharesNewIssues" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_StockIssuedDuringPeriodSharesNewIssues-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Issuance of common shares (in shares)</link:label>
    <link:label xlink:label="us-gaap_StockIssuedDuringPeriodSharesNewIssues-label" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Stock Issued During Period, Shares, New Issues</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_StockIssuedDuringPeriodSharesNewIssues" xlink:to="us-gaap_StockIssuedDuringPeriodSharesNewIssues-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_LiabilitiesAndStockholdersEquity" xlink:label="us-gaap_LiabilitiesAndStockholdersEquity" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_LiabilitiesAndStockholdersEquity-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_LiabilitiesAndStockholdersEquity</link:label>
    <link:label xlink:label="us-gaap_LiabilitiesAndStockholdersEquity-label" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:type="resource" xml:lang="en-US"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LiabilitiesAndStockholdersEquity" xlink:to="us-gaap_LiabilitiesAndStockholdersEquity-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_StockIssuedDuringPeriodValueNewIssues" xlink:label="us-gaap_StockIssuedDuringPeriodValueNewIssues" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_StockIssuedDuringPeriodValueNewIssues-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Issuance of common shares, net of issuance costs (Note 15)</link:label>
    <link:label xlink:label="us-gaap_StockIssuedDuringPeriodValueNewIssues-label" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Stock Issued During Period, Value, New Issues</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_StockIssuedDuringPeriodValueNewIssues" xlink:to="us-gaap_StockIssuedDuringPeriodValueNewIssues-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.sec.gov/country/2017/country-2017-01-31.xsd#country_US" xlink:label="country_US" xlink:type="locator"/>
    <link:label xlink:label="country_US-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">UNITED STATES</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="country_US" xlink:to="country_US-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_RetainedEarningsAccumulatedDeficit" xlink:label="us-gaap_RetainedEarningsAccumulatedDeficit" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_RetainedEarningsAccumulatedDeficit-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Accumulated deficit</link:label>
    <link:label xlink:label="us-gaap_RetainedEarningsAccumulatedDeficit-label" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Retained Earnings (Accumulated Deficit), Ending Balance</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_RetainedEarningsAccumulatedDeficit" xlink:to="us-gaap_RetainedEarningsAccumulatedDeficit-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ResearchAndDevelopmentExpense" xlink:label="us-gaap_ResearchAndDevelopmentExpense" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_ResearchAndDevelopmentExpense-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Research and development</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ResearchAndDevelopmentExpense" xlink:to="us-gaap_ResearchAndDevelopmentExpense-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax" xlink:label="us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Accumulated other comprehensive loss</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax" xlink:to="us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_DebtDisclosureTextBlock" xlink:label="us-gaap_DebtDisclosureTextBlock" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_DebtDisclosureTextBlock-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Debt Disclosure [Text Block]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DebtDisclosureTextBlock" xlink:to="us-gaap_DebtDisclosureTextBlock-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_InterestExpense" xlink:label="us-gaap_InterestExpense" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_InterestExpense-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_InterestExpense</link:label>
    <link:label xlink:label="us-gaap_InterestExpense-label" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:type="resource" xml:lang="en-US">INTEREST EXPENSE</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_InterestExpense" xlink:to="us-gaap_InterestExpense-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_DisclosureTextBlockAbstract" xlink:label="us-gaap_DisclosureTextBlockAbstract" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_DisclosureTextBlockAbstract-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_DisclosureTextBlockAbstract</link:label>
    <link:label xlink:label="us-gaap_DisclosureTextBlockAbstract-label" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Notes to Financial Statements</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DisclosureTextBlockAbstract" xlink:to="us-gaap_DisclosureTextBlockAbstract-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_OtherNoncashIncomeExpense" xlink:label="us-gaap_OtherNoncashIncomeExpense" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_OtherNoncashIncomeExpense-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_OtherNoncashIncomeExpense</link:label>
    <link:label xlink:label="us-gaap_OtherNoncashIncomeExpense-label" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:type="resource" xml:lang="en-US">Other non-cash operating activities</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OtherNoncashIncomeExpense" xlink:to="us-gaap_OtherNoncashIncomeExpense-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_InventoryDisclosureTextBlock" xlink:label="us-gaap_InventoryDisclosureTextBlock" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_InventoryDisclosureTextBlock-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Inventory Disclosure [Text Block]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_InventoryDisclosureTextBlock" xlink:to="us-gaap_InventoryDisclosureTextBlock-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_SubsequentEventMember" xlink:label="us-gaap_SubsequentEventMember" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_SubsequentEventMember-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Subsequent Event [Member]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_SubsequentEventMember" xlink:to="us-gaap_SubsequentEventMember-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_OperatingLeaseLiabilityNoncurrent" xlink:label="us-gaap_OperatingLeaseLiabilityNoncurrent" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_OperatingLeaseLiabilityNoncurrent-label" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:type="resource" xml:lang="en-US">Long-term</link:label>
    <link:label xlink:label="us-gaap_OperatingLeaseLiabilityNoncurrent-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_OperatingLeaseLiabilityNoncurrent</link:label>
    <link:label xlink:label="us-gaap_OperatingLeaseLiabilityNoncurrent-label" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">LEASE OBLIGATIONS (Note 13)</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OperatingLeaseLiabilityNoncurrent" xlink:to="us-gaap_OperatingLeaseLiabilityNoncurrent-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_OperatingLeaseLiability" xlink:label="us-gaap_OperatingLeaseLiability" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_OperatingLeaseLiability-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Total lease obligations</link:label>
    <link:label xlink:label="us-gaap_OperatingLeaseLiability-label" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Operating Lease, Liability, Total</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OperatingLeaseLiability" xlink:to="us-gaap_OperatingLeaseLiability-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_SubsequentEventTypeAxis" xlink:label="us-gaap_SubsequentEventTypeAxis" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_SubsequentEventTypeAxis-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Subsequent Event Type [Axis]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_SubsequentEventTypeAxis" xlink:to="us-gaap_SubsequentEventTypeAxis-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_OperatingLeaseLiabilityCurrent" xlink:label="us-gaap_OperatingLeaseLiabilityCurrent" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_OperatingLeaseLiabilityCurrent-label" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:type="resource" xml:lang="en-US">Current</link:label>
    <link:label xlink:label="us-gaap_OperatingLeaseLiabilityCurrent-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Lease obligations (Note 13)</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OperatingLeaseLiabilityCurrent" xlink:to="us-gaap_OperatingLeaseLiabilityCurrent-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_SubsequentEventTypeDomain" xlink:label="us-gaap_SubsequentEventTypeDomain" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_SubsequentEventTypeDomain-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Subsequent Event Type [Domain]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_SubsequentEventTypeDomain" xlink:to="us-gaap_SubsequentEventTypeDomain-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_SubsequentEventsTextBlock" xlink:label="us-gaap_SubsequentEventsTextBlock" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_SubsequentEventsTextBlock-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Subsequent Events [Text Block]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_SubsequentEventsTextBlock" xlink:to="us-gaap_SubsequentEventsTextBlock-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_OperatingLeaseRightOfUseAsset" xlink:label="us-gaap_OperatingLeaseRightOfUseAsset" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_OperatingLeaseRightOfUseAsset-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">RIGHT-OF-USE ASSETS (Note 13)</link:label>
    <link:label xlink:label="us-gaap_OperatingLeaseRightOfUseAsset-label" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Operating Lease, Right-of-Use Asset</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OperatingLeaseRightOfUseAsset" xlink:to="us-gaap_OperatingLeaseRightOfUseAsset-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue</link:label>
    <link:label xlink:label="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue-label" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:type="resource" xml:lang="en-US">Total lease payments</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue" xlink:to="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_LesseeOperatingLeaseLiabilityUndiscountedExcessAmount" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityUndiscountedExcessAmount" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_LesseeOperatingLeaseLiabilityUndiscountedExcessAmount-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_LesseeOperatingLeaseLiabilityUndiscountedExcessAmount</link:label>
    <link:label xlink:label="us-gaap_LesseeOperatingLeaseLiabilityUndiscountedExcessAmount-label" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:type="resource" xml:lang="en-US">Less: imputed interest</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LesseeOperatingLeaseLiabilityUndiscountedExcessAmount" xlink:to="us-gaap_LesseeOperatingLeaseLiabilityUndiscountedExcessAmount-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_DeferredIncomeTaxExpenseBenefit" xlink:label="us-gaap_DeferredIncomeTaxExpenseBenefit" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_DeferredIncomeTaxExpenseBenefit-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Deferred</link:label>
    <link:label xlink:label="us-gaap_DeferredIncomeTaxExpenseBenefit-label" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Deferred tax expense</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DeferredIncomeTaxExpenseBenefit" xlink:to="us-gaap_DeferredIncomeTaxExpenseBenefit-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseAfterYearFive" xlink:label="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseAfterYearFive" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseAfterYearFive-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseAfterYearFive</link:label>
    <link:label xlink:label="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseAfterYearFive-label" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Finite-Lived Intangible Assets, Amortization Expense, after Year Five</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseAfterYearFive" xlink:to="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseAfterYearFive-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearThree" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearThree" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearThree-label" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:type="resource" xml:lang="en-US">2023</link:label>
    <link:label xlink:label="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearThree-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearThree</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearThree" xlink:to="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearThree-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFour" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFour" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFour-label" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:type="resource" xml:lang="en-US">2024</link:label>
    <link:label xlink:label="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFour-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFour</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFour" xlink:to="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFour-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFive" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFive" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFive-label" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:type="resource" xml:lang="en-US">2025</link:label>
    <link:label xlink:label="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFive-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFive</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFive" xlink:to="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFive-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueAfterYearFive" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueAfterYearFive" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueAfterYearFive-label" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:type="resource" xml:lang="en-US">2026 and thereafter</link:label>
    <link:label xlink:label="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueAfterYearFive-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueAfterYearFive</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueAfterYearFive" xlink:to="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueAfterYearFive-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo" xlink:label="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo</link:label>
    <link:label xlink:label="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo-label" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Finite-Lived Intangible Assets, Amortization Expense, Year Two</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo" xlink:to="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_FairValueOfFinancialInstrumentsPolicy" xlink:label="us-gaap_FairValueOfFinancialInstrumentsPolicy" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_FairValueOfFinancialInstrumentsPolicy-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Fair Value of Financial Instruments, Policy [Policy Text Block]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FairValueOfFinancialInstrumentsPolicy" xlink:to="us-gaap_FairValueOfFinancialInstrumentsPolicy-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearThree" xlink:label="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearThree" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearThree-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearThree</link:label>
    <link:label xlink:label="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearThree-label" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Finite-Lived Intangible Assets, Amortization Expense, Year Three</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearThree" xlink:to="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearThree-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFour" xlink:label="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFour" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFour-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFour</link:label>
    <link:label xlink:label="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFour-label" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Finite-Lived Intangible Assets, Amortization Expense, Year Four</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFour" xlink:to="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFour-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths-label" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:type="resource" xml:lang="en-US">2021</link:label>
    <link:label xlink:label="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths" xlink:to="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFive" xlink:label="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFive" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFive-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFive</link:label>
    <link:label xlink:label="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFive-label" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Finite-Lived Intangible Assets, Amortization Expense, Year Five</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFive" xlink:to="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFive-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearTwo" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearTwo" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearTwo-label" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:type="resource" xml:lang="en-US">2022</link:label>
    <link:label xlink:label="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearTwo-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearTwo</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearTwo" xlink:to="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearTwo-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths" xlink:label="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths</link:label>
    <link:label xlink:label="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths-label" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Finite-Lived Intangible Assets, Amortization Expense, Next Twelve Months</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths" xlink:to="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ScheduleOfAcquiredFiniteLivedIntangibleAssetsByMajorClassTextBlock" xlink:label="us-gaap_ScheduleOfAcquiredFiniteLivedIntangibleAssetsByMajorClassTextBlock" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_ScheduleOfAcquiredFiniteLivedIntangibleAssetsByMajorClassTextBlock-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Schedule of Acquired Finite-Lived Intangible Assets by Major Class [Table Text Block]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ScheduleOfAcquiredFiniteLivedIntangibleAssetsByMajorClassTextBlock" xlink:to="us-gaap_ScheduleOfAcquiredFiniteLivedIntangibleAssetsByMajorClassTextBlock-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ForeignCurrencyTransactionsAndTranslationsPolicyTextBlock" xlink:label="us-gaap_ForeignCurrencyTransactionsAndTranslationsPolicyTextBlock" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_ForeignCurrencyTransactionsAndTranslationsPolicyTextBlock-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Foreign Currency Transactions and Translations Policy [Policy Text Block]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ForeignCurrencyTransactionsAndTranslationsPolicyTextBlock" xlink:to="us-gaap_ForeignCurrencyTransactionsAndTranslationsPolicyTextBlock-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_OtherAssetsNoncurrent" xlink:label="us-gaap_OtherAssetsNoncurrent" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_OtherAssetsNoncurrent-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">OTHER LONG-TERM ASSETS (Note 19)</link:label>
    <link:label xlink:label="us-gaap_OtherAssetsNoncurrent-label" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Other Assets, Noncurrent, Total</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OtherAssetsNoncurrent" xlink:to="us-gaap_OtherAssetsNoncurrent-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_LesseeOperatingLeaseLiabilityMaturityTableTextBlock" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityMaturityTableTextBlock" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_LesseeOperatingLeaseLiabilityMaturityTableTextBlock-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Lessee, Operating Lease, Liability, Maturity [Table Text Block]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LesseeOperatingLeaseLiabilityMaturityTableTextBlock" xlink:to="us-gaap_LesseeOperatingLeaseLiabilityMaturityTableTextBlock-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ShareBasedCompensation" xlink:label="us-gaap_ShareBasedCompensation" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_ShareBasedCompensation-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Stock-based compensation expense (Note 17)</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensation" xlink:to="us-gaap_ShareBasedCompensation-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_LesseeLeasesPolicyTextBlock" xlink:label="us-gaap_LesseeLeasesPolicyTextBlock" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_LesseeLeasesPolicyTextBlock-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Lessee, Leases [Policy Text Block]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LesseeLeasesPolicyTextBlock" xlink:to="us-gaap_LesseeLeasesPolicyTextBlock-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_BusinessCombinationsPolicy" xlink:label="us-gaap_BusinessCombinationsPolicy" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_BusinessCombinationsPolicy-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Business Combinations Policy [Policy Text Block]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_BusinessCombinationsPolicy" xlink:to="us-gaap_BusinessCombinationsPolicy-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetUsefulLife" xlink:label="us-gaap_FiniteLivedIntangibleAssetUsefulLife" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_FiniteLivedIntangibleAssetUsefulLife-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Acquired intangible assets estimated useful lives (Year)</link:label>
    <link:label xlink:label="us-gaap_FiniteLivedIntangibleAssetUsefulLife-label" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Finite-Lived Intangible Asset, Useful Life</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FiniteLivedIntangibleAssetUsefulLife" xlink:to="us-gaap_FiniteLivedIntangibleAssetUsefulLife-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_EarningsPerSharePolicyTextBlock" xlink:label="us-gaap_EarningsPerSharePolicyTextBlock" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_EarningsPerSharePolicyTextBlock-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Earnings Per Share, Policy [Policy Text Block]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_EarningsPerSharePolicyTextBlock" xlink:to="us-gaap_EarningsPerSharePolicyTextBlock-label" xlink:type="arc"/>
    <link:loc xlink:href="dsgx-20200131.xsd#dsgx_SeniorSecuredCreditFacilityMember" xlink:label="dsgx_SeniorSecuredCreditFacilityMember" xlink:type="locator"/>
    <link:label xlink:label="dsgx_SeniorSecuredCreditFacilityMember-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Senior Secured Credit Facility [Member]</link:label>
    <link:label xlink:label="dsgx_SeniorSecuredCreditFacilityMember-label" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xml:lang="en-US">Represents information pertaining to the senior secured credit facility.</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dsgx_SeniorSecuredCreditFacilityMember" xlink:to="dsgx_SeniorSecuredCreditFacilityMember-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_IncomeTaxPolicyTextBlock" xlink:label="us-gaap_IncomeTaxPolicyTextBlock" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_IncomeTaxPolicyTextBlock-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Income Tax, Policy [Policy Text Block]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncomeTaxPolicyTextBlock" xlink:to="us-gaap_IncomeTaxPolicyTextBlock-label" xlink:type="arc"/>
    <link:loc xlink:href="dsgx-20200131.xsd#dsgx_CanadaOrUsPrimeRateBaOrLiborMember" xlink:label="dsgx_CanadaOrUsPrimeRateBaOrLiborMember" xlink:type="locator"/>
    <link:label xlink:label="dsgx_CanadaOrUsPrimeRateBaOrLiborMember-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Canada or US Prime Rate, BA, or LIBOR [Member]</link:label>
    <link:label xlink:label="dsgx_CanadaOrUsPrimeRateBaOrLiborMember-label" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xml:lang="en-US">Represents information pertaining to the Canada or US prime rate, Bankers' Acceptance (BA) or London Interbank Offered Rate (LIBOR).</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dsgx_CanadaOrUsPrimeRateBaOrLiborMember" xlink:to="dsgx_CanadaOrUsPrimeRateBaOrLiborMember-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock" xlink:label="us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Schedule of Finite-Lived Intangible Assets [Table Text Block]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock" xlink:to="us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ResearchDevelopmentAndComputerSoftwarePolicyTextBlock" xlink:label="us-gaap_ResearchDevelopmentAndComputerSoftwarePolicyTextBlock" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_ResearchDevelopmentAndComputerSoftwarePolicyTextBlock-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Research, Development, and Computer Software, Policy [Policy Text Block]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ResearchDevelopmentAndComputerSoftwarePolicyTextBlock" xlink:to="us-gaap_ResearchDevelopmentAndComputerSoftwarePolicyTextBlock-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_LesseeOperatingLeaseRenewalTerm" xlink:label="us-gaap_LesseeOperatingLeaseRenewalTerm" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_LesseeOperatingLeaseRenewalTerm-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_LesseeOperatingLeaseRenewalTerm</link:label>
    <link:label xlink:label="us-gaap_LesseeOperatingLeaseRenewalTerm-label" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Lessee, Operating Lease, Renewal Term</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LesseeOperatingLeaseRenewalTerm" xlink:to="us-gaap_LesseeOperatingLeaseRenewalTerm-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_Depreciation" xlink:label="us-gaap_Depreciation" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_Depreciation-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Depreciation</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_Depreciation" xlink:to="us-gaap_Depreciation-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_IntangibleAssetsDisclosureTextBlock" xlink:label="us-gaap_IntangibleAssetsDisclosureTextBlock" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_IntangibleAssetsDisclosureTextBlock-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Intangible Assets Disclosure [Text Block]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IntangibleAssetsDisclosureTextBlock" xlink:to="us-gaap_IntangibleAssetsDisclosureTextBlock-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_DeferredCompensationSharebasedArrangementsLiabilityCurrentAndNoncurrent" xlink:label="us-gaap_DeferredCompensationSharebasedArrangementsLiabilityCurrentAndNoncurrent" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_DeferredCompensationSharebasedArrangementsLiabilityCurrentAndNoncurrent-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_DeferredCompensationSharebasedArrangementsLiabilityCurrentAndNoncurrent</link:label>
    <link:label xlink:label="us-gaap_DeferredCompensationSharebasedArrangementsLiabilityCurrentAndNoncurrent-label" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Deferred Compensation Share-based Arrangements, Liability, Current and Noncurrent</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DeferredCompensationSharebasedArrangementsLiabilityCurrentAndNoncurrent" xlink:to="us-gaap_DeferredCompensationSharebasedArrangementsLiabilityCurrentAndNoncurrent-label" xlink:type="arc"/>
    <link:loc xlink:href="dsgx-20200131.xsd#dsgx_RevolvingOperatingCreditFacilityMember" xlink:label="dsgx_RevolvingOperatingCreditFacilityMember" xlink:type="locator"/>
    <link:label xlink:label="dsgx_RevolvingOperatingCreditFacilityMember-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Revolving Operating Credit Facility [Member]</link:label>
    <link:label xlink:label="dsgx_RevolvingOperatingCreditFacilityMember-label" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xml:lang="en-US">Represents information pertaining to a revolving operating credit facility for general corporate purposes including the financing of ongoing working capital needs and acquisitions.</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dsgx_RevolvingOperatingCreditFacilityMember" xlink:to="dsgx_RevolvingOperatingCreditFacilityMember-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_SharesIssuedPricePerShare" xlink:label="us-gaap_SharesIssuedPricePerShare" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_SharesIssuedPricePerShare-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_SharesIssuedPricePerShare</link:label>
    <link:label xlink:label="us-gaap_SharesIssuedPricePerShare-label" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Shares Issued, Price Per Share</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_SharesIssuedPricePerShare" xlink:to="us-gaap_SharesIssuedPricePerShare-label" xlink:type="arc"/>
    <link:loc xlink:href="dsgx-20200131.xsd#dsgx_LineOfCreditBorrowingsToSupportForeignExchangeAndInterestRateHedgingMember" xlink:label="dsgx_LineOfCreditBorrowingsToSupportForeignExchangeAndInterestRateHedgingMember" xlink:type="locator"/>
    <link:label xlink:label="dsgx_LineOfCreditBorrowingsToSupportForeignExchangeAndInterestRateHedgingMember-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Line of Credit Borrowings to Support Foreign Exchange and Interest Rate Hedging [Member]</link:label>
    <link:label xlink:label="dsgx_LineOfCreditBorrowingsToSupportForeignExchangeAndInterestRateHedgingMember-label" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xml:lang="en-US">Represents information pertaining to line of credit borrowings to support foreign exchange and interest rate hedging.</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dsgx_LineOfCreditBorrowingsToSupportForeignExchangeAndInterestRateHedgingMember" xlink:to="dsgx_LineOfCreditBorrowingsToSupportForeignExchangeAndInterestRateHedgingMember-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_AssetsCurrent" xlink:label="us-gaap_AssetsCurrent" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_AssetsCurrent-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_AssetsCurrent</link:label>
    <link:label xlink:label="us-gaap_AssetsCurrent-label" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:type="resource" xml:lang="en-US"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AssetsCurrent" xlink:to="us-gaap_AssetsCurrent-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ShareBasedCompensationOptionAndIncentivePlansPolicy" xlink:label="us-gaap_ShareBasedCompensationOptionAndIncentivePlansPolicy" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_ShareBasedCompensationOptionAndIncentivePlansPolicy-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Share-based Payment Arrangement [Policy Text Block]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationOptionAndIncentivePlansPolicy" xlink:to="us-gaap_ShareBasedCompensationOptionAndIncentivePlansPolicy-label" xlink:type="arc"/>
    <link:loc xlink:href="dsgx-20200131.xsd#dsgx_CashSettledRestrictedShareUnitsNonvestedTotalCompensationCostNotYetRecognized" xlink:label="dsgx_CashSettledRestrictedShareUnitsNonvestedTotalCompensationCostNotYetRecognized" xlink:type="locator"/>
    <link:label xlink:label="dsgx_CashSettledRestrictedShareUnitsNonvestedTotalCompensationCostNotYetRecognized-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">dsgx_CashSettledRestrictedShareUnitsNonvestedTotalCompensationCostNotYetRecognized</link:label>
    <link:label xlink:label="dsgx_CashSettledRestrictedShareUnitsNonvestedTotalCompensationCostNotYetRecognized-label" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Cash Settled Restricted Share Units Nonvested Total Compensation Cost Not Yet Recognized</link:label>
    <link:label xlink:label="dsgx_CashSettledRestrictedShareUnitsNonvestedTotalCompensationCostNotYetRecognized-label" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xml:lang="en-US">The cash settled restricted share units nonvested, total compensation cost not yet recognized.</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dsgx_CashSettledRestrictedShareUnitsNonvestedTotalCompensationCostNotYetRecognized" xlink:to="dsgx_CashSettledRestrictedShareUnitsNonvestedTotalCompensationCostNotYetRecognized-label" xlink:type="arc"/>
    <link:loc xlink:href="dsgx-20200131.xsd#dsgx_ScheduleOfFutureMinimumRentalPaymentsForLeasesTableTextBlock" xlink:label="dsgx_ScheduleOfFutureMinimumRentalPaymentsForLeasesTableTextBlock" xlink:type="locator"/>
    <link:label xlink:label="dsgx_ScheduleOfFutureMinimumRentalPaymentsForLeasesTableTextBlock-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Schedule of Future Minimum Rental Payments for Leases [Table Text Block]</link:label>
    <link:label xlink:label="dsgx_ScheduleOfFutureMinimumRentalPaymentsForLeasesTableTextBlock-label" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xml:lang="en-US">Tabular disclosure of future minimum payments required in the aggregate and for each of the five succeeding fiscal years for operating and capital leases having initial or remaining noncancelable lease terms in excess of one year and the total minimum rentals to be received in the future under noncancelable subleases as of the balance sheet date.</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dsgx_ScheduleOfFutureMinimumRentalPaymentsForLeasesTableTextBlock" xlink:to="dsgx_ScheduleOfFutureMinimumRentalPaymentsForLeasesTableTextBlock-label" xlink:type="arc"/>
    <link:loc xlink:href="dsgx-20200131.xsd#dsgx_CapitalLeasesMember" xlink:label="dsgx_CapitalLeasesMember" xlink:type="locator"/>
    <link:label xlink:label="dsgx_CapitalLeasesMember-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Capital Leases [Member]</link:label>
    <link:label xlink:label="dsgx_CapitalLeasesMember-label" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xml:lang="en-US">Obligations under capital leases.</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dsgx_CapitalLeasesMember" xlink:to="dsgx_CapitalLeasesMember-label" xlink:type="arc"/>
    <link:loc xlink:href="dsgx-20200131.xsd#dsgx_OperatingLeasesMember" xlink:label="dsgx_OperatingLeasesMember" xlink:type="locator"/>
    <link:label xlink:label="dsgx_OperatingLeasesMember-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Operating Leases [Member]</link:label>
    <link:label xlink:label="dsgx_OperatingLeasesMember-label" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xml:lang="en-US">Obligations under operating leases.</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dsgx_OperatingLeasesMember" xlink:to="dsgx_OperatingLeasesMember-label" xlink:type="arc"/>
    <link:loc xlink:href="dsgx-20200131.xsd#dsgx_ShareCapitalTextBlock" xlink:label="dsgx_ShareCapitalTextBlock" xlink:type="locator"/>
    <link:label xlink:label="dsgx_ShareCapitalTextBlock-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Share Capital [Text Block]</link:label>
    <link:label xlink:label="dsgx_ShareCapitalTextBlock-label" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xml:lang="en-US">Disclosure and information regarding share capital.</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dsgx_ShareCapitalTextBlock" xlink:to="dsgx_ShareCapitalTextBlock-label" xlink:type="arc"/>
    <link:loc xlink:href="dsgx-20200131.xsd#dsgx_ProceedsFromIssuanceOfCommonStockNet" xlink:label="dsgx_ProceedsFromIssuanceOfCommonStockNet" xlink:type="locator"/>
    <link:label xlink:label="dsgx_ProceedsFromIssuanceOfCommonStockNet-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">dsgx_ProceedsFromIssuanceOfCommonStockNet</link:label>
    <link:label xlink:label="dsgx_ProceedsFromIssuanceOfCommonStockNet-label" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Proceeds from Issuance of Common Stock, Net</link:label>
    <link:label xlink:label="dsgx_ProceedsFromIssuanceOfCommonStockNet-label" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xml:lang="en-US">The cash inflow from the additional capital contribution to the entity, net of expenses associated with the offering.</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dsgx_ProceedsFromIssuanceOfCommonStockNet" xlink:to="dsgx_ProceedsFromIssuanceOfCommonStockNet-label" xlink:type="arc"/>
    <link:loc xlink:href="dsgx-20200131.xsd#dsgx_OverallotmentOption" xlink:label="dsgx_OverallotmentOption" xlink:type="locator"/>
    <link:label xlink:label="dsgx_OverallotmentOption-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">dsgx_OverallotmentOption</link:label>
    <link:label xlink:label="dsgx_OverallotmentOption-label" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Over-Allotment Option</link:label>
    <link:label xlink:label="dsgx_OverallotmentOption-label" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xml:lang="en-US">Percentage of rights given to the underwriter to sell additional shares over the initial allotment.</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dsgx_OverallotmentOption" xlink:to="dsgx_OverallotmentOption-label" xlink:type="arc"/>
    <link:loc xlink:href="dsgx-20200131.xsd#dsgx_StockIssuedDuringPeriodSharesOptionsAndShareUnitsExercised" xlink:label="dsgx_StockIssuedDuringPeriodSharesOptionsAndShareUnitsExercised" xlink:type="locator"/>
    <link:label xlink:label="dsgx_StockIssuedDuringPeriodSharesOptionsAndShareUnitsExercised-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Stock options and share units exercised (in shares)</link:label>
    <link:label xlink:label="dsgx_StockIssuedDuringPeriodSharesOptionsAndShareUnitsExercised-label" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xml:lang="en-US">Represents the number of shares issued from the exercise of stock options and share units.</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dsgx_StockIssuedDuringPeriodSharesOptionsAndShareUnitsExercised" xlink:to="dsgx_StockIssuedDuringPeriodSharesOptionsAndShareUnitsExercised-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_CommonStockValue" xlink:label="us-gaap_CommonStockValue" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_CommonStockValue-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Common shares &#8211; unlimited shares authorized; Shares issued and outstanding totaled 84,156,316 at January 31, 2020 (January 31, 2019 &#8211; 76,864,866)</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CommonStockValue" xlink:to="us-gaap_CommonStockValue-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract" xlink:label="us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Adjustments to reconcile net income to cash provided by operating activities:</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract" xlink:to="us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract-label" xlink:type="arc"/>
    <link:loc xlink:href="dsgx-20200131.xsd#dsgx_StockOptionsTreasuryStockMethodMember" xlink:label="dsgx_StockOptionsTreasuryStockMethodMember" xlink:type="locator"/>
    <link:label xlink:label="dsgx_StockOptionsTreasuryStockMethodMember-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Stock Options, Treasury Stock Method [Member]</link:label>
    <link:label xlink:label="dsgx_StockOptionsTreasuryStockMethodMember-label" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xml:lang="en-US">Represents the treasury stock.</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dsgx_StockOptionsTreasuryStockMethodMember" xlink:to="dsgx_StockOptionsTreasuryStockMethodMember-label" xlink:type="arc"/>
    <link:loc xlink:href="dsgx-20200131.xsd#dsgx_ShareholderapprovedStockOptionPlanMember" xlink:label="dsgx_ShareholderapprovedStockOptionPlanMember" xlink:type="locator"/>
    <link:label xlink:label="dsgx_ShareholderapprovedStockOptionPlanMember-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Shareholder-Approved Stock Option Plan [Member]</link:label>
    <link:label xlink:label="dsgx_ShareholderapprovedStockOptionPlanMember-label" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xml:lang="en-US">Represents Company's shareholder approved stock option plan.</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dsgx_ShareholderapprovedStockOptionPlanMember" xlink:to="dsgx_ShareholderapprovedStockOptionPlanMember-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_CommonStockSharesIssued" xlink:label="us-gaap_CommonStockSharesIssued" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_CommonStockSharesIssued-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Common shares, shares issued (in shares)</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CommonStockSharesIssued" xlink:to="us-gaap_CommonStockSharesIssued-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/srt/2019/elts/srt-2019-01-31.xsd#srt_AsiaPacificMember" xlink:label="srt_AsiaPacificMember" xlink:type="locator"/>
    <link:label xlink:label="srt_AsiaPacificMember-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Asia Pacific [Member]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="srt_AsiaPacificMember" xlink:to="srt_AsiaPacificMember-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_RevenueFromContractWithCustomerPolicyTextBlock" xlink:label="us-gaap_RevenueFromContractWithCustomerPolicyTextBlock" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_RevenueFromContractWithCustomerPolicyTextBlock-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Revenue from Contract with Customer [Policy Text Block]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_RevenueFromContractWithCustomerPolicyTextBlock" xlink:to="us-gaap_RevenueFromContractWithCustomerPolicyTextBlock-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_DeferredTaxAssetsValuationAllowance" xlink:label="us-gaap_DeferredTaxAssetsValuationAllowance" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_DeferredTaxAssetsValuationAllowance-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_DeferredTaxAssetsValuationAllowance</link:label>
    <link:label xlink:label="us-gaap_DeferredTaxAssetsValuationAllowance-label" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:type="resource" xml:lang="en-US">Valuation allowance</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DeferredTaxAssetsValuationAllowance" xlink:to="us-gaap_DeferredTaxAssetsValuationAllowance-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/srt/2019/elts/srt-2019-01-31.xsd#srt_RangeMember" xlink:label="srt_RangeMember" xlink:type="locator"/>
    <link:label xlink:label="srt_RangeMember-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Statistical Measurement [Domain]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="srt_RangeMember" xlink:to="srt_RangeMember-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_OperatingLeasePayments" xlink:label="us-gaap_OperatingLeasePayments" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_OperatingLeasePayments-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Operating cash outflows from operating leases included in measurement of lease liabilities</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OperatingLeasePayments" xlink:to="us-gaap_OperatingLeasePayments-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/srt/2019/elts/srt-2019-01-31.xsd#srt_MaximumMember" xlink:label="srt_MaximumMember" xlink:type="locator"/>
    <link:label xlink:label="srt_MaximumMember-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Maximum [Member]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="srt_MaximumMember" xlink:to="srt_MaximumMember-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/srt/2019/elts/srt-2019-01-31.xsd#srt_MinimumMember" xlink:label="srt_MinimumMember" xlink:type="locator"/>
    <link:label xlink:label="srt_MinimumMember-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Minimum [Member]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="srt_MinimumMember" xlink:to="srt_MinimumMember-label" xlink:type="arc"/>
    <link:loc xlink:href="dsgx-20200131.xsd#dsgx_DeferredShareUnitsOutstandingNumber" xlink:label="dsgx_DeferredShareUnitsOutstandingNumber" xlink:type="locator"/>
    <link:label xlink:label="dsgx_DeferredShareUnitsOutstandingNumber-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">dsgx_DeferredShareUnitsOutstandingNumber</link:label>
    <link:label xlink:label="dsgx_DeferredShareUnitsOutstandingNumber-label" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Deferred Share Units Outstanding Number</link:label>
    <link:label xlink:label="dsgx_DeferredShareUnitsOutstandingNumber-label" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xml:lang="en-US">Number of outstanding deferred share units as of the reported date.</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dsgx_DeferredShareUnitsOutstandingNumber" xlink:to="dsgx_DeferredShareUnitsOutstandingNumber-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_OtherAssetsCurrent" xlink:label="us-gaap_OtherAssetsCurrent" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_OtherAssetsCurrent-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Other receivables</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OtherAssetsCurrent" xlink:to="us-gaap_OtherAssetsCurrent-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/srt/2019/elts/srt-2019-01-31.xsd#srt_ProductOrServiceAxis" xlink:label="srt_ProductOrServiceAxis" xlink:type="locator"/>
    <link:label xlink:label="srt_ProductOrServiceAxis-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Product and Service [Axis]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="srt_ProductOrServiceAxis" xlink:to="srt_ProductOrServiceAxis-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/srt/2019/elts/srt-2019-01-31.xsd#srt_ProductsAndServicesDomain" xlink:label="srt_ProductsAndServicesDomain" xlink:type="locator"/>
    <link:label xlink:label="srt_ProductsAndServicesDomain-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Product and Service [Domain]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="srt_ProductsAndServicesDomain" xlink:to="srt_ProductsAndServicesDomain-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/srt/2019/elts/srt-2019-01-31.xsd#srt_RangeAxis" xlink:label="srt_RangeAxis" xlink:type="locator"/>
    <link:label xlink:label="srt_RangeAxis-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Statistical Measurement [Axis]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="srt_RangeAxis" xlink:to="srt_RangeAxis-label" xlink:type="arc"/>
    <link:loc xlink:href="dsgx-20200131.xsd#dsgx_DeferredShareUnitsGrantsInPeriod" xlink:label="dsgx_DeferredShareUnitsGrantsInPeriod" xlink:type="locator"/>
    <link:label xlink:label="dsgx_DeferredShareUnitsGrantsInPeriod-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">dsgx_DeferredShareUnitsGrantsInPeriod</link:label>
    <link:label xlink:label="dsgx_DeferredShareUnitsGrantsInPeriod-label" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Deferred Share Units Grants In Period</link:label>
    <link:label xlink:label="dsgx_DeferredShareUnitsGrantsInPeriod-label" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xml:lang="en-US">The number of deferred share units granted in period.</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dsgx_DeferredShareUnitsGrantsInPeriod" xlink:to="dsgx_DeferredShareUnitsGrantsInPeriod-label" xlink:type="arc"/>
    <link:loc xlink:href="dsgx-20200131.xsd#dsgx_DeferredShareUnitsCompensationExpense" xlink:label="dsgx_DeferredShareUnitsCompensationExpense" xlink:type="locator"/>
    <link:label xlink:label="dsgx_DeferredShareUnitsCompensationExpense-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">dsgx_DeferredShareUnitsCompensationExpense</link:label>
    <link:label xlink:label="dsgx_DeferredShareUnitsCompensationExpense-label" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Deferred Share Units Compensation Expense</link:label>
    <link:label xlink:label="dsgx_DeferredShareUnitsCompensationExpense-label" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xml:lang="en-US">The deferred share units compensation expense.</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dsgx_DeferredShareUnitsCompensationExpense" xlink:to="dsgx_DeferredShareUnitsCompensationExpense-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ScheduleOfCashFlowSupplementalDisclosuresTableTextBlock" xlink:label="us-gaap_ScheduleOfCashFlowSupplementalDisclosuresTableTextBlock" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_ScheduleOfCashFlowSupplementalDisclosuresTableTextBlock-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Schedule of Cash Flow, Supplemental Disclosures [Table Text Block]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ScheduleOfCashFlowSupplementalDisclosuresTableTextBlock" xlink:to="us-gaap_ScheduleOfCashFlowSupplementalDisclosuresTableTextBlock-label" xlink:type="arc"/>
    <link:loc xlink:href="dsgx-20200131.xsd#dsgx_CashSettledRestrictedShareUnitsCompensationExpense" xlink:label="dsgx_CashSettledRestrictedShareUnitsCompensationExpense" xlink:type="locator"/>
    <link:label xlink:label="dsgx_CashSettledRestrictedShareUnitsCompensationExpense-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">dsgx_CashSettledRestrictedShareUnitsCompensationExpense</link:label>
    <link:label xlink:label="dsgx_CashSettledRestrictedShareUnitsCompensationExpense-label" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Cash Settled Restricted Share Units Compensation Expense</link:label>
    <link:label xlink:label="dsgx_CashSettledRestrictedShareUnitsCompensationExpense-label" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xml:lang="en-US">The cash settled restricted share units compensation expense.</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dsgx_CashSettledRestrictedShareUnitsCompensationExpense" xlink:to="dsgx_CashSettledRestrictedShareUnitsCompensationExpense-label" xlink:type="arc"/>
    <link:loc xlink:href="dsgx-20200131.xsd#dsgx_CashsettledRestrictedShareUnitMember" xlink:label="dsgx_CashsettledRestrictedShareUnitMember" xlink:type="locator"/>
    <link:label xlink:label="dsgx_CashsettledRestrictedShareUnitMember-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Cash-Settled Restricted Share Unit [Member]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dsgx_CashsettledRestrictedShareUnitMember" xlink:to="dsgx_CashsettledRestrictedShareUnitMember-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_InterestPaidNet" xlink:label="us-gaap_InterestPaidNet" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_InterestPaidNet-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Cash paid during the year for interest</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_InterestPaidNet" xlink:to="us-gaap_InterestPaidNet-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_CashFlowSupplementalDisclosuresTextBlock" xlink:label="us-gaap_CashFlowSupplementalDisclosuresTextBlock" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_CashFlowSupplementalDisclosuresTextBlock-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Cash Flow, Supplemental Disclosures [Text Block]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CashFlowSupplementalDisclosuresTextBlock" xlink:to="us-gaap_CashFlowSupplementalDisclosuresTextBlock-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_NoncurrentAssets" xlink:label="us-gaap_NoncurrentAssets" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_NoncurrentAssets-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Geograhical long-lived assets</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_NoncurrentAssets" xlink:to="us-gaap_NoncurrentAssets-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_PropertyPlantAndEquipmentDisclosureTextBlock" xlink:label="us-gaap_PropertyPlantAndEquipmentDisclosureTextBlock" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_PropertyPlantAndEquipmentDisclosureTextBlock-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Property, Plant and Equipment Disclosure [Text Block]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PropertyPlantAndEquipmentDisclosureTextBlock" xlink:to="us-gaap_PropertyPlantAndEquipmentDisclosureTextBlock-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ImpairmentOrDisposalOfLongLivedAssetsIncludingIntangibleAssetsPolicyPolicyTextBlock" xlink:label="us-gaap_ImpairmentOrDisposalOfLongLivedAssetsIncludingIntangibleAssetsPolicyPolicyTextBlock" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_ImpairmentOrDisposalOfLongLivedAssetsIncludingIntangibleAssetsPolicyPolicyTextBlock-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Impairment or Disposal of Long-Lived Assets, Including Intangible Assets, Policy [Policy Text Block]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ImpairmentOrDisposalOfLongLivedAssetsIncludingIntangibleAssetsPolicyPolicyTextBlock" xlink:to="us-gaap_ImpairmentOrDisposalOfLongLivedAssetsIncludingIntangibleAssetsPolicyPolicyTextBlock-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/srt/2019/elts/srt-2019-01-31.xsd#srt_StatementGeographicalAxis" xlink:label="srt_StatementGeographicalAxis" xlink:type="locator"/>
    <link:label xlink:label="srt_StatementGeographicalAxis-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Geographical [Axis]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="srt_StatementGeographicalAxis" xlink:to="srt_StatementGeographicalAxis-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_GoodwillAndIntangibleAssetsPolicyTextBlock" xlink:label="us-gaap_GoodwillAndIntangibleAssetsPolicyTextBlock" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_GoodwillAndIntangibleAssetsPolicyTextBlock-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Goodwill and Intangible Assets, Policy [Policy Text Block]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_GoodwillAndIntangibleAssetsPolicyTextBlock" xlink:to="us-gaap_GoodwillAndIntangibleAssetsPolicyTextBlock-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_PropertyPlantAndEquipmentTextBlock" xlink:label="us-gaap_PropertyPlantAndEquipmentTextBlock" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_PropertyPlantAndEquipmentTextBlock-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Property, Plant and Equipment [Table Text Block]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PropertyPlantAndEquipmentTextBlock" xlink:to="us-gaap_PropertyPlantAndEquipmentTextBlock-label" xlink:type="arc"/>
    <link:loc xlink:href="dsgx-20200131.xsd#dsgx_Range1Member" xlink:label="dsgx_Range1Member" xlink:type="locator"/>
    <link:label xlink:label="dsgx_Range1Member-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Range 1 [Member]</link:label>
    <link:label xlink:label="dsgx_Range1Member-label" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xml:lang="en-US">Represents range 1.</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dsgx_Range1Member" xlink:to="dsgx_Range1Member-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_DeferredTaxAssetsGross" xlink:label="us-gaap_DeferredTaxAssetsGross" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_DeferredTaxAssetsGross-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_DeferredTaxAssetsGross</link:label>
    <link:label xlink:label="us-gaap_DeferredTaxAssetsGross-label" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:type="resource" xml:lang="en-US">Total deferred income tax assets</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DeferredTaxAssetsGross" xlink:to="us-gaap_DeferredTaxAssetsGross-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/srt/2019/elts/srt-2019-01-31.xsd#srt_SegmentGeographicalDomain" xlink:label="srt_SegmentGeographicalDomain" xlink:type="locator"/>
    <link:label xlink:label="srt_SegmentGeographicalDomain-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Geographical [Domain]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="srt_SegmentGeographicalDomain" xlink:to="srt_SegmentGeographicalDomain-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_DeferredIncomeTaxLiabilities" xlink:label="us-gaap_DeferredIncomeTaxLiabilities" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_DeferredIncomeTaxLiabilities-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_DeferredIncomeTaxLiabilities</link:label>
    <link:label xlink:label="us-gaap_DeferredIncomeTaxLiabilities-label" xlink:role="http://www.xbrl.org/2009/role/negatedTotalLabel" xlink:type="resource" xml:lang="en-US">Total deferred income tax liabilities</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DeferredIncomeTaxLiabilities" xlink:to="us-gaap_DeferredIncomeTaxLiabilities-label" xlink:type="arc"/>
    <link:loc xlink:href="dsgx-20200131.xsd#dsgx_Range3Member" xlink:label="dsgx_Range3Member" xlink:type="locator"/>
    <link:label xlink:label="dsgx_Range3Member-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Range 3 [Member]</link:label>
    <link:label xlink:label="dsgx_Range3Member-label" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xml:lang="en-US">Represents range 3.</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dsgx_Range3Member" xlink:to="dsgx_Range3Member-label" xlink:type="arc"/>
    <link:loc xlink:href="dsgx-20200131.xsd#dsgx_Range2Member" xlink:label="dsgx_Range2Member" xlink:type="locator"/>
    <link:label xlink:label="dsgx_Range2Member-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Range 2 [Member]</link:label>
    <link:label xlink:label="dsgx_Range2Member-label" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xml:lang="en-US">Represents range 2.</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dsgx_Range2Member" xlink:to="dsgx_Range2Member-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_InventoryNet" xlink:label="us-gaap_InventoryNet" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_InventoryNet-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Inventory (Note 7)</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_InventoryNet" xlink:to="us-gaap_InventoryNet-label" xlink:type="arc"/>
    <link:loc xlink:href="dsgx-20200131.xsd#dsgx_ScheduleOfCashSettledRestrictedShareUnitPlanActivityTableTextBlock" xlink:label="dsgx_ScheduleOfCashSettledRestrictedShareUnitPlanActivityTableTextBlock" xlink:type="locator"/>
    <link:label xlink:label="dsgx_ScheduleOfCashSettledRestrictedShareUnitPlanActivityTableTextBlock-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Schedule Of Cash Settled Restricted Share Unit Plan Activity [Table Text Block]</link:label>
    <link:label xlink:label="dsgx_ScheduleOfCashSettledRestrictedShareUnitPlanActivityTableTextBlock-label" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xml:lang="en-US">Schedule of cash settled under restricted share units.</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dsgx_ScheduleOfCashSettledRestrictedShareUnitPlanActivityTableTextBlock" xlink:to="dsgx_ScheduleOfCashSettledRestrictedShareUnitPlanActivityTableTextBlock-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_EMEAMember" xlink:label="us-gaap_EMEAMember" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_EMEAMember-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">EMEA [Member]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_EMEAMember" xlink:to="us-gaap_EMEAMember-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax" xlink:label="us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax-label" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:type="resource" xml:lang="en-US">Revenues</link:label>
    <link:label xlink:label="us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">REVENUES</link:label>
    <link:label xlink:label="us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax-label" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Geographical Revenue</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax" xlink:to="us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_InventoryValuationReserves" xlink:label="us-gaap_InventoryValuationReserves" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_InventoryValuationReserves-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_InventoryValuationReserves</link:label>
    <link:label xlink:label="us-gaap_InventoryValuationReserves-label" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Inventory Valuation Reserves, Ending Balance</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_InventoryValuationReserves" xlink:to="us-gaap_InventoryValuationReserves-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ForeignCurrencyTransactionGainLossBeforeTax" xlink:label="us-gaap_ForeignCurrencyTransactionGainLossBeforeTax" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_ForeignCurrencyTransactionGainLossBeforeTax-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_ForeignCurrencyTransactionGainLossBeforeTax</link:label>
    <link:label xlink:label="us-gaap_ForeignCurrencyTransactionGainLossBeforeTax-label" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Foreign Currency Transaction Gain (Loss), before Tax, Total</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ForeignCurrencyTransactionGainLossBeforeTax" xlink:to="us-gaap_ForeignCurrencyTransactionGainLossBeforeTax-label" xlink:type="arc"/>
    <link:loc xlink:href="dsgx-20200131.xsd#dsgx_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsExercisable" xlink:label="dsgx_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsExercisable" xlink:type="locator"/>
    <link:label xlink:label="dsgx_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsExercisable-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Exercisable, number of units (in shares)</link:label>
    <link:label xlink:label="dsgx_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsExercisable-label" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xml:lang="en-US">The number of units exercisable other than stock (or unit) option plans (for example, phantom stock or unit plan, stock or unit appreciation rights plan, performance target plan).</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dsgx_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsExercisable" xlink:to="dsgx_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsExercisable-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_DeferredTaxAssetsPropertyPlantAndEquipment" xlink:label="us-gaap_DeferredTaxAssetsPropertyPlantAndEquipment" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_DeferredTaxAssetsPropertyPlantAndEquipment-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Difference between tax and accounting basis of property and equipment</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DeferredTaxAssetsPropertyPlantAndEquipment" xlink:to="us-gaap_DeferredTaxAssetsPropertyPlantAndEquipment-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAccruedLiabilities" xlink:label="us-gaap_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAccruedLiabilities" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAccruedLiabilities-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Accrued liabilities not currently deductible</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAccruedLiabilities" xlink:to="us-gaap_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAccruedLiabilities-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_IncreaseDecreaseInDeferredRevenue" xlink:label="us-gaap_IncreaseDecreaseInDeferredRevenue" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_IncreaseDecreaseInDeferredRevenue-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Deferred revenue</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncreaseDecreaseInDeferredRevenue" xlink:to="us-gaap_IncreaseDecreaseInDeferredRevenue-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_UnbilledReceivablesCurrent" xlink:label="us-gaap_UnbilledReceivablesCurrent" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_UnbilledReceivablesCurrent-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_UnbilledReceivablesCurrent</link:label>
    <link:label xlink:label="us-gaap_UnbilledReceivablesCurrent-label" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Unbilled Receivables, Current</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_UnbilledReceivablesCurrent" xlink:to="us-gaap_UnbilledReceivablesCurrent-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract" xlink:label="us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">OPERATING ACTIVITIES</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract" xlink:to="us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ScheduleOfSegmentReportingInformationBySegmentTextBlock" xlink:label="us-gaap_ScheduleOfSegmentReportingInformationBySegmentTextBlock" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_ScheduleOfSegmentReportingInformationBySegmentTextBlock-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Schedule of Segment Reporting Information, by Segment [Table Text Block]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ScheduleOfSegmentReportingInformationBySegmentTextBlock" xlink:to="us-gaap_ScheduleOfSegmentReportingInformationBySegmentTextBlock-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_AssetUnderConstructionMember" xlink:label="us-gaap_AssetUnderConstructionMember" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_AssetUnderConstructionMember-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Asset under Construction [Member]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AssetUnderConstructionMember" xlink:to="us-gaap_AssetUnderConstructionMember-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_StatementLineItems-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Statement [Line Items]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_StatementLineItems-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_AccountsReceivableGrossCurrent" xlink:label="us-gaap_AccountsReceivableGrossCurrent" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_AccountsReceivableGrossCurrent-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Trade receivables</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AccountsReceivableGrossCurrent" xlink:to="us-gaap_AccountsReceivableGrossCurrent-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent" xlink:label="us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent</link:label>
    <link:label xlink:label="us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent-label" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:type="resource" xml:lang="en-US">Less: Allowance for doubtful accounts</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent" xlink:to="us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_FurnitureAndFixturesMember" xlink:label="us-gaap_FurnitureAndFixturesMember" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_FurnitureAndFixturesMember-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Furniture and Fixtures [Member]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FurnitureAndFixturesMember" xlink:to="us-gaap_FurnitureAndFixturesMember-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_AccountsReceivableNetCurrent" xlink:label="us-gaap_AccountsReceivableNetCurrent" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_AccountsReceivableNetCurrent-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Trade (Note 5)</link:label>
    <link:label xlink:label="us-gaap_AccountsReceivableNetCurrent-label" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:type="resource" xml:lang="en-US"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AccountsReceivableNetCurrent" xlink:to="us-gaap_AccountsReceivableNetCurrent-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_NumberOfReportableSegments" xlink:label="us-gaap_NumberOfReportableSegments" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_NumberOfReportableSegments-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_NumberOfReportableSegments</link:label>
    <link:label xlink:label="us-gaap_NumberOfReportableSegments-label" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Number of Reportable Segments</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_NumberOfReportableSegments" xlink:to="us-gaap_NumberOfReportableSegments-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsShareBasedCompensationCost" xlink:label="us-gaap_DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsShareBasedCompensationCost" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsShareBasedCompensationCost-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsShareBasedCompensationCost</link:label>
    <link:label xlink:label="us-gaap_DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsShareBasedCompensationCost-label" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Deferred Tax Assets, Tax Deferred Expense, Compensation and Benefits, Share-based Compensation Cost</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsShareBasedCompensationCost" xlink:to="us-gaap_DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsShareBasedCompensationCost-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_AdditionalPaidInCapitalCommonStock" xlink:label="us-gaap_AdditionalPaidInCapitalCommonStock" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_AdditionalPaidInCapitalCommonStock-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Additional paid-in capital</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AdditionalPaidInCapitalCommonStock" xlink:to="us-gaap_AdditionalPaidInCapitalCommonStock-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_AccumulatedOtherComprehensiveIncomeMember" xlink:label="us-gaap_AccumulatedOtherComprehensiveIncomeMember" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_AccumulatedOtherComprehensiveIncomeMember-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">AOCI Attributable to Parent [Member]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AccumulatedOtherComprehensiveIncomeMember" xlink:to="us-gaap_AccumulatedOtherComprehensiveIncomeMember-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_StockholdersEquityAbstract" xlink:label="us-gaap_StockholdersEquityAbstract" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_StockholdersEquityAbstract-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">SHAREHOLDERS&#8217; EQUITY (Note 15)</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_StockholdersEquityAbstract" xlink:to="us-gaap_StockholdersEquityAbstract-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_LeaseholdImprovementsMember" xlink:label="us-gaap_LeaseholdImprovementsMember" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_LeaseholdImprovementsMember-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Leasehold Improvements [Member]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LeaseholdImprovementsMember" xlink:to="us-gaap_LeaseholdImprovementsMember-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_PropertyPlantAndEquipmentPolicyTextBlock" xlink:label="us-gaap_PropertyPlantAndEquipmentPolicyTextBlock" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_PropertyPlantAndEquipmentPolicyTextBlock-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Property, Plant and Equipment, Policy [Policy Text Block]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PropertyPlantAndEquipmentPolicyTextBlock" xlink:to="us-gaap_PropertyPlantAndEquipmentPolicyTextBlock-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_OtherNonoperatingExpense" xlink:label="us-gaap_OtherNonoperatingExpense" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_OtherNonoperatingExpense-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Other charges (Note 20)</link:label>
    <link:label xlink:label="us-gaap_OtherNonoperatingExpense-label" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OtherNonoperatingExpense" xlink:to="us-gaap_OtherNonoperatingExpense-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_PropertyPlantAndEquipmentByTypeAxis" xlink:label="us-gaap_PropertyPlantAndEquipmentByTypeAxis" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_PropertyPlantAndEquipmentByTypeAxis-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Property, Plant and Equipment, Type [Axis]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PropertyPlantAndEquipmentByTypeAxis" xlink:to="us-gaap_PropertyPlantAndEquipmentByTypeAxis-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_PropertyPlantAndEquipmentTypeDomain" xlink:label="us-gaap_PropertyPlantAndEquipmentTypeDomain" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_PropertyPlantAndEquipmentTypeDomain-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Property, Plant and Equipment, Type [Domain]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PropertyPlantAndEquipmentTypeDomain" xlink:to="us-gaap_PropertyPlantAndEquipmentTypeDomain-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_SegmentReportingDisclosureTextBlock" xlink:label="us-gaap_SegmentReportingDisclosureTextBlock" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_SegmentReportingDisclosureTextBlock-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Segment Reporting Disclosure [Text Block]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_SegmentReportingDisclosureTextBlock" xlink:to="us-gaap_SegmentReportingDisclosureTextBlock-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_DeferredTaxAssetsOperatingLossCarryforwards" xlink:label="us-gaap_DeferredTaxAssetsOperatingLossCarryforwards" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_DeferredTaxAssetsOperatingLossCarryforwards-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Accumulated net operating losses</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DeferredTaxAssetsOperatingLossCarryforwards" xlink:to="us-gaap_DeferredTaxAssetsOperatingLossCarryforwards-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_DeferredTaxAssetsTaxCreditCarryforwardsResearch" xlink:label="us-gaap_DeferredTaxAssetsTaxCreditCarryforwardsResearch" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_DeferredTaxAssetsTaxCreditCarryforwardsResearch-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Research and development and other tax credits and expenses</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DeferredTaxAssetsTaxCreditCarryforwardsResearch" xlink:to="us-gaap_DeferredTaxAssetsTaxCreditCarryforwardsResearch-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_AssetsCurrentAbstract" xlink:label="us-gaap_AssetsCurrentAbstract" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_AssetsCurrentAbstract-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">CURRENT ASSETS</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AssetsCurrentAbstract" xlink:to="us-gaap_AssetsCurrentAbstract-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_InvestmentIncomeNet" xlink:label="us-gaap_InvestmentIncomeNet" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_InvestmentIncomeNet-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">INVESTMENT INCOME</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_InvestmentIncomeNet" xlink:to="us-gaap_InvestmentIncomeNet-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_FairValueDisclosuresTextBlock" xlink:label="us-gaap_FairValueDisclosuresTextBlock" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_FairValueDisclosuresTextBlock-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Fair Value Disclosures [Text Block]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FairValueDisclosuresTextBlock" xlink:to="us-gaap_FairValueDisclosuresTextBlock-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ContractWithCustomerAssetReclassifiedToReceivable" xlink:label="us-gaap_ContractWithCustomerAssetReclassifiedToReceivable" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_ContractWithCustomerAssetReclassifiedToReceivable-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_ContractWithCustomerAssetReclassifiedToReceivable</link:label>
    <link:label xlink:label="us-gaap_ContractWithCustomerAssetReclassifiedToReceivable-label" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:type="resource" xml:lang="en-US">Transfers to trade receivables from contract assets</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ContractWithCustomerAssetReclassifiedToReceivable" xlink:to="us-gaap_ContractWithCustomerAssetReclassifiedToReceivable-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_InventoryPolicyTextBlock" xlink:label="us-gaap_InventoryPolicyTextBlock" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_InventoryPolicyTextBlock-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Inventory, Policy [Policy Text Block]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_InventoryPolicyTextBlock" xlink:to="us-gaap_InventoryPolicyTextBlock-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_AccountingStandardsUpdate201606Member" xlink:label="us-gaap_AccountingStandardsUpdate201606Member" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_AccountingStandardsUpdate201606Member-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Accounting Standards Update 2016-06 [Member]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AccountingStandardsUpdate201606Member" xlink:to="us-gaap_AccountingStandardsUpdate201606Member-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_LicenseMember" xlink:label="us-gaap_LicenseMember" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_LicenseMember-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">License [Member]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LicenseMember" xlink:to="us-gaap_LicenseMember-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_NetCashProvidedByUsedInFinancingActivities" xlink:label="us-gaap_NetCashProvidedByUsedInFinancingActivities" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_NetCashProvidedByUsedInFinancingActivities-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_NetCashProvidedByUsedInFinancingActivities</link:label>
    <link:label xlink:label="us-gaap_NetCashProvidedByUsedInFinancingActivities-label" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:type="resource" xml:lang="en-US">Cash provided by (used in) financing activities</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_NetCashProvidedByUsedInFinancingActivities" xlink:to="us-gaap_NetCashProvidedByUsedInFinancingActivities-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_Liabilities" xlink:label="us-gaap_Liabilities" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_Liabilities-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_Liabilities</link:label>
    <link:label xlink:label="us-gaap_Liabilities-label" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:type="resource" xml:lang="en-US"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_Liabilities" xlink:to="us-gaap_Liabilities-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_CommitmentsAndContingencies" xlink:label="us-gaap_CommitmentsAndContingencies" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_CommitmentsAndContingencies-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">COMMITMENTS, CONTINGENCIES AND GUARANTEES (Note 14)</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CommitmentsAndContingencies" xlink:to="us-gaap_CommitmentsAndContingencies-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_SubsidiarySaleOfStockAxis" xlink:label="us-gaap_SubsidiarySaleOfStockAxis" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_SubsidiarySaleOfStockAxis-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Sale of Stock [Axis]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_SubsidiarySaleOfStockAxis" xlink:to="us-gaap_SubsidiarySaleOfStockAxis-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_SaleOfStockNameOfTransactionDomain" xlink:label="us-gaap_SaleOfStockNameOfTransactionDomain" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_SaleOfStockNameOfTransactionDomain-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Sale of Stock [Domain]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_SaleOfStockNameOfTransactionDomain" xlink:to="us-gaap_SaleOfStockNameOfTransactionDomain-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_OperatingIncomeLoss" xlink:label="us-gaap_OperatingIncomeLoss" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_OperatingIncomeLoss-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">INCOME FROM OPERATIONS</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OperatingIncomeLoss" xlink:to="us-gaap_OperatingIncomeLoss-label" xlink:type="arc"/>
    <link:loc xlink:href="dsgx-20200131.xsd#dsgx_ShareBasedCompensationArrangementByShareBasedPaymentAwardUnitsIssuedInPeriodWeightedAverageGrantDateFairValue" xlink:label="dsgx_ShareBasedCompensationArrangementByShareBasedPaymentAwardUnitsIssuedInPeriodWeightedAverageGrantDateFairValue" xlink:type="locator"/>
    <link:label xlink:label="dsgx_ShareBasedCompensationArrangementByShareBasedPaymentAwardUnitsIssuedInPeriodWeightedAverageGrantDateFairValue-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Performance units issued, weighted-average granted date fair value (in dollars per share)</link:label>
    <link:label xlink:label="dsgx_ShareBasedCompensationArrangementByShareBasedPaymentAwardUnitsIssuedInPeriodWeightedAverageGrantDateFairValue-label" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xml:lang="en-US">Represents the weighted average grant date fair value of units issued during the period.</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dsgx_ShareBasedCompensationArrangementByShareBasedPaymentAwardUnitsIssuedInPeriodWeightedAverageGrantDateFairValue" xlink:to="dsgx_ShareBasedCompensationArrangementByShareBasedPaymentAwardUnitsIssuedInPeriodWeightedAverageGrantDateFairValue-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ContractWithCustomerLiabilityRevenueRecognized" xlink:label="us-gaap_ContractWithCustomerLiabilityRevenueRecognized" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_ContractWithCustomerLiabilityRevenueRecognized-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Recognition of previously deferred revenue</link:label>
    <link:label xlink:label="us-gaap_ContractWithCustomerLiabilityRevenueRecognized-label" xlink:role="http://www.xbrl.org/2003/role/periodEndLabel" xlink:type="resource" xml:lang="en-US">Recognition of previously deferred revenue</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ContractWithCustomerLiabilityRevenueRecognized" xlink:to="us-gaap_ContractWithCustomerLiabilityRevenueRecognized-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_NetCashProvidedByUsedInOperatingActivities" xlink:label="us-gaap_NetCashProvidedByUsedInOperatingActivities" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_NetCashProvidedByUsedInOperatingActivities-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_NetCashProvidedByUsedInOperatingActivities</link:label>
    <link:label xlink:label="us-gaap_NetCashProvidedByUsedInOperatingActivities-label" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:type="resource" xml:lang="en-US">Cash provided by operating activities</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivities" xlink:to="us-gaap_NetCashProvidedByUsedInOperatingActivities-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_DeferredTaxLiabilitiesOther" xlink:label="us-gaap_DeferredTaxLiabilitiesOther" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_DeferredTaxLiabilitiesOther-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_DeferredTaxLiabilitiesOther</link:label>
    <link:label xlink:label="us-gaap_DeferredTaxLiabilitiesOther-label" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:type="resource" xml:lang="en-US">Other temporary differences</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DeferredTaxLiabilitiesOther" xlink:to="us-gaap_DeferredTaxLiabilitiesOther-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ContractWithCustomerLiabilityIncreaseDecreaseForContractAcquiredInBusinessCombination" xlink:label="us-gaap_ContractWithCustomerLiabilityIncreaseDecreaseForContractAcquiredInBusinessCombination" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_ContractWithCustomerLiabilityIncreaseDecreaseForContractAcquiredInBusinessCombination-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Increases from business combinations, net</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ContractWithCustomerLiabilityIncreaseDecreaseForContractAcquiredInBusinessCombination" xlink:to="us-gaap_ContractWithCustomerLiabilityIncreaseDecreaseForContractAcquiredInBusinessCombination-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_NetCashProvidedByUsedInInvestingActivities" xlink:label="us-gaap_NetCashProvidedByUsedInInvestingActivities" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_NetCashProvidedByUsedInInvestingActivities-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_NetCashProvidedByUsedInInvestingActivities</link:label>
    <link:label xlink:label="us-gaap_NetCashProvidedByUsedInInvestingActivities-label" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:type="resource" xml:lang="en-US">Cash used in investing activities</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_NetCashProvidedByUsedInInvestingActivities" xlink:to="us-gaap_NetCashProvidedByUsedInInvestingActivities-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_PrepaidExpenseAndOtherAssetsCurrent" xlink:label="us-gaap_PrepaidExpenseAndOtherAssetsCurrent" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_PrepaidExpenseAndOtherAssetsCurrent-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Prepaid expenses and other</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PrepaidExpenseAndOtherAssetsCurrent" xlink:to="us-gaap_PrepaidExpenseAndOtherAssetsCurrent-label" xlink:type="arc"/>
    <link:loc xlink:href="dsgx-20200131.xsd#dsgx_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsExercisableWeightedAverageRemainingContractualTerm" xlink:label="dsgx_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsExercisableWeightedAverageRemainingContractualTerm" xlink:type="locator"/>
    <link:label xlink:label="dsgx_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsExercisableWeightedAverageRemainingContractualTerm-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Exercisable, Weighted-Average Remaining Contractual, PSU (Year)</link:label>
    <link:label xlink:label="dsgx_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsExercisableWeightedAverageRemainingContractualTerm-label" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xml:lang="en-US">Weighted average remaining contractual term for vested portions of equity instruments other than options outstanding and currently exercisable or convertible, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents the reported fact of one year, five months, and thirteen days.</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dsgx_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsExercisableWeightedAverageRemainingContractualTerm" xlink:to="dsgx_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsExercisableWeightedAverageRemainingContractualTerm-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_EffectOfExchangeRateOnCashAndCashEquivalents" xlink:label="us-gaap_EffectOfExchangeRateOnCashAndCashEquivalents" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_EffectOfExchangeRateOnCashAndCashEquivalents-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Effect of foreign exchange rate changes on cash</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_EffectOfExchangeRateOnCashAndCashEquivalents" xlink:to="us-gaap_EffectOfExchangeRateOnCashAndCashEquivalents-label" xlink:type="arc"/>
    <link:loc xlink:href="dsgx-20200131.xsd#dsgx_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsExercisableWeightedAverageGrantDateFairValue" xlink:label="dsgx_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsExercisableWeightedAverageGrantDateFairValue" xlink:type="locator"/>
    <link:label xlink:label="dsgx_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsExercisableWeightedAverageGrantDateFairValue-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Exercisable, PSU weighted-average granted date fair value (in dollars per share)</link:label>
    <link:label xlink:label="dsgx_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsExercisableWeightedAverageGrantDateFairValue-label" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xml:lang="en-US">The weighted average fair value of exercisable awards on equity-based plans excluding option plans (for example, phantom stock or unit plan, stock or unit appreciation rights plan, revenue or profit achievement stock award plan) for which the employer is contingently obligated to issue equity instruments or transfer assets to an employee who has not yet satisfied service or performance criteria necessary to gain title to proceeds from the sale of the award or underlying shares or units.</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dsgx_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsExercisableWeightedAverageGrantDateFairValue" xlink:to="dsgx_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsExercisableWeightedAverageGrantDateFairValue-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_CashAndCashEquivalentsPeriodIncreaseDecrease" xlink:label="us-gaap_CashAndCashEquivalentsPeriodIncreaseDecrease" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_CashAndCashEquivalentsPeriodIncreaseDecrease-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_CashAndCashEquivalentsPeriodIncreaseDecrease</link:label>
    <link:label xlink:label="us-gaap_CashAndCashEquivalentsPeriodIncreaseDecrease-label" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:type="resource" xml:lang="en-US">Increase (decrease) in cash</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CashAndCashEquivalentsPeriodIncreaseDecrease" xlink:to="us-gaap_CashAndCashEquivalentsPeriodIncreaseDecrease-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_DeferredTaxLiabilitiesGoodwillAndIntangibleAssetsIntangibleAssets" xlink:label="us-gaap_DeferredTaxLiabilitiesGoodwillAndIntangibleAssetsIntangibleAssets" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_DeferredTaxLiabilitiesGoodwillAndIntangibleAssetsIntangibleAssets-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_DeferredTaxLiabilitiesGoodwillAndIntangibleAssetsIntangibleAssets</link:label>
    <link:label xlink:label="us-gaap_DeferredTaxLiabilitiesGoodwillAndIntangibleAssetsIntangibleAssets-label" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:type="resource" xml:lang="en-US">Difference between tax and accounting basis of intangible assets</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DeferredTaxLiabilitiesGoodwillAndIntangibleAssetsIntangibleAssets" xlink:to="us-gaap_DeferredTaxLiabilitiesGoodwillAndIntangibleAssetsIntangibleAssets-label" xlink:type="arc"/>
    <link:loc xlink:href="dsgx-20200131.xsd#dsgx_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsAggregateIntrinsicValueExercisable" xlink:label="dsgx_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsAggregateIntrinsicValueExercisable" xlink:type="locator"/>
    <link:label xlink:label="dsgx_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsAggregateIntrinsicValueExercisable-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Exercisable, Aggregate Intrinsic Value, PSU</link:label>
    <link:label xlink:label="dsgx_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsAggregateIntrinsicValueExercisable-label" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xml:lang="en-US">Intrinsic value of equity-based compensation awards exercisable. Excludes stock and unit options.</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dsgx_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsAggregateIntrinsicValueExercisable" xlink:to="dsgx_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsAggregateIntrinsicValueExercisable-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_GrossProfit" xlink:label="us-gaap_GrossProfit" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_GrossProfit-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_GrossProfit</link:label>
    <link:label xlink:label="us-gaap_GrossProfit-label" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:type="resource" xml:lang="en-US">GROSS MARGIN</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_GrossProfit" xlink:to="us-gaap_GrossProfit-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ScheduleOfOtherOperatingCostAndExpenseByComponentTextBlock" xlink:label="us-gaap_ScheduleOfOtherOperatingCostAndExpenseByComponentTextBlock" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_ScheduleOfOtherOperatingCostAndExpenseByComponentTextBlock-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Schedule of Other Operating Cost and Expense, by Component [Table Text Block]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ScheduleOfOtherOperatingCostAndExpenseByComponentTextBlock" xlink:to="us-gaap_ScheduleOfOtherOperatingCostAndExpenseByComponentTextBlock-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_CostOfGoodsAndServicesSold" xlink:label="us-gaap_CostOfGoodsAndServicesSold" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_CostOfGoodsAndServicesSold-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">COST OF REVENUES</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CostOfGoodsAndServicesSold" xlink:to="us-gaap_CostOfGoodsAndServicesSold-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_AccountingStandardsUpdate201409Member" xlink:label="us-gaap_AccountingStandardsUpdate201409Member" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_AccountingStandardsUpdate201409Member-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Accounting Standards Update 2014-09 [Member]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AccountingStandardsUpdate201409Member" xlink:to="us-gaap_AccountingStandardsUpdate201409Member-label" xlink:type="arc"/>
    <link:loc xlink:href="dsgx-20200131.xsd#dsgx_CRSUAwardsWeightedAverageContractualLife" xlink:label="dsgx_CRSUAwardsWeightedAverageContractualLife" xlink:type="locator"/>
    <link:label xlink:label="dsgx_CRSUAwardsWeightedAverageContractualLife-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Weighted-Average Remaining Contractual Life, CRSU (Year)</link:label>
    <link:label xlink:label="dsgx_CRSUAwardsWeightedAverageContractualLife-label" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xml:lang="en-US">The weighted average remaining contractual life of CRSU awards.</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dsgx_CRSUAwardsWeightedAverageContractualLife" xlink:to="dsgx_CRSUAwardsWeightedAverageContractualLife-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_DeferredIncomeTaxLiabilitiesNet" xlink:label="us-gaap_DeferredIncomeTaxLiabilitiesNet" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_DeferredIncomeTaxLiabilitiesNet-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">DEFERRED INCOME TAXES</link:label>
    <link:label xlink:label="us-gaap_DeferredIncomeTaxLiabilitiesNet-label" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Deferred Income Tax Liabilities, Net, Total</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DeferredIncomeTaxLiabilitiesNet" xlink:to="us-gaap_DeferredIncomeTaxLiabilitiesNet-label" xlink:type="arc"/>
    <link:loc xlink:href="dsgx-20200131.xsd#dsgx_CRSUAwardsOutstandingNumber" xlink:label="dsgx_CRSUAwardsOutstandingNumber" xlink:type="locator"/>
    <link:label xlink:label="dsgx_CRSUAwardsOutstandingNumber-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">dsgx_CRSUAwardsOutstandingNumber</link:label>
    <link:label xlink:label="dsgx_CRSUAwardsOutstandingNumber-label" xlink:role="http://www.xbrl.org/2003/role/periodStartLabel" xlink:type="resource" xml:lang="en-US">Number of Units Outstanding, CRSU (in shares)</link:label>
    <link:label xlink:label="dsgx_CRSUAwardsOutstandingNumber-label" xlink:role="http://www.xbrl.org/2003/role/periodEndLabel" xlink:type="resource" xml:lang="en-US">Number of Units Outstanding, CRSU (in shares)</link:label>
    <link:label xlink:label="dsgx_CRSUAwardsOutstandingNumber-label" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xml:lang="en-US">The number of CRSU awards outstanding.</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dsgx_CRSUAwardsOutstandingNumber" xlink:to="dsgx_CRSUAwardsOutstandingNumber-label" xlink:type="arc"/>
    <link:loc xlink:href="dsgx-20200131.xsd#dsgx_CRSUAwardNonvestedWeightedAverageContractualLife" xlink:label="dsgx_CRSUAwardNonvestedWeightedAverageContractualLife" xlink:type="locator"/>
    <link:label xlink:label="dsgx_CRSUAwardNonvestedWeightedAverageContractualLife-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Non-vested, Weighted-Average Remaining Contractual Life, CRSU (Year)</link:label>
    <link:label xlink:label="dsgx_CRSUAwardNonvestedWeightedAverageContractualLife-label" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xml:lang="en-US">The weighted average remaining contractual life of nonvested CRSU awards.</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dsgx_CRSUAwardNonvestedWeightedAverageContractualLife" xlink:to="dsgx_CRSUAwardNonvestedWeightedAverageContractualLife-label" xlink:type="arc"/>
    <link:loc xlink:href="dsgx-20200131.xsd#dsgx_CRSUAwardsVestedAndSettledInCash" xlink:label="dsgx_CRSUAwardsVestedAndSettledInCash" xlink:type="locator"/>
    <link:label xlink:label="dsgx_CRSUAwardsVestedAndSettledInCash-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">dsgx_CRSUAwardsVestedAndSettledInCash</link:label>
    <link:label xlink:label="dsgx_CRSUAwardsVestedAndSettledInCash-label" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:type="resource" xml:lang="en-US">Number of Units Vested and settled in cash, CRSU (in shares)</link:label>
    <link:label xlink:label="dsgx_CRSUAwardsVestedAndSettledInCash-label" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xml:lang="en-US">The number of CRSU awards vested and settled in cash.</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dsgx_CRSUAwardsVestedAndSettledInCash" xlink:to="dsgx_CRSUAwardsVestedAndSettledInCash-label" xlink:type="arc"/>
    <link:loc xlink:href="dsgx-20200131.xsd#dsgx_CRSUAwardsGrantsInPeriod" xlink:label="dsgx_CRSUAwardsGrantsInPeriod" xlink:type="locator"/>
    <link:label xlink:label="dsgx_CRSUAwardsGrantsInPeriod-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Number of Units Granted, CRSU (in shares)</link:label>
    <link:label xlink:label="dsgx_CRSUAwardsGrantsInPeriod-label" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xml:lang="en-US">The number of CRSU grants in period.</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dsgx_CRSUAwardsGrantsInPeriod" xlink:to="dsgx_CRSUAwardsGrantsInPeriod-label" xlink:type="arc"/>
    <link:loc xlink:href="dsgx-20200131.xsd#dsgx_CRSUAwardNonvestedNumber" xlink:label="dsgx_CRSUAwardNonvestedNumber" xlink:type="locator"/>
    <link:label xlink:label="dsgx_CRSUAwardNonvestedNumber-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Non-vested, CRSU (in shares)</link:label>
    <link:label xlink:label="dsgx_CRSUAwardNonvestedNumber-label" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xml:lang="en-US">The number of nonvested CRSU awards.</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dsgx_CRSUAwardNonvestedNumber" xlink:to="dsgx_CRSUAwardNonvestedNumber-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ContractWithCustomerLiability" xlink:label="us-gaap_ContractWithCustomerLiability" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_ContractWithCustomerLiability-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_ContractWithCustomerLiability</link:label>
    <link:label xlink:label="us-gaap_ContractWithCustomerLiability-label" xlink:role="http://www.xbrl.org/2003/role/periodStartLabel" xlink:type="resource" xml:lang="en-US">Balance</link:label>
    <link:label xlink:label="us-gaap_ContractWithCustomerLiability-label" xlink:role="http://www.xbrl.org/2003/role/periodEndLabel" xlink:type="resource" xml:lang="en-US">Balance</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ContractWithCustomerLiability" xlink:to="us-gaap_ContractWithCustomerLiability-label" xlink:type="arc"/>
    <link:loc xlink:href="dsgx-20200131.xsd#dsgx_IncomeBeforeTaxesPercent" xlink:label="dsgx_IncomeBeforeTaxesPercent" xlink:type="locator"/>
    <link:label xlink:label="dsgx_IncomeBeforeTaxesPercent-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">dsgx_IncomeBeforeTaxesPercent</link:label>
    <link:label xlink:label="dsgx_IncomeBeforeTaxesPercent-label" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Income Before Taxes, Percent</link:label>
    <link:label xlink:label="dsgx_IncomeBeforeTaxesPercent-label" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xml:lang="en-US">Income tax expense expressed as a percentage of income before taxes.</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dsgx_IncomeBeforeTaxesPercent" xlink:to="dsgx_IncomeBeforeTaxesPercent-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_AccountingStandardsUpdate201602Member" xlink:label="us-gaap_AccountingStandardsUpdate201602Member" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_AccountingStandardsUpdate201602Member-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Accounting Standards Update 2016-02 [Member]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AccountingStandardsUpdate201602Member" xlink:to="us-gaap_AccountingStandardsUpdate201602Member-label" xlink:type="arc"/>
    <link:loc xlink:href="dsgx-20200131.xsd#dsgx_OtherCountriesMember" xlink:label="dsgx_OtherCountriesMember" xlink:type="locator"/>
    <link:label xlink:label="dsgx_OtherCountriesMember-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Other Countries [Member]</link:label>
    <link:label xlink:label="dsgx_OtherCountriesMember-label" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xml:lang="en-US">Represents other countries.</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dsgx_OtherCountriesMember" xlink:to="dsgx_OtherCountriesMember-label" xlink:type="arc"/>
    <link:loc xlink:href="dsgx-20200131.xsd#dsgx_DeferredTaxAssetsNetBeforeValuationAllowance" xlink:label="dsgx_DeferredTaxAssetsNetBeforeValuationAllowance" xlink:type="locator"/>
    <link:label xlink:label="dsgx_DeferredTaxAssetsNetBeforeValuationAllowance-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">dsgx_DeferredTaxAssetsNetBeforeValuationAllowance</link:label>
    <link:label xlink:label="dsgx_DeferredTaxAssetsNetBeforeValuationAllowance-label" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:type="resource" xml:lang="en-US">Net deferred income taxes</link:label>
    <link:label xlink:label="dsgx_DeferredTaxAssetsNetBeforeValuationAllowance-label" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xml:lang="en-US">Amount before allocation of valuation allowances of deferred tax assets.</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dsgx_DeferredTaxAssetsNetBeforeValuationAllowance" xlink:to="dsgx_DeferredTaxAssetsNetBeforeValuationAllowance-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_PaymentForContingentConsiderationLiabilityFinancingActivities" xlink:label="us-gaap_PaymentForContingentConsiderationLiabilityFinancingActivities" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_PaymentForContingentConsiderationLiabilityFinancingActivities-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_PaymentForContingentConsiderationLiabilityFinancingActivities</link:label>
    <link:label xlink:label="us-gaap_PaymentForContingentConsiderationLiabilityFinancingActivities-label" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:type="resource" xml:lang="en-US">Payment of contingent consideration</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PaymentForContingentConsiderationLiabilityFinancingActivities" xlink:to="us-gaap_PaymentForContingentConsiderationLiabilityFinancingActivities-label" xlink:type="arc"/>
    <link:loc xlink:href="dsgx-20200131.xsd#dsgx_IncomeTaxReconciliationDeferredTaxCharges" xlink:label="dsgx_IncomeTaxReconciliationDeferredTaxCharges" xlink:type="locator"/>
    <link:label xlink:label="dsgx_IncomeTaxReconciliationDeferredTaxCharges-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">dsgx_IncomeTaxReconciliationDeferredTaxCharges</link:label>
    <link:label xlink:label="dsgx_IncomeTaxReconciliationDeferredTaxCharges-label" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Deferred tax charges</link:label>
    <link:label xlink:label="dsgx_IncomeTaxReconciliationDeferredTaxCharges-label" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xml:lang="en-US">Amount of the difference between reported income tax expense (benefit) and expected income tax expense (benefit) computed by applying the domestic federal statutory income tax rates to pretax income (loss) from continuing operations attributable to deferred tax charges.</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dsgx_IncomeTaxReconciliationDeferredTaxCharges" xlink:to="dsgx_IncomeTaxReconciliationDeferredTaxCharges-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_TypeOfAdoptionMember" xlink:label="us-gaap_TypeOfAdoptionMember" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_TypeOfAdoptionMember-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Type of Adoption [Domain]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_TypeOfAdoptionMember" xlink:to="us-gaap_TypeOfAdoptionMember-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_DeferredTaxLiabilitiesPropertyPlantAndEquipment" xlink:label="us-gaap_DeferredTaxLiabilitiesPropertyPlantAndEquipment" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_DeferredTaxLiabilitiesPropertyPlantAndEquipment-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_DeferredTaxLiabilitiesPropertyPlantAndEquipment</link:label>
    <link:label xlink:label="us-gaap_DeferredTaxLiabilitiesPropertyPlantAndEquipment-label" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:type="resource" xml:lang="en-US">Difference between tax and accounting basis of property and equipment</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DeferredTaxLiabilitiesPropertyPlantAndEquipment" xlink:to="us-gaap_DeferredTaxLiabilitiesPropertyPlantAndEquipment-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_LettersOfCreditOutstandingAmount" xlink:label="us-gaap_LettersOfCreditOutstandingAmount" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_LettersOfCreditOutstandingAmount-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_LettersOfCreditOutstandingAmount</link:label>
    <link:label xlink:label="us-gaap_LettersOfCreditOutstandingAmount-label" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Letters of Credit Outstanding, Amount</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LettersOfCreditOutstandingAmount" xlink:to="us-gaap_LettersOfCreditOutstandingAmount-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_AdjustmentsForNewAccountingPronouncementsAxis" xlink:label="us-gaap_AdjustmentsForNewAccountingPronouncementsAxis" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_AdjustmentsForNewAccountingPronouncementsAxis-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Adjustments for New Accounting Pronouncements [Axis]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AdjustmentsForNewAccountingPronouncementsAxis" xlink:to="us-gaap_AdjustmentsForNewAccountingPronouncementsAxis-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/srt/2019/elts/srt-2019-01-31.xsd#srt_ScheduleOfCondensedCashFlowStatementTableTextBlock" xlink:label="srt_ScheduleOfCondensedCashFlowStatementTableTextBlock" xlink:type="locator"/>
    <link:label xlink:label="srt_ScheduleOfCondensedCashFlowStatementTableTextBlock-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Condensed Cash Flow Statement [Table Text Block]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="srt_ScheduleOfCondensedCashFlowStatementTableTextBlock" xlink:to="srt_ScheduleOfCondensedCashFlowStatementTableTextBlock-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_OtherIncomeAndOtherExpenseDisclosureTextBlock" xlink:label="us-gaap_OtherIncomeAndOtherExpenseDisclosureTextBlock" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_OtherIncomeAndOtherExpenseDisclosureTextBlock-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Other Income and Other Expense Disclosure [Text Block]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OtherIncomeAndOtherExpenseDisclosureTextBlock" xlink:to="us-gaap_OtherIncomeAndOtherExpenseDisclosureTextBlock-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_UndistributedEarningsOfForeignSubsidiaries" xlink:label="us-gaap_UndistributedEarningsOfForeignSubsidiaries" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_UndistributedEarningsOfForeignSubsidiaries-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_UndistributedEarningsOfForeignSubsidiaries</link:label>
    <link:label xlink:label="us-gaap_UndistributedEarningsOfForeignSubsidiaries-label" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Undistributed Earnings of Foreign Subsidiaries</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_UndistributedEarningsOfForeignSubsidiaries" xlink:to="us-gaap_UndistributedEarningsOfForeignSubsidiaries-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_CostsAndExpensesAbstract" xlink:label="us-gaap_CostsAndExpensesAbstract" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_CostsAndExpensesAbstract-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">EXPENSES</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CostsAndExpensesAbstract" xlink:to="us-gaap_CostsAndExpensesAbstract-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_IncomeTaxExpenseBenefitContinuingOperationsAdjustmentOfDeferredTaxAssetLiability" xlink:label="us-gaap_IncomeTaxExpenseBenefitContinuingOperationsAdjustmentOfDeferredTaxAssetLiability" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_IncomeTaxExpenseBenefitContinuingOperationsAdjustmentOfDeferredTaxAssetLiability-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_IncomeTaxExpenseBenefitContinuingOperationsAdjustmentOfDeferredTaxAssetLiability</link:label>
    <link:label xlink:label="us-gaap_IncomeTaxExpenseBenefitContinuingOperationsAdjustmentOfDeferredTaxAssetLiability-label" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Income Tax Expense (Benefit), Continuing Operations, Adjustment of Deferred Tax (Asset) Liability</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncomeTaxExpenseBenefitContinuingOperationsAdjustmentOfDeferredTaxAssetLiability" xlink:to="us-gaap_IncomeTaxExpenseBenefitContinuingOperationsAdjustmentOfDeferredTaxAssetLiability-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_RetainedEarningsMember" xlink:label="us-gaap_RetainedEarningsMember" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_RetainedEarningsMember-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Retained Earnings [Member]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_RetainedEarningsMember" xlink:to="us-gaap_RetainedEarningsMember-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ProceedsFromStockOptionsExercised" xlink:label="us-gaap_ProceedsFromStockOptionsExercised" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_ProceedsFromStockOptionsExercised-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_ProceedsFromStockOptionsExercised</link:label>
    <link:label xlink:label="us-gaap_ProceedsFromStockOptionsExercised-label" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Proceeds from Stock Options Exercised</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ProceedsFromStockOptionsExercised" xlink:to="us-gaap_ProceedsFromStockOptionsExercised-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/srt/2019/elts/srt-2019-01-31.xsd#srt_TitleOfIndividualWithRelationshipToEntityDomain" xlink:label="srt_TitleOfIndividualWithRelationshipToEntityDomain" xlink:type="locator"/>
    <link:label xlink:label="srt_TitleOfIndividualWithRelationshipToEntityDomain-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Title of Individual [Domain]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="srt_TitleOfIndividualWithRelationshipToEntityDomain" xlink:to="srt_TitleOfIndividualWithRelationshipToEntityDomain-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ProceedsFromIssuanceOfCommonStock" xlink:label="us-gaap_ProceedsFromIssuanceOfCommonStock" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_ProceedsFromIssuanceOfCommonStock-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Issuance of common shares for cash, net of issuance costs (Note 15)</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ProceedsFromIssuanceOfCommonStock" xlink:to="us-gaap_ProceedsFromIssuanceOfCommonStock-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/srt/2019/elts/srt-2019-01-31.xsd#srt_TitleOfIndividualAxis" xlink:label="srt_TitleOfIndividualAxis" xlink:type="locator"/>
    <link:label xlink:label="srt_TitleOfIndividualAxis-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Title of Individual [Axis]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="srt_TitleOfIndividualAxis" xlink:to="srt_TitleOfIndividualAxis-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_AdditionalPaidInCapitalMember" xlink:label="us-gaap_AdditionalPaidInCapitalMember" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_AdditionalPaidInCapitalMember-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Additional Paid-in Capital [Member]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AdditionalPaidInCapitalMember" xlink:to="us-gaap_AdditionalPaidInCapitalMember-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_CommonStockMember" xlink:label="us-gaap_CommonStockMember" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_CommonStockMember-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Common Stock [Member]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CommonStockMember" xlink:to="us-gaap_CommonStockMember-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_StatementEquityComponentsAxis" xlink:label="us-gaap_StatementEquityComponentsAxis" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_StatementEquityComponentsAxis-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Equity Components [Axis]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_StatementEquityComponentsAxis" xlink:to="us-gaap_StatementEquityComponentsAxis-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_EquityComponentDomain" xlink:label="us-gaap_EquityComponentDomain" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_EquityComponentDomain-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Equity Component [Domain]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_EquityComponentDomain" xlink:to="us-gaap_EquityComponentDomain-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_CurrentIncomeTaxExpenseBenefit" xlink:label="us-gaap_CurrentIncomeTaxExpenseBenefit" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_CurrentIncomeTaxExpenseBenefit-label" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:type="resource" xml:lang="en-US">Current</link:label>
    <link:label xlink:label="us-gaap_CurrentIncomeTaxExpenseBenefit-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Current income tax expense</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CurrentIncomeTaxExpenseBenefit" xlink:to="us-gaap_CurrentIncomeTaxExpenseBenefit-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_RevenueRemainingPerformanceObligationPercentage" xlink:label="us-gaap_RevenueRemainingPerformanceObligationPercentage" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_RevenueRemainingPerformanceObligationPercentage-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_RevenueRemainingPerformanceObligationPercentage</link:label>
    <link:label xlink:label="us-gaap_RevenueRemainingPerformanceObligationPercentage-label" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Revenue, Remaining Performance Obligation, Percentage</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_RevenueRemainingPerformanceObligationPercentage" xlink:to="us-gaap_RevenueRemainingPerformanceObligationPercentage-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1" xlink:label="us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1</link:label>
    <link:label xlink:label="us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1-label" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction, Period</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1" xlink:to="us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_RevenueRemainingPerformanceObligation" xlink:label="us-gaap_RevenueRemainingPerformanceObligation" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_RevenueRemainingPerformanceObligation-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_RevenueRemainingPerformanceObligation</link:label>
    <link:label xlink:label="us-gaap_RevenueRemainingPerformanceObligation-label" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Revenue, Remaining Performance Obligation, Amount</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_RevenueRemainingPerformanceObligation" xlink:to="us-gaap_RevenueRemainingPerformanceObligation-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_IncomeTaxExpenseBenefitContinuingOperationsAbstract" xlink:label="us-gaap_IncomeTaxExpenseBenefitContinuingOperationsAbstract" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_IncomeTaxExpenseBenefitContinuingOperationsAbstract-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">INCOME TAX EXPENSE (Note 18)</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncomeTaxExpenseBenefitContinuingOperationsAbstract" xlink:to="us-gaap_IncomeTaxExpenseBenefitContinuingOperationsAbstract-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis" xlink:label="us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction, Start Date [Axis]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis" xlink:to="us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_OtherComprehensiveIncomeLossTaxAbstract" xlink:label="us-gaap_OtherComprehensiveIncomeLossTaxAbstract" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_OtherComprehensiveIncomeLossTaxAbstract-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Other comprehensive income (loss):</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OtherComprehensiveIncomeLossTaxAbstract" xlink:to="us-gaap_OtherComprehensiveIncomeLossTaxAbstract-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_DeferredRevenueNoncurrent" xlink:label="us-gaap_DeferredRevenueNoncurrent" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_DeferredRevenueNoncurrent-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_DeferredRevenueNoncurrent</link:label>
    <link:label xlink:label="us-gaap_DeferredRevenueNoncurrent-label" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">DEFERRED REVENUE (Note 19)</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DeferredRevenueNoncurrent" xlink:to="us-gaap_DeferredRevenueNoncurrent-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_LineOfCredit" xlink:label="us-gaap_LineOfCredit" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_LineOfCredit-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_LineOfCredit</link:label>
    <link:label xlink:label="us-gaap_LineOfCredit-label" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Credit facility</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LineOfCredit" xlink:to="us-gaap_LineOfCredit-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_PaymentsOfDebtIssuanceCosts" xlink:label="us-gaap_PaymentsOfDebtIssuanceCosts" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_PaymentsOfDebtIssuanceCosts-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_PaymentsOfDebtIssuanceCosts</link:label>
    <link:label xlink:label="us-gaap_PaymentsOfDebtIssuanceCosts-label" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:type="resource" xml:lang="en-US">Payment of debt issuance costs</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PaymentsOfDebtIssuanceCosts" xlink:to="us-gaap_PaymentsOfDebtIssuanceCosts-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_IncomeTaxAuthorityNameAxis" xlink:label="us-gaap_IncomeTaxAuthorityNameAxis" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_IncomeTaxAuthorityNameAxis-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Income Tax Authority, Name [Axis]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncomeTaxAuthorityNameAxis" xlink:to="us-gaap_IncomeTaxAuthorityNameAxis-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_IncomeTaxAuthorityNameDomain" xlink:label="us-gaap_IncomeTaxAuthorityNameDomain" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_IncomeTaxAuthorityNameDomain-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Income Tax Authority, Name [Domain]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncomeTaxAuthorityNameDomain" xlink:to="us-gaap_IncomeTaxAuthorityNameDomain-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_InternalRevenueServiceIRSMember" xlink:label="us-gaap_InternalRevenueServiceIRSMember" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_InternalRevenueServiceIRSMember-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Internal Revenue Service (IRS) [Member]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_InternalRevenueServiceIRSMember" xlink:to="us-gaap_InternalRevenueServiceIRSMember-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_IncomeTaxAuthorityAxis" xlink:label="us-gaap_IncomeTaxAuthorityAxis" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_IncomeTaxAuthorityAxis-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Income Tax Authority [Axis]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncomeTaxAuthorityAxis" xlink:to="us-gaap_IncomeTaxAuthorityAxis-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_IncomeTaxAuthorityDomain" xlink:label="us-gaap_IncomeTaxAuthorityDomain" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_IncomeTaxAuthorityDomain-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Income Tax Authority [Domain]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncomeTaxAuthorityDomain" xlink:to="us-gaap_IncomeTaxAuthorityDomain-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_DomesticCountryMember" xlink:label="us-gaap_DomesticCountryMember" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_DomesticCountryMember-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Domestic Tax Authority [Member]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DomesticCountryMember" xlink:to="us-gaap_DomesticCountryMember-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ForeignCountryMember" xlink:label="us-gaap_ForeignCountryMember" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_ForeignCountryMember-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Foreign Tax Authority [Member]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ForeignCountryMember" xlink:to="us-gaap_ForeignCountryMember-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_RevenueFromContractWithCustomerTextBlock" xlink:label="us-gaap_RevenueFromContractWithCustomerTextBlock" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_RevenueFromContractWithCustomerTextBlock-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Revenue from Contract with Customer [Text Block]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_RevenueFromContractWithCustomerTextBlock" xlink:to="us-gaap_RevenueFromContractWithCustomerTextBlock-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ReceivablesTradeAndOtherAccountsReceivableAllowanceForDoubtfulAccountsPolicy" xlink:label="us-gaap_ReceivablesTradeAndOtherAccountsReceivableAllowanceForDoubtfulAccountsPolicy" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_ReceivablesTradeAndOtherAccountsReceivableAllowanceForDoubtfulAccountsPolicy-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Receivables, Trade and Other Accounts Receivable, Allowance for Doubtful Accounts, Policy [Policy Text Block]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ReceivablesTradeAndOtherAccountsReceivableAllowanceForDoubtfulAccountsPolicy" xlink:to="us-gaap_ReceivablesTradeAndOtherAccountsReceivableAllowanceForDoubtfulAccountsPolicy-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_SignificantChangeInUnrecognizedTaxBenefitsIsReasonablyPossibleAmountOfUnrecordedBenefit" xlink:label="us-gaap_SignificantChangeInUnrecognizedTaxBenefitsIsReasonablyPossibleAmountOfUnrecordedBenefit" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_SignificantChangeInUnrecognizedTaxBenefitsIsReasonablyPossibleAmountOfUnrecordedBenefit-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_SignificantChangeInUnrecognizedTaxBenefitsIsReasonablyPossibleAmountOfUnrecordedBenefit</link:label>
    <link:label xlink:label="us-gaap_SignificantChangeInUnrecognizedTaxBenefitsIsReasonablyPossibleAmountOfUnrecordedBenefit-label" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Significant Change in Unrecognized Tax Benefits is Reasonably Possible, Amount of Unrecorded Benefit</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_SignificantChangeInUnrecognizedTaxBenefitsIsReasonablyPossibleAmountOfUnrecordedBenefit" xlink:to="us-gaap_SignificantChangeInUnrecognizedTaxBenefitsIsReasonablyPossibleAmountOfUnrecordedBenefit-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ComputerEquipmentMember" xlink:label="us-gaap_ComputerEquipmentMember" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_ComputerEquipmentMember-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Computer Equipment [Member]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ComputerEquipmentMember" xlink:to="us-gaap_ComputerEquipmentMember-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_CashAndCashEquivalentsPolicyTextBlock" xlink:label="us-gaap_CashAndCashEquivalentsPolicyTextBlock" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_CashAndCashEquivalentsPolicyTextBlock-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Cash and Cash Equivalents, Policy [Policy Text Block]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CashAndCashEquivalentsPolicyTextBlock" xlink:to="us-gaap_CashAndCashEquivalentsPolicyTextBlock-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_GeneralAndAdministrativeExpenseMember" xlink:label="us-gaap_GeneralAndAdministrativeExpenseMember" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_GeneralAndAdministrativeExpenseMember-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">General and Administrative Expense [Member]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_GeneralAndAdministrativeExpenseMember" xlink:to="us-gaap_GeneralAndAdministrativeExpenseMember-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_UnrecognizedTaxBenefits" xlink:label="us-gaap_UnrecognizedTaxBenefits" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_UnrecognizedTaxBenefits-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_UnrecognizedTaxBenefits</link:label>
    <link:label xlink:label="us-gaap_UnrecognizedTaxBenefits-label" xlink:role="http://www.xbrl.org/2003/role/periodStartLabel" xlink:type="resource" xml:lang="en-US">Liability, beginning of year</link:label>
    <link:label xlink:label="us-gaap_UnrecognizedTaxBenefits-label" xlink:role="http://www.xbrl.org/2003/role/periodEndLabel" xlink:type="resource" xml:lang="en-US">Liability, end of year</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_UnrecognizedTaxBenefits" xlink:to="us-gaap_UnrecognizedTaxBenefits-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_UnrecognizedTaxBenefitsThatWouldImpactEffectiveTaxRate" xlink:label="us-gaap_UnrecognizedTaxBenefitsThatWouldImpactEffectiveTaxRate" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_UnrecognizedTaxBenefitsThatWouldImpactEffectiveTaxRate-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_UnrecognizedTaxBenefitsThatWouldImpactEffectiveTaxRate</link:label>
    <link:label xlink:label="us-gaap_UnrecognizedTaxBenefitsThatWouldImpactEffectiveTaxRate-label" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Unrecognized Tax Benefits that Would Impact Effective Tax Rate</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_UnrecognizedTaxBenefitsThatWouldImpactEffectiveTaxRate" xlink:to="us-gaap_UnrecognizedTaxBenefitsThatWouldImpactEffectiveTaxRate-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_AccountingPoliciesAbstract" xlink:label="us-gaap_AccountingPoliciesAbstract" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_AccountingPoliciesAbstract-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Accounting Policies [Abstract]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AccountingPoliciesAbstract" xlink:to="us-gaap_AccountingPoliciesAbstract-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_SignificantAccountingPoliciesTextBlock" xlink:label="us-gaap_SignificantAccountingPoliciesTextBlock" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_SignificantAccountingPoliciesTextBlock-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Significant Accounting Policies [Text Block]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_SignificantAccountingPoliciesTextBlock" xlink:to="us-gaap_SignificantAccountingPoliciesTextBlock-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_BasisOfAccountingPolicyPolicyTextBlock" xlink:label="us-gaap_BasisOfAccountingPolicyPolicyTextBlock" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_BasisOfAccountingPolicyPolicyTextBlock-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Basis of Accounting, Policy [Policy Text Block]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_BasisOfAccountingPolicyPolicyTextBlock" xlink:to="us-gaap_BasisOfAccountingPolicyPolicyTextBlock-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_UnrecognizedTaxBenefitsReductionsResultingFromLapseOfApplicableStatuteOfLimitations" xlink:label="us-gaap_UnrecognizedTaxBenefitsReductionsResultingFromLapseOfApplicableStatuteOfLimitations" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_UnrecognizedTaxBenefitsReductionsResultingFromLapseOfApplicableStatuteOfLimitations-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_UnrecognizedTaxBenefitsReductionsResultingFromLapseOfApplicableStatuteOfLimitations</link:label>
    <link:label xlink:label="us-gaap_UnrecognizedTaxBenefitsReductionsResultingFromLapseOfApplicableStatuteOfLimitations-label" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:type="resource" xml:lang="en-US">Lapsing due to statutes of limitations</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_UnrecognizedTaxBenefitsReductionsResultingFromLapseOfApplicableStatuteOfLimitations" xlink:to="us-gaap_UnrecognizedTaxBenefitsReductionsResultingFromLapseOfApplicableStatuteOfLimitations-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_EntityInteractiveDataCurrent" xlink:label="dei_EntityInteractiveDataCurrent" xlink:type="locator"/>
    <link:label xlink:label="dei_EntityInteractiveDataCurrent-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Entity Interactive Data Current</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_EntityInteractiveDataCurrent" xlink:to="dei_EntityInteractiveDataCurrent-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_SellingAndMarketingExpenseMember" xlink:label="us-gaap_SellingAndMarketingExpenseMember" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_SellingAndMarketingExpenseMember-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Selling and Marketing Expense [Member]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_SellingAndMarketingExpenseMember" xlink:to="us-gaap_SellingAndMarketingExpenseMember-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_CumulativeEffectOfNewAccountingPrincipleInPeriodOfAdoption" xlink:label="us-gaap_CumulativeEffectOfNewAccountingPrincipleInPeriodOfAdoption" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_CumulativeEffectOfNewAccountingPrincipleInPeriodOfAdoption-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Cumulative adjustment upon modified retrospective accounting policy adoption (Note 2)</link:label>
    <link:label xlink:label="us-gaap_CumulativeEffectOfNewAccountingPrincipleInPeriodOfAdoption-label" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Cumulative Effect of New Accounting Principle in Period of Adoption</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CumulativeEffectOfNewAccountingPrincipleInPeriodOfAdoption" xlink:to="us-gaap_CumulativeEffectOfNewAccountingPrincipleInPeriodOfAdoption-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_UnrecognizedTaxBenefitsIncreasesResultingFromCurrentPeriodTaxPositions" xlink:label="us-gaap_UnrecognizedTaxBenefitsIncreasesResultingFromCurrentPeriodTaxPositions" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_UnrecognizedTaxBenefitsIncreasesResultingFromCurrentPeriodTaxPositions-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Gross increases &#8211; current period</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_UnrecognizedTaxBenefitsIncreasesResultingFromCurrentPeriodTaxPositions" xlink:to="us-gaap_UnrecognizedTaxBenefitsIncreasesResultingFromCurrentPeriodTaxPositions-label" xlink:type="arc"/>
    <link:loc xlink:href="dsgx-20200131.xsd#dsgx_ContractualObligationDueInSixthYear" xlink:label="dsgx_ContractualObligationDueInSixthYear" xlink:type="locator"/>
    <link:label xlink:label="dsgx_ContractualObligationDueInSixthYear-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">2025</link:label>
    <link:label xlink:label="dsgx_ContractualObligationDueInSixthYear-label" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xml:lang="en-US">Amount of contractual obligation due in the sixth fiscal year following the latest fiscal year. Excludes interim and annual periods when interim periods are reported on a rolling approach, from latest balance sheet date.</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dsgx_ContractualObligationDueInSixthYear" xlink:to="dsgx_ContractualObligationDueInSixthYear-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_CostOfSalesMember" xlink:label="us-gaap_CostOfSalesMember" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_CostOfSalesMember-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Cost of Sales [Member]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CostOfSalesMember" xlink:to="us-gaap_CostOfSalesMember-label" xlink:type="arc"/>
    <link:loc xlink:href="dsgx-20200131.xsd#dsgx_ContractualObligationDueInSeventhYear" xlink:label="dsgx_ContractualObligationDueInSeventhYear" xlink:type="locator"/>
    <link:label xlink:label="dsgx_ContractualObligationDueInSeventhYear-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">2026</link:label>
    <link:label xlink:label="dsgx_ContractualObligationDueInSeventhYear-label" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xml:lang="en-US">Amount of contractual obligation due in the seventh fiscal year following the latest fiscal year. Excludes interim and annual periods when interim periods are reported on a rolling approach, from latest balance sheet date.</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dsgx_ContractualObligationDueInSeventhYear" xlink:to="dsgx_ContractualObligationDueInSeventhYear-label" xlink:type="arc"/>
    <link:loc xlink:href="dsgx-20200131.xsd#dsgx_DerivativeInstrumentSharesOfCommonStockHeld" xlink:label="dsgx_DerivativeInstrumentSharesOfCommonStockHeld" xlink:type="locator"/>
    <link:label xlink:label="dsgx_DerivativeInstrumentSharesOfCommonStockHeld-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">dsgx_DerivativeInstrumentSharesOfCommonStockHeld</link:label>
    <link:label xlink:label="dsgx_DerivativeInstrumentSharesOfCommonStockHeld-label" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Derivative Instrument, Shares of Common Stock Held</link:label>
    <link:label xlink:label="dsgx_DerivativeInstrumentSharesOfCommonStockHeld-label" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xml:lang="en-US">The number of shares held by certain derivative instruments entered into by the company.</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dsgx_DerivativeInstrumentSharesOfCommonStockHeld" xlink:to="dsgx_DerivativeInstrumentSharesOfCommonStockHeld-label" xlink:type="arc"/>
    <link:loc xlink:href="dsgx-20200131.xsd#dsgx_DerivativeInstrumentCommonSharesHeldPerShare" xlink:label="dsgx_DerivativeInstrumentCommonSharesHeldPerShare" xlink:type="locator"/>
    <link:label xlink:label="dsgx_DerivativeInstrumentCommonSharesHeldPerShare-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">dsgx_DerivativeInstrumentCommonSharesHeldPerShare</link:label>
    <link:label xlink:label="dsgx_DerivativeInstrumentCommonSharesHeldPerShare-label" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Derivative Instrument, Common Shares Held, Per Share</link:label>
    <link:label xlink:label="dsgx_DerivativeInstrumentCommonSharesHeldPerShare-label" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xml:lang="en-US">The per share amount of common shares held by certain derivative instruments entered into by the company.</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dsgx_DerivativeInstrumentCommonSharesHeldPerShare" xlink:to="dsgx_DerivativeInstrumentCommonSharesHeldPerShare-label" xlink:type="arc"/>
    <link:loc xlink:href="dsgx-20200131.xsd#dsgx_ShelfProspectusMember" xlink:label="dsgx_ShelfProspectusMember" xlink:type="locator"/>
    <link:label xlink:label="dsgx_ShelfProspectusMember-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Shelf Prospectus [Member]</link:label>
    <link:label xlink:label="dsgx_ShelfProspectusMember-label" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xml:lang="en-US">Related to the short-form base shelf prospectus entered into by the company.</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dsgx_ShelfProspectusMember" xlink:to="dsgx_ShelfProspectusMember-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ResearchAndDevelopmentExpenseMember" xlink:label="us-gaap_ResearchAndDevelopmentExpenseMember" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_ResearchAndDevelopmentExpenseMember-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Research and Development Expense [Member]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ResearchAndDevelopmentExpenseMember" xlink:to="us-gaap_ResearchAndDevelopmentExpenseMember-label" xlink:type="arc"/>
    <link:loc xlink:href="dsgx-20200131.xsd#dsgx_ContractualObligationDueInEigthYear" xlink:label="dsgx_ContractualObligationDueInEigthYear" xlink:type="locator"/>
    <link:label xlink:label="dsgx_ContractualObligationDueInEigthYear-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">2027</link:label>
    <link:label xlink:label="dsgx_ContractualObligationDueInEigthYear-label" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xml:lang="en-US">Amount of contractual obligation due in the eighth fiscal year following the latest fiscal year. Excludes interim and annual periods when interim periods are reported on a rolling approach, from latest balance sheet date.</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dsgx_ContractualObligationDueInEigthYear" xlink:to="dsgx_ContractualObligationDueInEigthYear-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_IncomeStatementLocationAxis" xlink:label="us-gaap_IncomeStatementLocationAxis" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_IncomeStatementLocationAxis-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Income Statement Location [Axis]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncomeStatementLocationAxis" xlink:to="us-gaap_IncomeStatementLocationAxis-label" xlink:type="arc"/>
    <link:loc xlink:href="dsgx-20200131.xsd#dsgx_Range4Member" xlink:label="dsgx_Range4Member" xlink:type="locator"/>
    <link:label xlink:label="dsgx_Range4Member-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Range 4 [Member]</link:label>
    <link:label xlink:label="dsgx_Range4Member-label" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xml:lang="en-US">Related to the fourth exercise price range.</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dsgx_Range4Member" xlink:to="dsgx_Range4Member-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_IncomeStatementLocationDomain" xlink:label="us-gaap_IncomeStatementLocationDomain" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_IncomeStatementLocationDomain-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Income Statement Location [Domain]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncomeStatementLocationDomain" xlink:to="us-gaap_IncomeStatementLocationDomain-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ScheduleOfAccountsNotesLoansAndFinancingReceivableTextBlock" xlink:label="us-gaap_ScheduleOfAccountsNotesLoansAndFinancingReceivableTextBlock" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_ScheduleOfAccountsNotesLoansAndFinancingReceivableTextBlock-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Schedule of Accounts, Notes, Loans and Financing Receivable [Table Text Block]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ScheduleOfAccountsNotesLoansAndFinancingReceivableTextBlock" xlink:to="us-gaap_ScheduleOfAccountsNotesLoansAndFinancingReceivableTextBlock-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_TaxPeriodDomain" xlink:label="us-gaap_TaxPeriodDomain" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_TaxPeriodDomain-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Tax Period [Domain]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_TaxPeriodDomain" xlink:to="us-gaap_TaxPeriodDomain-label" xlink:type="arc"/>
    <link:loc xlink:href="dsgx-20200131.xsd#dsgx_DeferredTaxAssetsLiabilitesNet1" xlink:label="dsgx_DeferredTaxAssetsLiabilitesNet1" xlink:type="locator"/>
    <link:label xlink:label="dsgx_DeferredTaxAssetsLiabilitesNet1-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">dsgx_DeferredTaxAssetsLiabilitesNet1</link:label>
    <link:label xlink:label="dsgx_DeferredTaxAssetsLiabilitesNet1-label" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:type="resource" xml:lang="en-US">Net deferred income taxes, net of valuation allowance</link:label>
    <link:label xlink:label="dsgx_DeferredTaxAssetsLiabilitesNet1-label" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xml:lang="en-US">Amount, after allocation of valuation allowances, of deferred tax asset (liability) attributable to deductible differences and carryforwards, without jurisdictional netting.</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dsgx_DeferredTaxAssetsLiabilitesNet1" xlink:to="dsgx_DeferredTaxAssetsLiabilitesNet1-label" xlink:type="arc"/>
    <link:loc xlink:href="dsgx-20200131.xsd#dsgx_NumberOfMajorCustomers" xlink:label="dsgx_NumberOfMajorCustomers" xlink:type="locator"/>
    <link:label xlink:label="dsgx_NumberOfMajorCustomers-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">dsgx_NumberOfMajorCustomers</link:label>
    <link:label xlink:label="dsgx_NumberOfMajorCustomers-label" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Number of Major Customers</link:label>
    <link:label xlink:label="dsgx_NumberOfMajorCustomers-label" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xml:lang="en-US">Represents the number of major customers accounting for 10% or more of the specified concentration risk benchmark, which includes, but not limited to, sales revenue, accounts receivable, etc.</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dsgx_NumberOfMajorCustomers" xlink:to="dsgx_NumberOfMajorCustomers-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_TaxPeriodAxis" xlink:label="us-gaap_TaxPeriodAxis" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_TaxPeriodAxis-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Tax Period [Axis]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_TaxPeriodAxis" xlink:to="us-gaap_TaxPeriodAxis-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ContractualObligation" xlink:label="us-gaap_ContractualObligation" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_ContractualObligation-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_ContractualObligation</link:label>
    <link:label xlink:label="us-gaap_ContractualObligation-label" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:type="resource" xml:lang="en-US"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ContractualObligation" xlink:to="us-gaap_ContractualObligation-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ContractualObligationDueInFourthYear" xlink:label="us-gaap_ContractualObligationDueInFourthYear" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_ContractualObligationDueInFourthYear-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">2023</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ContractualObligationDueInFourthYear" xlink:to="us-gaap_ContractualObligationDueInFourthYear-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ContractualObligationDueInFifthYear" xlink:label="us-gaap_ContractualObligationDueInFifthYear" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_ContractualObligationDueInFifthYear-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">2024</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ContractualObligationDueInFifthYear" xlink:to="us-gaap_ContractualObligationDueInFifthYear-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ContractualObligationDueInNextTwelveMonths" xlink:label="us-gaap_ContractualObligationDueInNextTwelveMonths" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_ContractualObligationDueInNextTwelveMonths-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">2020</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ContractualObligationDueInNextTwelveMonths" xlink:to="us-gaap_ContractualObligationDueInNextTwelveMonths-label" xlink:type="arc"/>
    <link:loc xlink:href="dsgx-20200131.xsd#dsgx_ShelfProspectusPeriod" xlink:label="dsgx_ShelfProspectusPeriod" xlink:type="locator"/>
    <link:label xlink:label="dsgx_ShelfProspectusPeriod-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">dsgx_ShelfProspectusPeriod</link:label>
    <link:label xlink:label="dsgx_ShelfProspectusPeriod-label" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Shelf Prospectus Period</link:label>
    <link:label xlink:label="dsgx_ShelfProspectusPeriod-label" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xml:lang="en-US">The duration of the shelf prospectus.</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dsgx_ShelfProspectusPeriod" xlink:to="dsgx_ShelfProspectusPeriod-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount" xlink:label="us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount</link:label>
    <link:label xlink:label="us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount-label" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Antidilutive Securities Excluded from Computation of Earnings Per Share, Amount</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount" xlink:to="us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ContractualObligationDueInSecondYear" xlink:label="us-gaap_ContractualObligationDueInSecondYear" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_ContractualObligationDueInSecondYear-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">2021</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ContractualObligationDueInSecondYear" xlink:to="us-gaap_ContractualObligationDueInSecondYear-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ContractualObligationDueInThirdYear" xlink:label="us-gaap_ContractualObligationDueInThirdYear" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_ContractualObligationDueInThirdYear-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">2022</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ContractualObligationDueInThirdYear" xlink:to="us-gaap_ContractualObligationDueInThirdYear-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding" xlink:label="us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Diluted (in shares)</link:label>
    <link:label xlink:label="us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding-label" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Weighted average common and common equivalent shares outstanding (in shares)</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding" xlink:to="us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding-label" xlink:type="arc"/>
    <link:loc xlink:href="dsgx-20200131.xsd#dsgx_ShelfProspectusMaximumAmount" xlink:label="dsgx_ShelfProspectusMaximumAmount" xlink:type="locator"/>
    <link:label xlink:label="dsgx_ShelfProspectusMaximumAmount-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">dsgx_ShelfProspectusMaximumAmount</link:label>
    <link:label xlink:label="dsgx_ShelfProspectusMaximumAmount-label" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Shelf Prospectus, Maximum Amount</link:label>
    <link:label xlink:label="dsgx_ShelfProspectusMaximumAmount-label" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xml:lang="en-US">The maximum amount related to the shelf prospectus.</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dsgx_ShelfProspectusMaximumAmount" xlink:to="dsgx_ShelfProspectusMaximumAmount-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_OperatingLossCarryforwards" xlink:label="us-gaap_OperatingLossCarryforwards" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_OperatingLossCarryforwards-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Operating loss carryforwards</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OperatingLossCarryforwards" xlink:to="us-gaap_OperatingLossCarryforwards-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ProceedsFromLinesOfCredit" xlink:label="us-gaap_ProceedsFromLinesOfCredit" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_ProceedsFromLinesOfCredit-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Proceeds from borrowing on the credit facility</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ProceedsFromLinesOfCredit" xlink:to="us-gaap_ProceedsFromLinesOfCredit-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_SummaryOfOperatingLossCarryforwardsTextBlock" xlink:label="us-gaap_SummaryOfOperatingLossCarryforwardsTextBlock" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_SummaryOfOperatingLossCarryforwardsTextBlock-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Summary of Operating Loss Carryforwards [Table Text Block]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_SummaryOfOperatingLossCarryforwardsTextBlock" xlink:to="us-gaap_SummaryOfOperatingLossCarryforwardsTextBlock-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_StatementTable-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Statement [Table]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_StatementTable-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_StatementOfFinancialPositionAbstract" xlink:label="us-gaap_StatementOfFinancialPositionAbstract" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_StatementOfFinancialPositionAbstract-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Statement of Financial Position [Abstract]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_StatementOfFinancialPositionAbstract" xlink:to="us-gaap_StatementOfFinancialPositionAbstract-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_EarningsPerShareDiluted" xlink:label="us-gaap_EarningsPerShareDiluted" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_EarningsPerShareDiluted-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Diluted (in dollars per share)</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_EarningsPerShareDiluted" xlink:to="us-gaap_EarningsPerShareDiluted-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_WeightedAverageNumberOfSharesOutstandingBasic" xlink:label="us-gaap_WeightedAverageNumberOfSharesOutstandingBasic" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_WeightedAverageNumberOfSharesOutstandingBasic-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Basic (in shares)</link:label>
    <link:label xlink:label="us-gaap_WeightedAverageNumberOfSharesOutstandingBasic-label" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Weighted average shares outstanding (in shares)</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_WeightedAverageNumberOfSharesOutstandingBasic" xlink:to="us-gaap_WeightedAverageNumberOfSharesOutstandingBasic-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_AccountsPayableAndAccruedLiabilitiesDisclosureTextBlock" xlink:label="us-gaap_AccountsPayableAndAccruedLiabilitiesDisclosureTextBlock" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_AccountsPayableAndAccruedLiabilitiesDisclosureTextBlock-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Accounts Payable and Accrued Liabilities Disclosure [Text Block]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AccountsPayableAndAccruedLiabilitiesDisclosureTextBlock" xlink:to="us-gaap_AccountsPayableAndAccruedLiabilitiesDisclosureTextBlock-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_EffectiveIncomeTaxRateContinuingOperations" xlink:label="us-gaap_EffectiveIncomeTaxRateContinuingOperations" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_EffectiveIncomeTaxRateContinuingOperations-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_EffectiveIncomeTaxRateContinuingOperations</link:label>
    <link:label xlink:label="us-gaap_EffectiveIncomeTaxRateContinuingOperations-label" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Effective Income Tax Rate Reconciliation, Percent, Total</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_EffectiveIncomeTaxRateContinuingOperations" xlink:to="us-gaap_EffectiveIncomeTaxRateContinuingOperations-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_BusinessAcquisitionAxis" xlink:label="us-gaap_BusinessAcquisitionAxis" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_BusinessAcquisitionAxis-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Business Acquisition [Axis]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_BusinessAcquisitionAxis" xlink:to="us-gaap_BusinessAcquisitionAxis-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_EarningsPerShareBasic" xlink:label="us-gaap_EarningsPerShareBasic" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_EarningsPerShareBasic-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Basic (in dollars per share)</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_EarningsPerShareBasic" xlink:to="us-gaap_EarningsPerShareBasic-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_BusinessAcquisitionAcquireeDomain" xlink:label="us-gaap_BusinessAcquisitionAcquireeDomain" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_BusinessAcquisitionAcquireeDomain-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Business Acquisition, Acquiree [Domain]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_BusinessAcquisitionAcquireeDomain" xlink:to="us-gaap_BusinessAcquisitionAcquireeDomain-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ContractWithCustomerAssetAndLiabilityTableTextBlock" xlink:label="us-gaap_ContractWithCustomerAssetAndLiabilityTableTextBlock" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_ContractWithCustomerAssetAndLiabilityTableTextBlock-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Contract with Customer, Asset and Liability [Table Text Block]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ContractWithCustomerAssetAndLiabilityTableTextBlock" xlink:to="us-gaap_ContractWithCustomerAssetAndLiabilityTableTextBlock-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_StatementOfCashFlowsAbstract" xlink:label="us-gaap_StatementOfCashFlowsAbstract" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_StatementOfCashFlowsAbstract-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Statement of Cash Flows [Abstract]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_StatementOfCashFlowsAbstract" xlink:to="us-gaap_StatementOfCashFlowsAbstract-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ScheduleOfRevenueFromExternalCustomersAttributedToForeignCountriesByGeographicAreaTextBlock" xlink:label="us-gaap_ScheduleOfRevenueFromExternalCustomersAttributedToForeignCountriesByGeographicAreaTextBlock" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_ScheduleOfRevenueFromExternalCustomersAttributedToForeignCountriesByGeographicAreaTextBlock-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Schedule of Revenue from External Customers Attributed to Foreign Countries by Geographic Area [Table Text Block]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ScheduleOfRevenueFromExternalCustomersAttributedToForeignCountriesByGeographicAreaTextBlock" xlink:to="us-gaap_ScheduleOfRevenueFromExternalCustomersAttributedToForeignCountriesByGeographicAreaTextBlock-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_BusinessCombinationContingentConsiderationArrangementsRangeOfOutcomesValueHigh" xlink:label="us-gaap_BusinessCombinationContingentConsiderationArrangementsRangeOfOutcomesValueHigh" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_BusinessCombinationContingentConsiderationArrangementsRangeOfOutcomesValueHigh-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_BusinessCombinationContingentConsiderationArrangementsRangeOfOutcomesValueHigh</link:label>
    <link:label xlink:label="us-gaap_BusinessCombinationContingentConsiderationArrangementsRangeOfOutcomesValueHigh-label" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Business Combination, Contingent Consideration Arrangements, Range of Outcomes, Value, High</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_BusinessCombinationContingentConsiderationArrangementsRangeOfOutcomesValueHigh" xlink:to="us-gaap_BusinessCombinationContingentConsiderationArrangementsRangeOfOutcomesValueHigh-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ScheduleOfEntityWideDisclosureOnGeographicAreasLongLivedAssetsInIndividualForeignCountriesByCountryTextBlock" xlink:label="us-gaap_ScheduleOfEntityWideDisclosureOnGeographicAreasLongLivedAssetsInIndividualForeignCountriesByCountryTextBlock" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_ScheduleOfEntityWideDisclosureOnGeographicAreasLongLivedAssetsInIndividualForeignCountriesByCountryTextBlock-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Schedule of Disclosure on Geographic Areas, Long-Lived Assets in Individual Foreign Countries by Country [Table Text Block]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ScheduleOfEntityWideDisclosureOnGeographicAreasLongLivedAssetsInIndividualForeignCountriesByCountryTextBlock" xlink:to="us-gaap_ScheduleOfEntityWideDisclosureOnGeographicAreasLongLivedAssetsInIndividualForeignCountriesByCountryTextBlock-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_StatementOfStockholdersEquityAbstract" xlink:label="us-gaap_StatementOfStockholdersEquityAbstract" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_StatementOfStockholdersEquityAbstract-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Statement of Stockholders' Equity [Abstract]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_StatementOfStockholdersEquityAbstract" xlink:to="us-gaap_StatementOfStockholdersEquityAbstract-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_IncomeStatementAbstract" xlink:label="us-gaap_IncomeStatementAbstract" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_IncomeStatementAbstract-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Income Statement [Abstract]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncomeStatementAbstract" xlink:to="us-gaap_IncomeStatementAbstract-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent" xlink:label="us-gaap_OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Other comprehensive income (loss), net of income taxes</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent" xlink:to="us-gaap_OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_BusinessCombinationContingentConsiderationLiability" xlink:label="us-gaap_BusinessCombinationContingentConsiderationLiability" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_BusinessCombinationContingentConsiderationLiability-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_BusinessCombinationContingentConsiderationLiability</link:label>
    <link:label xlink:label="us-gaap_BusinessCombinationContingentConsiderationLiability-label" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Business Combination, Contingent Consideration, Liability, Total</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_BusinessCombinationContingentConsiderationLiability" xlink:to="us-gaap_BusinessCombinationContingentConsiderationLiability-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ScheduleOfAccruedLiabilitiesTableTextBlock" xlink:label="us-gaap_ScheduleOfAccruedLiabilitiesTableTextBlock" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_ScheduleOfAccruedLiabilitiesTableTextBlock-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Schedule of Accrued Liabilities [Table Text Block]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ScheduleOfAccruedLiabilitiesTableTextBlock" xlink:to="us-gaap_ScheduleOfAccruedLiabilitiesTableTextBlock-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_RepaymentsOfDebt" xlink:label="us-gaap_RepaymentsOfDebt" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_RepaymentsOfDebt-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_RepaymentsOfDebt</link:label>
    <link:label xlink:label="us-gaap_RepaymentsOfDebt-label" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:type="resource" xml:lang="en-US">Credit facility repayments</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_RepaymentsOfDebt" xlink:to="us-gaap_RepaymentsOfDebt-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_BusinessAcquisitionEquityInterestsIssuedOrIssuableNumberOfSharesIssued" xlink:label="us-gaap_BusinessAcquisitionEquityInterestsIssuedOrIssuableNumberOfSharesIssued" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_BusinessAcquisitionEquityInterestsIssuedOrIssuableNumberOfSharesIssued-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Acquisitions (Note 3) (in shares)</link:label>
    <link:label xlink:label="us-gaap_BusinessAcquisitionEquityInterestsIssuedOrIssuableNumberOfSharesIssued-label" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Business Acquisition, Equity Interest Issued or Issuable, Number of Shares</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_BusinessAcquisitionEquityInterestsIssuedOrIssuableNumberOfSharesIssued" xlink:to="us-gaap_BusinessAcquisitionEquityInterestsIssuedOrIssuableNumberOfSharesIssued-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ScheduleOfIncomeBeforeIncomeTaxDomesticAndForeignTableTextBlock" xlink:label="us-gaap_ScheduleOfIncomeBeforeIncomeTaxDomesticAndForeignTableTextBlock" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_ScheduleOfIncomeBeforeIncomeTaxDomesticAndForeignTableTextBlock-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Schedule of Income before Income Tax, Domestic and Foreign [Table Text Block]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ScheduleOfIncomeBeforeIncomeTaxDomesticAndForeignTableTextBlock" xlink:to="us-gaap_ScheduleOfIncomeBeforeIncomeTaxDomesticAndForeignTableTextBlock-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ScheduleOfUnrecognizedTaxBenefitsRollForwardTableTextBlock" xlink:label="us-gaap_ScheduleOfUnrecognizedTaxBenefitsRollForwardTableTextBlock" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_ScheduleOfUnrecognizedTaxBenefitsRollForwardTableTextBlock-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Schedule of Unrecognized Tax Benefits Roll Forward [Table Text Block]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ScheduleOfUnrecognizedTaxBenefitsRollForwardTableTextBlock" xlink:to="us-gaap_ScheduleOfUnrecognizedTaxBenefitsRollForwardTableTextBlock-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock" xlink:label="us-gaap_ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Schedule of Components of Income Tax Expense (Benefit) [Table Text Block]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock" xlink:to="us-gaap_ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock" xlink:label="us-gaap_ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Schedule of Deferred Tax Assets and Liabilities [Table Text Block]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock" xlink:to="us-gaap_ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock" xlink:label="us-gaap_ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Schedule of Effective Income Tax Rate Reconciliation [Table Text Block]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock" xlink:to="us-gaap_ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_IncomeTaxReconciliationOtherAdjustments" xlink:label="us-gaap_IncomeTaxReconciliationOtherAdjustments" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_IncomeTaxReconciliationOtherAdjustments-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_IncomeTaxReconciliationOtherAdjustments</link:label>
    <link:label xlink:label="us-gaap_IncomeTaxReconciliationOtherAdjustments-label" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Other, including foreign exchange</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncomeTaxReconciliationOtherAdjustments" xlink:to="us-gaap_IncomeTaxReconciliationOtherAdjustments-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ScheduleOfCommonStockOutstandingRollForwardTableTextBlock" xlink:label="us-gaap_ScheduleOfCommonStockOutstandingRollForwardTableTextBlock" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_ScheduleOfCommonStockOutstandingRollForwardTableTextBlock-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Schedule of Common Stock Outstanding Roll Forward [Table Text Block]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ScheduleOfCommonStockOutstandingRollForwardTableTextBlock" xlink:to="us-gaap_ScheduleOfCommonStockOutstandingRollForwardTableTextBlock-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_NetCashProvidedByUsedInFinancingActivitiesContinuingOperationsAbstract" xlink:label="us-gaap_NetCashProvidedByUsedInFinancingActivitiesContinuingOperationsAbstract" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_NetCashProvidedByUsedInFinancingActivitiesContinuingOperationsAbstract-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">FINANCING ACTIVITIES</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_NetCashProvidedByUsedInFinancingActivitiesContinuingOperationsAbstract" xlink:to="us-gaap_NetCashProvidedByUsedInFinancingActivitiesContinuingOperationsAbstract-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate" xlink:label="us-gaap_EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate</link:label>
    <link:label xlink:label="us-gaap_EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate-label" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Combined basic Canadian statutory rates</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate" xlink:to="us-gaap_EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_IncomeTaxReconciliationChangeInEnactedTaxRate" xlink:label="us-gaap_IncomeTaxReconciliationChangeInEnactedTaxRate" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_IncomeTaxReconciliationChangeInEnactedTaxRate-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_IncomeTaxReconciliationChangeInEnactedTaxRate</link:label>
    <link:label xlink:label="us-gaap_IncomeTaxReconciliationChangeInEnactedTaxRate-label" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Effect of rate changes on current year timing differences</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncomeTaxReconciliationChangeInEnactedTaxRate" xlink:to="us-gaap_IncomeTaxReconciliationChangeInEnactedTaxRate-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_IncomeTaxReconciliationPriorYearIncomeTaxes" xlink:label="us-gaap_IncomeTaxReconciliationPriorYearIncomeTaxes" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_IncomeTaxReconciliationPriorYearIncomeTaxes-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_IncomeTaxReconciliationPriorYearIncomeTaxes</link:label>
    <link:label xlink:label="us-gaap_IncomeTaxReconciliationPriorYearIncomeTaxes-label" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Adjustments relating to previous periods</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncomeTaxReconciliationPriorYearIncomeTaxes" xlink:to="us-gaap_IncomeTaxReconciliationPriorYearIncomeTaxes-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_IncomeTaxReconciliationChangeInDeferredTaxAssetsValuationAllowance" xlink:label="us-gaap_IncomeTaxReconciliationChangeInDeferredTaxAssetsValuationAllowance" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_IncomeTaxReconciliationChangeInDeferredTaxAssetsValuationAllowance-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_IncomeTaxReconciliationChangeInDeferredTaxAssetsValuationAllowance</link:label>
    <link:label xlink:label="us-gaap_IncomeTaxReconciliationChangeInDeferredTaxAssetsValuationAllowance-label" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Valuation allowance</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncomeTaxReconciliationChangeInDeferredTaxAssetsValuationAllowance" xlink:to="us-gaap_IncomeTaxReconciliationChangeInDeferredTaxAssetsValuationAllowance-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_BusinessCombinationAcquiredReceivablesGrossContractualAmount" xlink:label="us-gaap_BusinessCombinationAcquiredReceivablesGrossContractualAmount" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_BusinessCombinationAcquiredReceivablesGrossContractualAmount-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_BusinessCombinationAcquiredReceivablesGrossContractualAmount</link:label>
    <link:label xlink:label="us-gaap_BusinessCombinationAcquiredReceivablesGrossContractualAmount-label" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Business Combination, Acquired Receivables, Gross Contractual Amount</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_BusinessCombinationAcquiredReceivablesGrossContractualAmount" xlink:to="us-gaap_BusinessCombinationAcquiredReceivablesGrossContractualAmount-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_BusinessCombinationAcquiredReceivablesEstimatedUncollectible" xlink:label="us-gaap_BusinessCombinationAcquiredReceivablesEstimatedUncollectible" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_BusinessCombinationAcquiredReceivablesEstimatedUncollectible-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_BusinessCombinationAcquiredReceivablesEstimatedUncollectible</link:label>
    <link:label xlink:label="us-gaap_BusinessCombinationAcquiredReceivablesEstimatedUncollectible-label" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Business Combination, Acquired Receivables, Estimated Uncollectible</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_BusinessCombinationAcquiredReceivablesEstimatedUncollectible" xlink:to="us-gaap_BusinessCombinationAcquiredReceivablesEstimatedUncollectible-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_LiabilityForUncertainTaxPositionsNoncurrent" xlink:label="us-gaap_LiabilityForUncertainTaxPositionsNoncurrent" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_LiabilityForUncertainTaxPositionsNoncurrent-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_LiabilityForUncertainTaxPositionsNoncurrent</link:label>
    <link:label xlink:label="us-gaap_LiabilityForUncertainTaxPositionsNoncurrent-label" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Liability for Uncertainty in Income Taxes, Noncurrent</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LiabilityForUncertainTaxPositionsNoncurrent" xlink:to="us-gaap_LiabilityForUncertainTaxPositionsNoncurrent-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_BusinessCombinationAcquiredReceivablesFairValue" xlink:label="us-gaap_BusinessCombinationAcquiredReceivablesFairValue" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_BusinessCombinationAcquiredReceivablesFairValue-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_BusinessCombinationAcquiredReceivablesFairValue</link:label>
    <link:label xlink:label="us-gaap_BusinessCombinationAcquiredReceivablesFairValue-label" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Business Combination, Acquired Receivable, Fair Value</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_BusinessCombinationAcquiredReceivablesFairValue" xlink:to="us-gaap_BusinessCombinationAcquiredReceivablesFairValue-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ContractWithCustomerLiabilityNoncurrent" xlink:label="us-gaap_ContractWithCustomerLiabilityNoncurrent" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_ContractWithCustomerLiabilityNoncurrent-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Long-term</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ContractWithCustomerLiabilityNoncurrent" xlink:to="us-gaap_ContractWithCustomerLiabilityNoncurrent-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_StockholdersEquity" xlink:label="us-gaap_StockholdersEquity" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_StockholdersEquity-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_StockholdersEquity</link:label>
    <link:label xlink:label="us-gaap_StockholdersEquity-label" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:type="resource" xml:lang="en-US"/>
    <link:label xlink:label="us-gaap_StockholdersEquity-label" xlink:role="http://www.xbrl.org/2003/role/periodStartLabel" xlink:type="resource" xml:lang="en-US">Balance</link:label>
    <link:label xlink:label="us-gaap_StockholdersEquity-label" xlink:role="http://www.xbrl.org/2003/role/periodEndLabel" xlink:type="resource" xml:lang="en-US">Balance</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_StockholdersEquity" xlink:to="us-gaap_StockholdersEquity-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_AccruedIncomeTaxesNoncurrent" xlink:label="us-gaap_AccruedIncomeTaxesNoncurrent" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_AccruedIncomeTaxesNoncurrent-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_AccruedIncomeTaxesNoncurrent</link:label>
    <link:label xlink:label="us-gaap_AccruedIncomeTaxesNoncurrent-label" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">INCOME TAXES PAYABLE</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AccruedIncomeTaxesNoncurrent" xlink:to="us-gaap_AccruedIncomeTaxesNoncurrent-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_PaymentsToAcquireBusinessesNetOfCashAcquired" xlink:label="us-gaap_PaymentsToAcquireBusinessesNetOfCashAcquired" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_PaymentsToAcquireBusinessesNetOfCashAcquired-label" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:type="resource" xml:lang="en-US">Cash, net of cash acquired</link:label>
    <link:label xlink:label="us-gaap_PaymentsToAcquireBusinessesNetOfCashAcquired-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Cash, net of cash acquired</link:label>
    <link:label xlink:label="us-gaap_PaymentsToAcquireBusinessesNetOfCashAcquired-label" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Payments to Acquire Businesses, Net of Cash Acquired, Total</link:label>
    <link:label xlink:label="us-gaap_PaymentsToAcquireBusinessesNetOfCashAcquired-label" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:type="resource" xml:lang="en-US">Acquisition of subsidiaries, net of cash acquired (Note 3)</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PaymentsToAcquireBusinessesNetOfCashAcquired" xlink:to="us-gaap_PaymentsToAcquireBusinessesNetOfCashAcquired-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilities" xlink:label="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilities" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilities-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilities</link:label>
    <link:label xlink:label="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilities-label" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:type="resource" xml:lang="en-US">Current liabilities</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilities" xlink:to="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilities-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_StatementClassOfStockAxis" xlink:label="us-gaap_StatementClassOfStockAxis" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_StatementClassOfStockAxis-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Class of Stock [Axis]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_StatementClassOfStockAxis" xlink:to="us-gaap_StatementClassOfStockAxis-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_CashAcquiredFromAcquisition" xlink:label="us-gaap_CashAcquiredFromAcquisition" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_CashAcquiredFromAcquisition-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Cash acquired</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CashAcquiredFromAcquisition" xlink:to="us-gaap_CashAcquiredFromAcquisition-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedDeferredTaxLiabilities" xlink:label="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedDeferredTaxLiabilities" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedDeferredTaxLiabilities-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedDeferredTaxLiabilities</link:label>
    <link:label xlink:label="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedDeferredTaxLiabilities-label" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:type="resource" xml:lang="en-US">Deferred income tax liability</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedDeferredTaxLiabilities" xlink:to="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedDeferredTaxLiabilities-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_IncomeTaxReconciliationNondeductibleExpenseShareBasedCompensationCost" xlink:label="us-gaap_IncomeTaxReconciliationNondeductibleExpenseShareBasedCompensationCost" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_IncomeTaxReconciliationNondeductibleExpenseShareBasedCompensationCost-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_IncomeTaxReconciliationNondeductibleExpenseShareBasedCompensationCost</link:label>
    <link:label xlink:label="us-gaap_IncomeTaxReconciliationNondeductibleExpenseShareBasedCompensationCost-label" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Stock based compensation</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncomeTaxReconciliationNondeductibleExpenseShareBasedCompensationCost" xlink:to="us-gaap_IncomeTaxReconciliationNondeductibleExpenseShareBasedCompensationCost-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_LongTermDebtNoncurrent" xlink:label="us-gaap_LongTermDebtNoncurrent" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_LongTermDebtNoncurrent-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">LONG-TERM DEBT (Note 12)</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LongTermDebtNoncurrent" xlink:to="us-gaap_LongTermDebtNoncurrent-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock" xlink:label="us-gaap_ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Schedule of Earnings Per Share, Basic and Diluted [Table Text Block]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock" xlink:to="us-gaap_ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesDeferredRevenue" xlink:label="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesDeferredRevenue" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesDeferredRevenue-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesDeferredRevenue</link:label>
    <link:label xlink:label="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesDeferredRevenue-label" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:type="resource" xml:lang="en-US">Deferred revenue</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesDeferredRevenue" xlink:to="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesDeferredRevenue-label" xlink:type="arc"/>
    <link:loc xlink:href="dsgx-20200131.xsd#dsgx_MacroPointLLCMember" xlink:label="dsgx_MacroPointLLCMember" xlink:type="locator"/>
    <link:label xlink:label="dsgx_MacroPointLLCMember-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">MacroPoint LLC [Member]</link:label>
    <link:label xlink:label="dsgx_MacroPointLLCMember-label" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xml:lang="en-US">Related to the acquisition of MacroPoint LLC.</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dsgx_MacroPointLLCMember" xlink:to="dsgx_MacroPointLLCMember-label" xlink:type="arc"/>
    <link:loc xlink:href="dsgx-20200131.xsd#dsgx_PCSTracIncMember" xlink:label="dsgx_PCSTracIncMember" xlink:type="locator"/>
    <link:label xlink:label="dsgx_PCSTracIncMember-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">PCSTrac, Inc. [Member]</link:label>
    <link:label xlink:label="dsgx_PCSTracIncMember-label" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xml:lang="en-US">Related to the acquisition of PCSTrac Inc.</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dsgx_PCSTracIncMember" xlink:to="dsgx_PCSTracIncMember-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ScheduleOfDerivativeAssetsAtFairValueTableTextBlock" xlink:label="us-gaap_ScheduleOfDerivativeAssetsAtFairValueTableTextBlock" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_ScheduleOfDerivativeAssetsAtFairValueTableTextBlock-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Schedule of Derivative Assets at Fair Value [Table Text Block]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ScheduleOfDerivativeAssetsAtFairValueTableTextBlock" xlink:to="us-gaap_ScheduleOfDerivativeAssetsAtFairValueTableTextBlock-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingOptionsWeightedAverageExercisePriceBeginningBalance1" xlink:label="us-gaap_SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingOptionsWeightedAverageExercisePriceBeginningBalance1" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingOptionsWeightedAverageExercisePriceBeginningBalance1-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Weighted Average Exercise Price, Options Outstanding (in dollars per share)</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingOptionsWeightedAverageExercisePriceBeginningBalance1" xlink:to="us-gaap_SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingOptionsWeightedAverageExercisePriceBeginningBalance1-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingOptionsWeightedAverageRemainingContractualTerm2" xlink:label="us-gaap_SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingOptionsWeightedAverageRemainingContractualTerm2" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingOptionsWeightedAverageRemainingContractualTerm2-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Weighted Average Remaining Contractual Life, Options Outstanding (Year)</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingOptionsWeightedAverageRemainingContractualTerm2" xlink:to="us-gaap_SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingOptionsWeightedAverageRemainingContractualTerm2-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeNumberOfExercisableOptions" xlink:label="us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeNumberOfExercisableOptions" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeNumberOfExercisableOptions-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Number of Stock Options, Options Exercisable (in shares)</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeNumberOfExercisableOptions" xlink:to="us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeNumberOfExercisableOptions-label" xlink:type="arc"/>
    <link:loc xlink:href="dsgx-20200131.xsd#dsgx_The2018AcquisitionsMember" xlink:label="dsgx_The2018AcquisitionsMember" xlink:type="locator"/>
    <link:label xlink:label="dsgx_The2018AcquisitionsMember-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">The 2018 Acquisitions [Member]</link:label>
    <link:label xlink:label="dsgx_The2018AcquisitionsMember-label" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xml:lang="en-US">Represents information pertaining to businesses acquired during fiscal year 2018.</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dsgx_The2018AcquisitionsMember" xlink:to="dsgx_The2018AcquisitionsMember-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeExercisableOptionsWeightedAverageExercisePrice1" xlink:label="us-gaap_SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeExercisableOptionsWeightedAverageExercisePrice1" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeExercisableOptionsWeightedAverageExercisePrice1-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Weighted Average Exercise Price, Options Exercisable (in dollars per share)</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeExercisableOptionsWeightedAverageExercisePrice1" xlink:to="us-gaap_SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeExercisableOptionsWeightedAverageExercisePrice1-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_IncomeTaxReconciliationNondeductibleExpenseAmortization" xlink:label="us-gaap_IncomeTaxReconciliationNondeductibleExpenseAmortization" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_IncomeTaxReconciliationNondeductibleExpenseAmortization-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_IncomeTaxReconciliationNondeductibleExpenseAmortization</link:label>
    <link:label xlink:label="us-gaap_IncomeTaxReconciliationNondeductibleExpenseAmortization-label" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Permanent differences including amortization of intangible assets</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncomeTaxReconciliationNondeductibleExpenseAmortization" xlink:to="us-gaap_IncomeTaxReconciliationNondeductibleExpenseAmortization-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeUpperRangeLimit" xlink:label="us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeUpperRangeLimit" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeUpperRangeLimit-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Range of Exercise Prices, Upper Limit (in dollars per share)</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeUpperRangeLimit" xlink:to="us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeUpperRangeLimit-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedDeferredTaxAssets" xlink:label="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedDeferredTaxAssets" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedDeferredTaxAssets-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Deferred income tax asset</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedDeferredTaxAssets" xlink:to="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedDeferredTaxAssets-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeNumberOfOutstandingOptions" xlink:label="us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeNumberOfOutstandingOptions" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeNumberOfOutstandingOptions-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Number of Stock Options, Options Outstanding (in shares)</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeNumberOfOutstandingOptions" xlink:to="us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeNumberOfOutstandingOptions-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeAxis" xlink:label="us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeAxis" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeAxis-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Exercise Price Range [Axis]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeAxis" xlink:to="us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeAxis-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_OtherReceivablesNetCurrent" xlink:label="us-gaap_OtherReceivablesNetCurrent" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_OtherReceivablesNetCurrent-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Other (Note 6)</link:label>
    <link:label xlink:label="us-gaap_OtherReceivablesNetCurrent-label" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:type="resource" xml:lang="en-US"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OtherReceivablesNetCurrent" xlink:to="us-gaap_OtherReceivablesNetCurrent-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeDomain" xlink:label="us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeDomain" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeDomain-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Exercise Price Range [Domain]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeDomain" xlink:to="us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeDomain-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_IncomeTaxReconciliationForeignIncomeTaxRateDifferential" xlink:label="us-gaap_IncomeTaxReconciliationForeignIncomeTaxRateDifferential" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_IncomeTaxReconciliationForeignIncomeTaxRateDifferential-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_IncomeTaxReconciliationForeignIncomeTaxRateDifferential</link:label>
    <link:label xlink:label="us-gaap_IncomeTaxReconciliationForeignIncomeTaxRateDifferential-label" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Effect of differences between Canadian and foreign tax rates</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncomeTaxReconciliationForeignIncomeTaxRateDifferential" xlink:to="us-gaap_IncomeTaxReconciliationForeignIncomeTaxRateDifferential-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedPropertyPlantAndEquipment" xlink:label="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedPropertyPlantAndEquipment" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedPropertyPlantAndEquipment-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Property and equipment</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedPropertyPlantAndEquipment" xlink:to="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedPropertyPlantAndEquipment-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeLowerRangeLimit" xlink:label="us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeLowerRangeLimit" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeLowerRangeLimit-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Range of Exercise Prices, Lower Limit (in dollars per share)</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeLowerRangeLimit" xlink:to="us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeLowerRangeLimit-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOtherNoncurrentAssets" xlink:label="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOtherNoncurrentAssets" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOtherNoncurrentAssets-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Other long-term assets</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOtherNoncurrentAssets" xlink:to="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOtherNoncurrentAssets-label" xlink:type="arc"/>
  </link:labelLink>
</link:linkbase>
</XBRL>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-101.PRE
<SEQUENCE>12
<FILENAME>dsgx-20200131_pre.xml
<DESCRIPTION>XBRL TAXONOMY EXTENSION PRESENTATION LINKBASE
<TEXT>
<XBRL>
<?xml version="1.0" encoding="US-ASCII" standalone="no"?>
<!--Generated by ThunderDome XBRL - 06:59PM UTC 2020-04-03--><link:linkbase xmlns:link="http://www.xbrl.org/2003/linkbase" xmlns:xbrldt="http://xbrl.org/2005/xbrldt" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.xbrl.org/2003/linkbase http://www.xbrl.org/2003/xbrl-linkbase-2003-12-31.xsd">
  <link:roleRef roleURI="http://www.descartes.com/20200131/role/statement-note-21-supplemental-cash-flow-information" xlink:href="dsgx-20200131.xsd#statement-note-21-supplemental-cash-flow-information" xlink:type="simple"/>
  <link:presentationLink xlink:role="http://www.descartes.com/20200131/role/statement-note-21-supplemental-cash-flow-information" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="dsgx-20200131.xsd#dsgx_NotesToFinancialStatementsAbstract" xlink:label="dsgx_NotesToFinancialStatementsAbstract" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_CashFlowSupplementalDisclosuresTextBlock" xlink:label="us-gaap_CashFlowSupplementalDisclosuresTextBlock" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_DisclosureTextBlockAbstract" xlink:label="us-gaap_DisclosureTextBlockAbstract" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_DisclosureTextBlockAbstract" xlink:label="us-gaap_DisclosureTextBlockAbstract-2" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dsgx_NotesToFinancialStatementsAbstract" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_DisclosureTextBlockAbstract-2" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_StatementLineItems" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DisclosureTextBlockAbstract" xlink:to="us-gaap_CashFlowSupplementalDisclosuresTextBlock" xlink:type="arc"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.descartes.com/20200131/role/statement-note-20-other-charges" xlink:href="dsgx-20200131.xsd#statement-note-20-other-charges" xlink:type="simple"/>
  <link:presentationLink xlink:role="http://www.descartes.com/20200131/role/statement-note-20-other-charges" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="dsgx-20200131.xsd#dsgx_NotesToFinancialStatementsAbstract" xlink:label="dsgx_NotesToFinancialStatementsAbstract" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_DisclosureTextBlockAbstract" xlink:label="us-gaap_DisclosureTextBlockAbstract" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_DisclosureTextBlockAbstract" xlink:label="us-gaap_DisclosureTextBlockAbstract-2" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_OtherIncomeAndOtherExpenseDisclosureTextBlock" xlink:label="us-gaap_OtherIncomeAndOtherExpenseDisclosureTextBlock" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dsgx_NotesToFinancialStatementsAbstract" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_DisclosureTextBlockAbstract-2" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_StatementLineItems" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DisclosureTextBlockAbstract" xlink:to="us-gaap_OtherIncomeAndOtherExpenseDisclosureTextBlock" xlink:type="arc"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.descartes.com/20200131/role/statement-note-11-accrued-liabilities" xlink:href="dsgx-20200131.xsd#statement-note-11-accrued-liabilities" xlink:type="simple"/>
  <link:presentationLink xlink:role="http://www.descartes.com/20200131/role/statement-note-11-accrued-liabilities" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="dsgx-20200131.xsd#dsgx_NotesToFinancialStatementsAbstract" xlink:label="dsgx_NotesToFinancialStatementsAbstract" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_AccountsPayableAndAccruedLiabilitiesDisclosureTextBlock" xlink:label="us-gaap_AccountsPayableAndAccruedLiabilitiesDisclosureTextBlock" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_DisclosureTextBlockAbstract" xlink:label="us-gaap_DisclosureTextBlockAbstract" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_DisclosureTextBlockAbstract" xlink:label="us-gaap_DisclosureTextBlockAbstract-2" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dsgx_NotesToFinancialStatementsAbstract" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_DisclosureTextBlockAbstract-2" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_StatementLineItems" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DisclosureTextBlockAbstract" xlink:to="us-gaap_AccountsPayableAndAccruedLiabilitiesDisclosureTextBlock" xlink:type="arc"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.descartes.com/20200131/role/statement-note-10-goodwill" xlink:href="dsgx-20200131.xsd#statement-note-10-goodwill" xlink:type="simple"/>
  <link:presentationLink xlink:role="http://www.descartes.com/20200131/role/statement-note-10-goodwill" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="dsgx-20200131.xsd#dsgx_NotesToFinancialStatementsAbstract" xlink:label="dsgx_NotesToFinancialStatementsAbstract" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_DisclosureTextBlockAbstract" xlink:label="us-gaap_DisclosureTextBlockAbstract" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_DisclosureTextBlockAbstract" xlink:label="us-gaap_DisclosureTextBlockAbstract-2" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_GoodwillDisclosureTextBlock" xlink:label="us-gaap_GoodwillDisclosureTextBlock" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dsgx_NotesToFinancialStatementsAbstract" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_DisclosureTextBlockAbstract-2" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_StatementLineItems" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DisclosureTextBlockAbstract" xlink:to="us-gaap_GoodwillDisclosureTextBlock" xlink:type="arc"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.descartes.com/20200131/role/statement--note-8-property-and-equipment-" xlink:href="dsgx-20200131.xsd#statement--note-8-property-and-equipment-" xlink:type="simple"/>
  <link:presentationLink xlink:role="http://www.descartes.com/20200131/role/statement--note-8-property-and-equipment-" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="dsgx-20200131.xsd#dsgx_NotesToFinancialStatementsAbstract" xlink:label="dsgx_NotesToFinancialStatementsAbstract" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_DisclosureTextBlockAbstract" xlink:label="us-gaap_DisclosureTextBlockAbstract" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_DisclosureTextBlockAbstract" xlink:label="us-gaap_DisclosureTextBlockAbstract-2" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_PropertyPlantAndEquipmentDisclosureTextBlock" xlink:label="us-gaap_PropertyPlantAndEquipmentDisclosureTextBlock" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dsgx_NotesToFinancialStatementsAbstract" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_DisclosureTextBlockAbstract-2" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_StatementLineItems" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DisclosureTextBlockAbstract" xlink:to="us-gaap_PropertyPlantAndEquipmentDisclosureTextBlock" xlink:type="arc"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.descartes.com/20200131/role/statement-note-1-description-of-the-business" xlink:href="dsgx-20200131.xsd#statement-note-1-description-of-the-business" xlink:type="simple"/>
  <link:presentationLink xlink:role="http://www.descartes.com/20200131/role/statement-note-1-description-of-the-business" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="dsgx-20200131.xsd#dsgx_NotesToFinancialStatementsAbstract" xlink:label="dsgx_NotesToFinancialStatementsAbstract" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_BusinessDescriptionAndBasisOfPresentationTextBlock" xlink:label="us-gaap_BusinessDescriptionAndBasisOfPresentationTextBlock" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_DisclosureTextBlockAbstract" xlink:label="us-gaap_DisclosureTextBlockAbstract" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_DisclosureTextBlockAbstract" xlink:label="us-gaap_DisclosureTextBlockAbstract-2" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dsgx_NotesToFinancialStatementsAbstract" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_DisclosureTextBlockAbstract-2" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_StatementLineItems" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DisclosureTextBlockAbstract" xlink:to="us-gaap_BusinessDescriptionAndBasisOfPresentationTextBlock" xlink:type="arc"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.descartes.com/20200131/role/statement-document-and-entity-information" xlink:href="dsgx-20200131.xsd#statement-document-and-entity-information" xlink:type="simple"/>
  <link:presentationLink xlink:role="http://www.descartes.com/20200131/role/statement-document-and-entity-information" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_AmendmentFlag" xlink:label="dei_AmendmentFlag" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_CurrentFiscalYearEndDate" xlink:label="dei_CurrentFiscalYearEndDate" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_DocumentFiscalPeriodFocus" xlink:label="dei_DocumentFiscalPeriodFocus" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_DocumentFiscalYearFocus" xlink:label="dei_DocumentFiscalYearFocus" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_DocumentInformationLineItems" xlink:label="dei_DocumentInformationLineItems" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_DocumentInformationTable" xlink:label="dei_DocumentInformationTable" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_DocumentPeriodEndDate" xlink:label="dei_DocumentPeriodEndDate" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_DocumentType" xlink:label="dei_DocumentType" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_EntityCentralIndexKey" xlink:label="dei_EntityCentralIndexKey" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_EntityCommonStockSharesOutstanding" xlink:label="dei_EntityCommonStockSharesOutstanding" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_EntityCurrentReportingStatus" xlink:label="dei_EntityCurrentReportingStatus" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_EntityEmergingGrowthCompany" xlink:label="dei_EntityEmergingGrowthCompany" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_EntityInteractiveDataCurrent" xlink:label="dei_EntityInteractiveDataCurrent" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_EntityRegistrantName" xlink:label="dei_EntityRegistrantName" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_DocumentInformationTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_DocumentInformationTable" xlink:to="dei_DocumentInformationLineItems" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_DocumentInformationLineItems" xlink:to="dei_EntityRegistrantName" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_DocumentInformationLineItems" xlink:to="dei_EntityCentralIndexKey" xlink:type="arc"/>
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_DocumentInformationLineItems" xlink:to="dei_CurrentFiscalYearEndDate" xlink:type="arc"/>
    <link:presentationArc order="4" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_DocumentInformationLineItems" xlink:to="dei_EntityCurrentReportingStatus" xlink:type="arc"/>
    <link:presentationArc order="7" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_DocumentInformationLineItems" xlink:to="dei_EntityEmergingGrowthCompany" xlink:type="arc"/>
    <link:presentationArc order="9" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_DocumentInformationLineItems" xlink:to="dei_EntityInteractiveDataCurrent" xlink:type="arc"/>
    <link:presentationArc order="10" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_DocumentInformationLineItems" xlink:to="dei_EntityCommonStockSharesOutstanding" xlink:type="arc"/>
    <link:presentationArc order="12" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_DocumentInformationLineItems" xlink:to="dei_DocumentType" xlink:type="arc"/>
    <link:presentationArc order="13" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_DocumentInformationLineItems" xlink:to="dei_DocumentPeriodEndDate" xlink:type="arc"/>
    <link:presentationArc order="14" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_DocumentInformationLineItems" xlink:to="dei_DocumentFiscalYearFocus" xlink:type="arc"/>
    <link:presentationArc order="15" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_DocumentInformationLineItems" xlink:to="dei_DocumentFiscalPeriodFocus" xlink:type="arc"/>
    <link:presentationArc order="16" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_DocumentInformationLineItems" xlink:to="dei_AmendmentFlag" xlink:type="arc"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.descartes.com/20200131/role/statement-consolidated-balance-sheets-parentheticals" xlink:href="dsgx-20200131.xsd#statement-consolidated-balance-sheets-parentheticals" xlink:type="simple"/>
  <link:presentationLink xlink:role="http://www.descartes.com/20200131/role/statement-consolidated-balance-sheets-parentheticals" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_CommonStockSharesIssued" xlink:label="us-gaap_CommonStockSharesIssued" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_CommonStockSharesOutstanding" xlink:label="us-gaap_CommonStockSharesOutstanding" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_StatementOfFinancialPositionAbstract" xlink:label="us-gaap_StatementOfFinancialPositionAbstract" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementOfFinancialPositionAbstract" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_StatementLineItems" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_CommonStockSharesIssued" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_CommonStockSharesOutstanding" xlink:type="arc"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.descartes.com/20200131/role/statement-consolidated-statements-of-comprehensive-income-parentheticals" xlink:href="dsgx-20200131.xsd#statement-consolidated-statements-of-comprehensive-income-parentheticals" xlink:type="simple"/>
  <link:presentationLink xlink:role="http://www.descartes.com/20200131/role/statement-consolidated-statements-of-comprehensive-income-parentheticals" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTranslationAdjustmentTax" xlink:label="us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTranslationAdjustmentTax" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_StatementOfIncomeAndComprehensiveIncomeAbstract" xlink:label="us-gaap_StatementOfIncomeAndComprehensiveIncomeAbstract" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementOfIncomeAndComprehensiveIncomeAbstract" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_StatementLineItems" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTranslationAdjustmentTax" xlink:type="arc"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.descartes.com/20200131/role/statement-note-2-basis-of-presentation" xlink:href="dsgx-20200131.xsd#statement-note-2-basis-of-presentation" xlink:type="simple"/>
  <link:presentationLink xlink:role="http://www.descartes.com/20200131/role/statement-note-2-basis-of-presentation" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="dsgx-20200131.xsd#dsgx_CashsettledRestrictedSharePlanMember" xlink:label="dsgx_CashsettledRestrictedSharePlanMember" xlink:type="locator"/>
    <link:loc xlink:href="dsgx-20200131.xsd#dsgx_DeferredShareUnitPlanMember" xlink:label="dsgx_DeferredShareUnitPlanMember" xlink:type="locator"/>
    <link:loc xlink:href="dsgx-20200131.xsd#dsgx_DirectorsAndOfficersMember" xlink:label="dsgx_DirectorsAndOfficersMember" xlink:type="locator"/>
    <link:loc xlink:href="dsgx-20200131.xsd#dsgx_ExistingTechnologyMember" xlink:label="dsgx_ExistingTechnologyMember" xlink:type="locator"/>
    <link:loc xlink:href="dsgx-20200131.xsd#dsgx_NotesToFinancialStatementsAbstract" xlink:label="dsgx_NotesToFinancialStatementsAbstract" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/srt/2019/elts/srt-2019-01-31.xsd#srt_MaximumMember" xlink:label="srt_MaximumMember" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/srt/2019/elts/srt-2019-01-31.xsd#srt_MinimumMember" xlink:label="srt_MinimumMember" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/srt/2019/elts/srt-2019-01-31.xsd#srt_RangeAxis" xlink:label="srt_RangeAxis" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/srt/2019/elts/srt-2019-01-31.xsd#srt_RangeMember" xlink:label="srt_RangeMember" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/srt/2019/elts/srt-2019-01-31.xsd#srt_TitleOfIndividualAxis" xlink:label="srt_TitleOfIndividualAxis" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/srt/2019/elts/srt-2019-01-31.xsd#srt_TitleOfIndividualWithRelationshipToEntityDomain" xlink:label="srt_TitleOfIndividualWithRelationshipToEntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_AccountingStandardsUpdate201409Member" xlink:label="us-gaap_AccountingStandardsUpdate201409Member" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_AccountingStandardsUpdate201602Member" xlink:label="us-gaap_AccountingStandardsUpdate201602Member" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_AccountingStandardsUpdate201606Member" xlink:label="us-gaap_AccountingStandardsUpdate201606Member" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_AccountsReceivableMember" xlink:label="us-gaap_AccountsReceivableMember" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_AdjustmentsForNewAccountingPronouncementsAxis" xlink:label="us-gaap_AdjustmentsForNewAccountingPronouncementsAxis" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_AwardTypeAxis" xlink:label="us-gaap_AwardTypeAxis" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ComputerEquipmentMember" xlink:label="us-gaap_ComputerEquipmentMember" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ConcentrationRiskBenchmarkDomain" xlink:label="us-gaap_ConcentrationRiskBenchmarkDomain" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ConcentrationRiskByBenchmarkAxis" xlink:label="us-gaap_ConcentrationRiskByBenchmarkAxis" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ConcentrationRiskByTypeAxis" xlink:label="us-gaap_ConcentrationRiskByTypeAxis" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ConcentrationRiskTypeDomain" xlink:label="us-gaap_ConcentrationRiskTypeDomain" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_CustomerConcentrationRiskMember" xlink:label="us-gaap_CustomerConcentrationRiskMember" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_CustomerRelationshipsMember" xlink:label="us-gaap_CustomerRelationshipsMember" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_DisclosureTextBlockAbstract" xlink:label="us-gaap_DisclosureTextBlockAbstract" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_DisclosureTextBlockAbstract" xlink:label="us-gaap_DisclosureTextBlockAbstract-2" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_EmployeeStockOptionMember" xlink:label="us-gaap_EmployeeStockOptionMember" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_EquityComponentDomain" xlink:label="us-gaap_EquityComponentDomain" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis" xlink:label="us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain" xlink:label="us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_FurnitureAndFixturesMember" xlink:label="us-gaap_FurnitureAndFixturesMember" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_NoncompeteAgreementsMember" xlink:label="us-gaap_NoncompeteAgreementsMember" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_PerformanceSharesMember" xlink:label="us-gaap_PerformanceSharesMember" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_PropertyPlantAndEquipmentByTypeAxis" xlink:label="us-gaap_PropertyPlantAndEquipmentByTypeAxis" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_PropertyPlantAndEquipmentTypeDomain" xlink:label="us-gaap_PropertyPlantAndEquipmentTypeDomain" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_RestrictedStockUnitsRSUMember" xlink:label="us-gaap_RestrictedStockUnitsRSUMember" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_RetainedEarningsMember" xlink:label="us-gaap_RetainedEarningsMember" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:label="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_SignificantAccountingPoliciesTextBlock" xlink:label="us-gaap_SignificantAccountingPoliciesTextBlock" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_StatementEquityComponentsAxis" xlink:label="us-gaap_StatementEquityComponentsAxis" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_TradeNamesMember" xlink:label="us-gaap_TradeNamesMember" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_TypeOfAdoptionMember" xlink:label="us-gaap_TypeOfAdoptionMember" xlink:type="locator"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dsgx_NotesToFinancialStatementsAbstract" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_DisclosureTextBlockAbstract-2" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_RangeAxis" xlink:to="srt_RangeMember" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AdjustmentsForNewAccountingPronouncementsAxis" xlink:to="us-gaap_TypeOfAdoptionMember" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementEquityComponentsAxis" xlink:to="us-gaap_EquityComponentDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ConcentrationRiskByTypeAxis" xlink:to="us-gaap_ConcentrationRiskTypeDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ConcentrationRiskByBenchmarkAxis" xlink:to="us-gaap_ConcentrationRiskBenchmarkDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_PropertyPlantAndEquipmentByTypeAxis" xlink:to="us-gaap_PropertyPlantAndEquipmentTypeDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AwardTypeAxis" xlink:to="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis" xlink:to="us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_TitleOfIndividualAxis" xlink:to="srt_TitleOfIndividualWithRelationshipToEntityDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_ConcentrationRiskByTypeAxis" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ConcentrationRiskByTypeAxis" xlink:to="us-gaap_CustomerConcentrationRiskMember" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_ConcentrationRiskByBenchmarkAxis" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ConcentrationRiskByBenchmarkAxis" xlink:to="us-gaap_AccountsReceivableMember" xlink:type="arc"/>
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis" xlink:to="us-gaap_CustomerRelationshipsMember" xlink:type="arc"/>
    <link:presentationArc order="3" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="srt_RangeAxis" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_RangeAxis" xlink:to="srt_MinimumMember" xlink:type="arc"/>
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_RangeAxis" xlink:to="srt_MaximumMember" xlink:type="arc"/>
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis" xlink:to="dsgx_ExistingTechnologyMember" xlink:type="arc"/>
    <link:presentationArc order="3" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis" xlink:to="us-gaap_TradeNamesMember" xlink:type="arc"/>
    <link:presentationArc order="4" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis" xlink:to="us-gaap_NoncompeteAgreementsMember" xlink:type="arc"/>
    <link:presentationArc order="4" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_PropertyPlantAndEquipmentByTypeAxis" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_PropertyPlantAndEquipmentByTypeAxis" xlink:to="us-gaap_ComputerEquipmentMember" xlink:type="arc"/>
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_PropertyPlantAndEquipmentByTypeAxis" xlink:to="us-gaap_FurnitureAndFixturesMember" xlink:type="arc"/>
    <link:presentationArc order="5" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_AwardTypeAxis" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AwardTypeAxis" xlink:to="us-gaap_EmployeeStockOptionMember" xlink:type="arc"/>
    <link:presentationArc order="6" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="srt_TitleOfIndividualAxis" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_TitleOfIndividualAxis" xlink:to="dsgx_DirectorsAndOfficersMember" xlink:type="arc"/>
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AwardTypeAxis" xlink:to="us-gaap_PerformanceSharesMember" xlink:type="arc"/>
    <link:presentationArc order="3" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AwardTypeAxis" xlink:to="us-gaap_RestrictedStockUnitsRSUMember" xlink:type="arc"/>
    <link:presentationArc order="4" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AwardTypeAxis" xlink:to="dsgx_DeferredShareUnitPlanMember" xlink:type="arc"/>
    <link:presentationArc order="5" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AwardTypeAxis" xlink:to="dsgx_CashsettledRestrictedSharePlanMember" xlink:type="arc"/>
    <link:presentationArc order="7" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_AdjustmentsForNewAccountingPronouncementsAxis" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AdjustmentsForNewAccountingPronouncementsAxis" xlink:to="us-gaap_AccountingStandardsUpdate201409Member" xlink:type="arc"/>
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AdjustmentsForNewAccountingPronouncementsAxis" xlink:to="us-gaap_AccountingStandardsUpdate201606Member" xlink:type="arc"/>
    <link:presentationArc order="8" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_StatementEquityComponentsAxis" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementEquityComponentsAxis" xlink:to="us-gaap_RetainedEarningsMember" xlink:type="arc"/>
    <link:presentationArc order="3" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AdjustmentsForNewAccountingPronouncementsAxis" xlink:to="us-gaap_AccountingStandardsUpdate201602Member" xlink:type="arc"/>
    <link:presentationArc order="9" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:presentationArc order="10" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_StatementLineItems" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DisclosureTextBlockAbstract" xlink:to="us-gaap_SignificantAccountingPoliciesTextBlock" xlink:type="arc"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.descartes.com/20200131/role/statement-note-3-acquisitions" xlink:href="dsgx-20200131.xsd#statement-note-3-acquisitions" xlink:type="simple"/>
  <link:presentationLink xlink:role="http://www.descartes.com/20200131/role/statement-note-3-acquisitions" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="dsgx-20200131.xsd#dsgx_AljexSoftwareIncMember" xlink:label="dsgx_AljexSoftwareIncMember" xlink:type="locator"/>
    <link:loc xlink:href="dsgx-20200131.xsd#dsgx_BesttransportMember" xlink:label="dsgx_BesttransportMember" xlink:type="locator"/>
    <link:loc xlink:href="dsgx-20200131.xsd#dsgx_CoreTransportTechnologiesNzLimitedMember" xlink:label="dsgx_CoreTransportTechnologiesNzLimitedMember" xlink:type="locator"/>
    <link:loc xlink:href="dsgx-20200131.xsd#dsgx_MacroPointLLCMember" xlink:label="dsgx_MacroPointLLCMember" xlink:type="locator"/>
    <link:loc xlink:href="dsgx-20200131.xsd#dsgx_NotesToFinancialStatementsAbstract" xlink:label="dsgx_NotesToFinancialStatementsAbstract" xlink:type="locator"/>
    <link:loc xlink:href="dsgx-20200131.xsd#dsgx_PCSTracIncMember" xlink:label="dsgx_PCSTracIncMember" xlink:type="locator"/>
    <link:loc xlink:href="dsgx-20200131.xsd#dsgx_PinPointMember" xlink:label="dsgx_PinPointMember" xlink:type="locator"/>
    <link:loc xlink:href="dsgx-20200131.xsd#dsgx_ShipRushMember" xlink:label="dsgx_ShipRushMember" xlink:type="locator"/>
    <link:loc xlink:href="dsgx-20200131.xsd#dsgx_StepcomMember" xlink:label="dsgx_StepcomMember" xlink:type="locator"/>
    <link:loc xlink:href="dsgx-20200131.xsd#dsgx_The2020AcquisitionsMember" xlink:label="dsgx_The2020AcquisitionsMember" xlink:type="locator"/>
    <link:loc xlink:href="dsgx-20200131.xsd#dsgx_VelocityMailMember" xlink:label="dsgx_VelocityMailMember" xlink:type="locator"/>
    <link:loc xlink:href="dsgx-20200131.xsd#dsgx_VisualComplianceMember" xlink:label="dsgx_VisualComplianceMember" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_BusinessAcquisitionAcquireeDomain" xlink:label="us-gaap_BusinessAcquisitionAcquireeDomain" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_BusinessAcquisitionAxis" xlink:label="us-gaap_BusinessAcquisitionAxis" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_BusinessCombinationDisclosureTextBlock" xlink:label="us-gaap_BusinessCombinationDisclosureTextBlock" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_DisclosureTextBlockAbstract" xlink:label="us-gaap_DisclosureTextBlockAbstract" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_DisclosureTextBlockAbstract" xlink:label="us-gaap_DisclosureTextBlockAbstract-2" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dsgx_NotesToFinancialStatementsAbstract" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_DisclosureTextBlockAbstract-2" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_BusinessAcquisitionAxis" xlink:to="us-gaap_BusinessAcquisitionAcquireeDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_BusinessAcquisitionAxis" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_BusinessAcquisitionAxis" xlink:to="dsgx_VisualComplianceMember" xlink:type="arc"/>
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_BusinessAcquisitionAxis" xlink:to="dsgx_CoreTransportTechnologiesNzLimitedMember" xlink:type="arc"/>
    <link:presentationArc order="3" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_BusinessAcquisitionAxis" xlink:to="dsgx_StepcomMember" xlink:type="arc"/>
    <link:presentationArc order="4" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_BusinessAcquisitionAxis" xlink:to="dsgx_BesttransportMember" xlink:type="arc"/>
    <link:presentationArc order="5" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_BusinessAcquisitionAxis" xlink:to="dsgx_The2020AcquisitionsMember" xlink:type="arc"/>
    <link:presentationArc order="6" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_BusinessAcquisitionAxis" xlink:to="dsgx_AljexSoftwareIncMember" xlink:type="arc"/>
    <link:presentationArc order="7" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_BusinessAcquisitionAxis" xlink:to="dsgx_VelocityMailMember" xlink:type="arc"/>
    <link:presentationArc order="8" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_BusinessAcquisitionAxis" xlink:to="dsgx_PinPointMember" xlink:type="arc"/>
    <link:presentationArc order="9" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_BusinessAcquisitionAxis" xlink:to="dsgx_MacroPointLLCMember" xlink:type="arc"/>
    <link:presentationArc order="10" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_BusinessAcquisitionAxis" xlink:to="dsgx_PCSTracIncMember" xlink:type="arc"/>
    <link:presentationArc order="11" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_BusinessAcquisitionAxis" xlink:to="dsgx_ShipRushMember" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_StatementLineItems" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DisclosureTextBlockAbstract" xlink:to="us-gaap_BusinessCombinationDisclosureTextBlock" xlink:type="arc"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.descartes.com/20200131/role/statement-note-4-fair-value-measurements" xlink:href="dsgx-20200131.xsd#statement-note-4-fair-value-measurements" xlink:type="simple"/>
  <link:presentationLink xlink:role="http://www.descartes.com/20200131/role/statement-note-4-fair-value-measurements" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="dsgx-20200131.xsd#dsgx_NotesToFinancialStatementsAbstract" xlink:label="dsgx_NotesToFinancialStatementsAbstract" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_DisclosureTextBlockAbstract" xlink:label="us-gaap_DisclosureTextBlockAbstract" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_DisclosureTextBlockAbstract" xlink:label="us-gaap_DisclosureTextBlockAbstract-2" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_FairValueDisclosuresTextBlock" xlink:label="us-gaap_FairValueDisclosuresTextBlock" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_GeneralAndAdministrativeExpenseMember" xlink:label="us-gaap_GeneralAndAdministrativeExpenseMember" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_IncomeStatementLocationAxis" xlink:label="us-gaap_IncomeStatementLocationAxis" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_IncomeStatementLocationDomain" xlink:label="us-gaap_IncomeStatementLocationDomain" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dsgx_NotesToFinancialStatementsAbstract" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_DisclosureTextBlockAbstract-2" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncomeStatementLocationAxis" xlink:to="us-gaap_IncomeStatementLocationDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_IncomeStatementLocationAxis" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncomeStatementLocationAxis" xlink:to="us-gaap_GeneralAndAdministrativeExpenseMember" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_StatementLineItems" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DisclosureTextBlockAbstract" xlink:to="us-gaap_FairValueDisclosuresTextBlock" xlink:type="arc"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.descartes.com/20200131/role/statement-note-5-trade-receivables" xlink:href="dsgx-20200131.xsd#statement-note-5-trade-receivables" xlink:type="simple"/>
  <link:presentationLink xlink:role="http://www.descartes.com/20200131/role/statement-note-5-trade-receivables" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="dsgx-20200131.xsd#dsgx_NotesToFinancialStatementsAbstract" xlink:label="dsgx_NotesToFinancialStatementsAbstract" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_DisclosureTextBlockAbstract" xlink:label="us-gaap_DisclosureTextBlockAbstract" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_DisclosureTextBlockAbstract" xlink:label="us-gaap_DisclosureTextBlockAbstract-2" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_LoansNotesTradeAndOtherReceivablesDisclosureTextBlock" xlink:label="us-gaap_LoansNotesTradeAndOtherReceivablesDisclosureTextBlock" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dsgx_NotesToFinancialStatementsAbstract" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_DisclosureTextBlockAbstract-2" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_StatementLineItems" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DisclosureTextBlockAbstract" xlink:to="us-gaap_LoansNotesTradeAndOtherReceivablesDisclosureTextBlock" xlink:type="arc"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.descartes.com/20200131/role/statement-note-6-other-receivables" xlink:href="dsgx-20200131.xsd#statement-note-6-other-receivables" xlink:type="simple"/>
  <link:presentationLink xlink:role="http://www.descartes.com/20200131/role/statement-note-6-other-receivables" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="dsgx-20200131.xsd#dsgx_NotesToFinancialStatementsAbstract" xlink:label="dsgx_NotesToFinancialStatementsAbstract" xlink:type="locator"/>
    <link:loc xlink:href="dsgx-20200131.xsd#dsgx_OtherReceivablesTextBlock" xlink:label="dsgx_OtherReceivablesTextBlock" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_DisclosureTextBlockAbstract" xlink:label="us-gaap_DisclosureTextBlockAbstract" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_DisclosureTextBlockAbstract" xlink:label="us-gaap_DisclosureTextBlockAbstract-2" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dsgx_NotesToFinancialStatementsAbstract" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_DisclosureTextBlockAbstract-2" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_StatementLineItems" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DisclosureTextBlockAbstract" xlink:to="dsgx_OtherReceivablesTextBlock" xlink:type="arc"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.descartes.com/20200131/role/statement-note-7-inventory" xlink:href="dsgx-20200131.xsd#statement-note-7-inventory" xlink:type="simple"/>
  <link:presentationLink xlink:role="http://www.descartes.com/20200131/role/statement-note-7-inventory" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="dsgx-20200131.xsd#dsgx_NotesToFinancialStatementsAbstract" xlink:label="dsgx_NotesToFinancialStatementsAbstract" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_DisclosureTextBlockAbstract" xlink:label="us-gaap_DisclosureTextBlockAbstract" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_DisclosureTextBlockAbstract" xlink:label="us-gaap_DisclosureTextBlockAbstract-2" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_InventoryDisclosureTextBlock" xlink:label="us-gaap_InventoryDisclosureTextBlock" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dsgx_NotesToFinancialStatementsAbstract" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_DisclosureTextBlockAbstract-2" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_StatementLineItems" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DisclosureTextBlockAbstract" xlink:to="us-gaap_InventoryDisclosureTextBlock" xlink:type="arc"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.descartes.com/20200131/role/statement-note-9-intangible-assets" xlink:href="dsgx-20200131.xsd#statement-note-9-intangible-assets" xlink:type="simple"/>
  <link:presentationLink xlink:role="http://www.descartes.com/20200131/role/statement-note-9-intangible-assets" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="dsgx-20200131.xsd#dsgx_NotesToFinancialStatementsAbstract" xlink:label="dsgx_NotesToFinancialStatementsAbstract" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_DisclosureTextBlockAbstract" xlink:label="us-gaap_DisclosureTextBlockAbstract" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_DisclosureTextBlockAbstract" xlink:label="us-gaap_DisclosureTextBlockAbstract-2" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_IntangibleAssetsDisclosureTextBlock" xlink:label="us-gaap_IntangibleAssetsDisclosureTextBlock" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dsgx_NotesToFinancialStatementsAbstract" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_DisclosureTextBlockAbstract-2" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_StatementLineItems" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DisclosureTextBlockAbstract" xlink:to="us-gaap_IntangibleAssetsDisclosureTextBlock" xlink:type="arc"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.descartes.com/20200131/role/statement-note-12-debt" xlink:href="dsgx-20200131.xsd#statement-note-12-debt" xlink:type="simple"/>
  <link:presentationLink xlink:role="http://www.descartes.com/20200131/role/statement-note-12-debt" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="dsgx-20200131.xsd#dsgx_CanadaOrUsPrimeRateBaOrLiborMember" xlink:label="dsgx_CanadaOrUsPrimeRateBaOrLiborMember" xlink:type="locator"/>
    <link:loc xlink:href="dsgx-20200131.xsd#dsgx_LineOfCreditBorrowingsToSupportForeignExchangeAndInterestRateHedgingMember" xlink:label="dsgx_LineOfCreditBorrowingsToSupportForeignExchangeAndInterestRateHedgingMember" xlink:type="locator"/>
    <link:loc xlink:href="dsgx-20200131.xsd#dsgx_NotesToFinancialStatementsAbstract" xlink:label="dsgx_NotesToFinancialStatementsAbstract" xlink:type="locator"/>
    <link:loc xlink:href="dsgx-20200131.xsd#dsgx_RevolvingOperatingCreditFacilityMember" xlink:label="dsgx_RevolvingOperatingCreditFacilityMember" xlink:type="locator"/>
    <link:loc xlink:href="dsgx-20200131.xsd#dsgx_SeniorSecuredCreditFacilityMember" xlink:label="dsgx_SeniorSecuredCreditFacilityMember" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/srt/2019/elts/srt-2019-01-31.xsd#srt_MaximumMember" xlink:label="srt_MaximumMember" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/srt/2019/elts/srt-2019-01-31.xsd#srt_MinimumMember" xlink:label="srt_MinimumMember" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/srt/2019/elts/srt-2019-01-31.xsd#srt_RangeAxis" xlink:label="srt_RangeAxis" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/srt/2019/elts/srt-2019-01-31.xsd#srt_RangeMember" xlink:label="srt_RangeMember" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_CreditFacilityAxis" xlink:label="us-gaap_CreditFacilityAxis" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_CreditFacilityDomain" xlink:label="us-gaap_CreditFacilityDomain" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_DebtDisclosureTextBlock" xlink:label="us-gaap_DebtDisclosureTextBlock" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_DebtInstrumentAxis" xlink:label="us-gaap_DebtInstrumentAxis" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_DebtInstrumentNameDomain" xlink:label="us-gaap_DebtInstrumentNameDomain" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_DisclosureTextBlockAbstract" xlink:label="us-gaap_DisclosureTextBlockAbstract" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_DisclosureTextBlockAbstract" xlink:label="us-gaap_DisclosureTextBlockAbstract-2" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_VariableRateAxis" xlink:label="us-gaap_VariableRateAxis" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_VariableRateDomain" xlink:label="us-gaap_VariableRateDomain" xlink:type="locator"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dsgx_NotesToFinancialStatementsAbstract" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_DisclosureTextBlockAbstract-2" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_RangeAxis" xlink:to="srt_RangeMember" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DebtInstrumentAxis" xlink:to="us-gaap_DebtInstrumentNameDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_CreditFacilityAxis" xlink:to="us-gaap_CreditFacilityDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_VariableRateAxis" xlink:to="us-gaap_VariableRateDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_CreditFacilityAxis" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_CreditFacilityAxis" xlink:to="dsgx_RevolvingOperatingCreditFacilityMember" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_DebtInstrumentAxis" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DebtInstrumentAxis" xlink:to="dsgx_SeniorSecuredCreditFacilityMember" xlink:type="arc"/>
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="srt_RangeAxis" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_RangeAxis" xlink:to="srt_MinimumMember" xlink:type="arc"/>
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_RangeAxis" xlink:to="srt_MaximumMember" xlink:type="arc"/>
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_CreditFacilityAxis" xlink:to="dsgx_LineOfCreditBorrowingsToSupportForeignExchangeAndInterestRateHedgingMember" xlink:type="arc"/>
    <link:presentationArc order="3" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_VariableRateAxis" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_VariableRateAxis" xlink:to="dsgx_CanadaOrUsPrimeRateBaOrLiborMember" xlink:type="arc"/>
    <link:presentationArc order="3" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_CreditFacilityAxis" xlink:to="dsgx_SeniorSecuredCreditFacilityMember" xlink:type="arc"/>
    <link:presentationArc order="4" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:presentationArc order="5" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_StatementLineItems" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DisclosureTextBlockAbstract" xlink:to="us-gaap_DebtDisclosureTextBlock" xlink:type="arc"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.descartes.com/20200131/role/statement-note-13-leases" xlink:href="dsgx-20200131.xsd#statement-note-13-leases" xlink:type="simple"/>
  <link:presentationLink xlink:role="http://www.descartes.com/20200131/role/statement-note-13-leases" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="dsgx-20200131.xsd#dsgx_NotesToFinancialStatementsAbstract" xlink:label="dsgx_NotesToFinancialStatementsAbstract" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/srt/2019/elts/srt-2019-01-31.xsd#srt_MaximumMember" xlink:label="srt_MaximumMember" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/srt/2019/elts/srt-2019-01-31.xsd#srt_MinimumMember" xlink:label="srt_MinimumMember" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/srt/2019/elts/srt-2019-01-31.xsd#srt_RangeAxis" xlink:label="srt_RangeAxis" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/srt/2019/elts/srt-2019-01-31.xsd#srt_RangeMember" xlink:label="srt_RangeMember" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_DisclosureTextBlockAbstract" xlink:label="us-gaap_DisclosureTextBlockAbstract" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_DisclosureTextBlockAbstract" xlink:label="us-gaap_DisclosureTextBlockAbstract-2" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_LesseeOperatingLeasesTextBlock" xlink:label="us-gaap_LesseeOperatingLeasesTextBlock" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dsgx_NotesToFinancialStatementsAbstract" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_DisclosureTextBlockAbstract-2" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_RangeAxis" xlink:to="srt_RangeMember" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="srt_RangeAxis" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_RangeAxis" xlink:to="srt_MinimumMember" xlink:type="arc"/>
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_RangeAxis" xlink:to="srt_MaximumMember" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_StatementLineItems" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DisclosureTextBlockAbstract" xlink:to="us-gaap_LesseeOperatingLeasesTextBlock" xlink:type="arc"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.descartes.com/20200131/role/statement-note-14-commitments-contingencies-and-guarantees" xlink:href="dsgx-20200131.xsd#statement-note-14-commitments-contingencies-and-guarantees" xlink:type="simple"/>
  <link:presentationLink xlink:role="http://www.descartes.com/20200131/role/statement-note-14-commitments-contingencies-and-guarantees" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="dsgx-20200131.xsd#dsgx_NotesToFinancialStatementsAbstract" xlink:label="dsgx_NotesToFinancialStatementsAbstract" xlink:type="locator"/>
    <link:loc xlink:href="dsgx-20200131.xsd#dsgx_PinpointAndCoreMember" xlink:label="dsgx_PinpointAndCoreMember" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_BusinessAcquisitionAcquireeDomain" xlink:label="us-gaap_BusinessAcquisitionAcquireeDomain" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_BusinessAcquisitionAxis" xlink:label="us-gaap_BusinessAcquisitionAxis" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_CommitmentsAndContingenciesDisclosureTextBlock" xlink:label="us-gaap_CommitmentsAndContingenciesDisclosureTextBlock" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_DisclosureTextBlockAbstract" xlink:label="us-gaap_DisclosureTextBlockAbstract" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_DisclosureTextBlockAbstract" xlink:label="us-gaap_DisclosureTextBlockAbstract-2" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dsgx_NotesToFinancialStatementsAbstract" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_DisclosureTextBlockAbstract-2" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_BusinessAcquisitionAxis" xlink:to="us-gaap_BusinessAcquisitionAcquireeDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_BusinessAcquisitionAxis" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_BusinessAcquisitionAxis" xlink:to="dsgx_PinpointAndCoreMember" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_StatementLineItems" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DisclosureTextBlockAbstract" xlink:to="us-gaap_CommitmentsAndContingenciesDisclosureTextBlock" xlink:type="arc"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.descartes.com/20200131/role/statement-note-15-share-capital" xlink:href="dsgx-20200131.xsd#statement-note-15-share-capital" xlink:type="simple"/>
  <link:presentationLink xlink:role="http://www.descartes.com/20200131/role/statement-note-15-share-capital" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="dsgx-20200131.xsd#dsgx_NotesToFinancialStatementsAbstract" xlink:label="dsgx_NotesToFinancialStatementsAbstract" xlink:type="locator"/>
    <link:loc xlink:href="dsgx-20200131.xsd#dsgx_ShareCapitalTextBlock" xlink:label="dsgx_ShareCapitalTextBlock" xlink:type="locator"/>
    <link:loc xlink:href="dsgx-20200131.xsd#dsgx_ShelfProspectusMember" xlink:label="dsgx_ShelfProspectusMember" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_DisclosureTextBlockAbstract" xlink:label="us-gaap_DisclosureTextBlockAbstract" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_DisclosureTextBlockAbstract" xlink:label="us-gaap_DisclosureTextBlockAbstract-2" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_SaleOfStockNameOfTransactionDomain" xlink:label="us-gaap_SaleOfStockNameOfTransactionDomain" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_SubsidiarySaleOfStockAxis" xlink:label="us-gaap_SubsidiarySaleOfStockAxis" xlink:type="locator"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dsgx_NotesToFinancialStatementsAbstract" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_DisclosureTextBlockAbstract-2" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_SubsidiarySaleOfStockAxis" xlink:to="us-gaap_SaleOfStockNameOfTransactionDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_SubsidiarySaleOfStockAxis" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_SubsidiarySaleOfStockAxis" xlink:to="dsgx_ShelfProspectusMember" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_StatementLineItems" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DisclosureTextBlockAbstract" xlink:to="dsgx_ShareCapitalTextBlock" xlink:type="arc"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.descartes.com/20200131/role/statement-note-16-earnings-per-share" xlink:href="dsgx-20200131.xsd#statement-note-16-earnings-per-share" xlink:type="simple"/>
  <link:presentationLink xlink:role="http://www.descartes.com/20200131/role/statement-note-16-earnings-per-share" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="dsgx-20200131.xsd#dsgx_NotesToFinancialStatementsAbstract" xlink:label="dsgx_NotesToFinancialStatementsAbstract" xlink:type="locator"/>
    <link:loc xlink:href="dsgx-20200131.xsd#dsgx_StockOptionsTreasuryStockMethodMember" xlink:label="dsgx_StockOptionsTreasuryStockMethodMember" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis" xlink:label="us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_AntidilutiveSecuritiesNameDomain" xlink:label="us-gaap_AntidilutiveSecuritiesNameDomain" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_AwardTypeAxis" xlink:label="us-gaap_AwardTypeAxis" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_DisclosureTextBlockAbstract" xlink:label="us-gaap_DisclosureTextBlockAbstract" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_DisclosureTextBlockAbstract" xlink:label="us-gaap_DisclosureTextBlockAbstract-2" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_EarningsPerShareTextBlock" xlink:label="us-gaap_EarningsPerShareTextBlock" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_EmployeeStockOptionMember" xlink:label="us-gaap_EmployeeStockOptionMember" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:label="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dsgx_NotesToFinancialStatementsAbstract" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_DisclosureTextBlockAbstract-2" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis" xlink:to="us-gaap_AntidilutiveSecuritiesNameDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AwardTypeAxis" xlink:to="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_AwardTypeAxis" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AwardTypeAxis" xlink:to="us-gaap_EmployeeStockOptionMember" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis" xlink:to="dsgx_StockOptionsTreasuryStockMethodMember" xlink:type="arc"/>
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:presentationArc order="3" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_StatementLineItems" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DisclosureTextBlockAbstract" xlink:to="us-gaap_EarningsPerShareTextBlock" xlink:type="arc"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.descartes.com/20200131/role/statement-note-17-stockbased-compensation-plans" xlink:href="dsgx-20200131.xsd#statement-note-17-stockbased-compensation-plans" xlink:type="simple"/>
  <link:presentationLink xlink:role="http://www.descartes.com/20200131/role/statement-note-17-stockbased-compensation-plans" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="dsgx-20200131.xsd#dsgx_CashsettledRestrictedShareUnitMember" xlink:label="dsgx_CashsettledRestrictedShareUnitMember" xlink:type="locator"/>
    <link:loc xlink:href="dsgx-20200131.xsd#dsgx_DeferredShareUnitPlanMember" xlink:label="dsgx_DeferredShareUnitPlanMember" xlink:type="locator"/>
    <link:loc xlink:href="dsgx-20200131.xsd#dsgx_NotesToFinancialStatementsAbstract" xlink:label="dsgx_NotesToFinancialStatementsAbstract" xlink:type="locator"/>
    <link:loc xlink:href="dsgx-20200131.xsd#dsgx_OptionsGrantedOutsideOfShareholderApprovedStockOptionPlanMember" xlink:label="dsgx_OptionsGrantedOutsideOfShareholderApprovedStockOptionPlanMember" xlink:type="locator"/>
    <link:loc xlink:href="dsgx-20200131.xsd#dsgx_OutsideOfShareholderapprovedStockOptionPlanMember" xlink:label="dsgx_OutsideOfShareholderapprovedStockOptionPlanMember" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_AwardTypeAxis" xlink:label="us-gaap_AwardTypeAxis" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock" xlink:label="us-gaap_DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_DisclosureTextBlockAbstract" xlink:label="us-gaap_DisclosureTextBlockAbstract" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_DisclosureTextBlockAbstract" xlink:label="us-gaap_DisclosureTextBlockAbstract-2" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_EmployeeStockOptionMember" xlink:label="us-gaap_EmployeeStockOptionMember" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_PerformanceSharesMember" xlink:label="us-gaap_PerformanceSharesMember" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_PlanNameAxis" xlink:label="us-gaap_PlanNameAxis" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_PlanNameDomain" xlink:label="us-gaap_PlanNameDomain" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_RestrictedStockUnitsRSUMember" xlink:label="us-gaap_RestrictedStockUnitsRSUMember" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:label="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dsgx_NotesToFinancialStatementsAbstract" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_DisclosureTextBlockAbstract-2" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AwardTypeAxis" xlink:to="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_PlanNameAxis" xlink:to="us-gaap_PlanNameDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_PlanNameAxis" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_PlanNameAxis" xlink:to="dsgx_OptionsGrantedOutsideOfShareholderApprovedStockOptionPlanMember" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_AwardTypeAxis" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AwardTypeAxis" xlink:to="us-gaap_EmployeeStockOptionMember" xlink:type="arc"/>
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_PlanNameAxis" xlink:to="dsgx_OutsideOfShareholderapprovedStockOptionPlanMember" xlink:type="arc"/>
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AwardTypeAxis" xlink:to="us-gaap_PerformanceSharesMember" xlink:type="arc"/>
    <link:presentationArc order="3" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AwardTypeAxis" xlink:to="us-gaap_RestrictedStockUnitsRSUMember" xlink:type="arc"/>
    <link:presentationArc order="3" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_PlanNameAxis" xlink:to="dsgx_DeferredShareUnitPlanMember" xlink:type="arc"/>
    <link:presentationArc order="4" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_PlanNameAxis" xlink:to="dsgx_CashsettledRestrictedShareUnitMember" xlink:type="arc"/>
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:presentationArc order="3" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_StatementLineItems" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DisclosureTextBlockAbstract" xlink:to="us-gaap_DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock" xlink:type="arc"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.descartes.com/20200131/role/statement-note-18-income-taxes" xlink:href="dsgx-20200131.xsd#statement-note-18-income-taxes" xlink:type="simple"/>
  <link:presentationLink xlink:role="http://www.descartes.com/20200131/role/statement-note-18-income-taxes" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="dsgx-20200131.xsd#dsgx_NotesToFinancialStatementsAbstract" xlink:label="dsgx_NotesToFinancialStatementsAbstract" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_DisclosureTextBlockAbstract" xlink:label="us-gaap_DisclosureTextBlockAbstract" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_DisclosureTextBlockAbstract" xlink:label="us-gaap_DisclosureTextBlockAbstract-2" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_IncomeTaxDisclosureTextBlock" xlink:label="us-gaap_IncomeTaxDisclosureTextBlock" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dsgx_NotesToFinancialStatementsAbstract" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_DisclosureTextBlockAbstract-2" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_StatementLineItems" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DisclosureTextBlockAbstract" xlink:to="us-gaap_IncomeTaxDisclosureTextBlock" xlink:type="arc"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.descartes.com/20200131/role/statement-note-19-contract-balances-performance-obligations-and-contract-costs" xlink:href="dsgx-20200131.xsd#statement-note-19-contract-balances-performance-obligations-and-contract-costs" xlink:type="simple"/>
  <link:presentationLink xlink:role="http://www.descartes.com/20200131/role/statement-note-19-contract-balances-performance-obligations-and-contract-costs" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="dsgx-20200131.xsd#dsgx_NotesToFinancialStatementsAbstract" xlink:label="dsgx_NotesToFinancialStatementsAbstract" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_DisclosureTextBlockAbstract" xlink:label="us-gaap_DisclosureTextBlockAbstract" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_DisclosureTextBlockAbstract" xlink:label="us-gaap_DisclosureTextBlockAbstract-2" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_RevenueFromContractWithCustomerTextBlock" xlink:label="us-gaap_RevenueFromContractWithCustomerTextBlock" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dsgx_NotesToFinancialStatementsAbstract" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_DisclosureTextBlockAbstract-2" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_StatementLineItems" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DisclosureTextBlockAbstract" xlink:to="us-gaap_RevenueFromContractWithCustomerTextBlock" xlink:type="arc"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.descartes.com/20200131/role/statement-note-22-segmented-information" xlink:href="dsgx-20200131.xsd#statement-note-22-segmented-information" xlink:type="simple"/>
  <link:presentationLink xlink:role="http://www.descartes.com/20200131/role/statement-note-22-segmented-information" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="dsgx-20200131.xsd#dsgx_NotesToFinancialStatementsAbstract" xlink:label="dsgx_NotesToFinancialStatementsAbstract" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_DisclosureTextBlockAbstract" xlink:label="us-gaap_DisclosureTextBlockAbstract" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_DisclosureTextBlockAbstract" xlink:label="us-gaap_DisclosureTextBlockAbstract-2" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_SegmentReportingDisclosureTextBlock" xlink:label="us-gaap_SegmentReportingDisclosureTextBlock" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dsgx_NotesToFinancialStatementsAbstract" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_DisclosureTextBlockAbstract-2" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_StatementLineItems" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DisclosureTextBlockAbstract" xlink:to="us-gaap_SegmentReportingDisclosureTextBlock" xlink:type="arc"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.descartes.com/20200131/role/statement-note-23-subsequent-event-" xlink:href="dsgx-20200131.xsd#statement-note-23-subsequent-event-" xlink:type="simple"/>
  <link:presentationLink xlink:role="http://www.descartes.com/20200131/role/statement-note-23-subsequent-event-" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="dsgx-20200131.xsd#dsgx_NotesToFinancialStatementsAbstract" xlink:label="dsgx_NotesToFinancialStatementsAbstract" xlink:type="locator"/>
    <link:loc xlink:href="dsgx-20200131.xsd#dsgx_PeoplevoxLimitedMember" xlink:label="dsgx_PeoplevoxLimitedMember" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_BusinessAcquisitionAcquireeDomain" xlink:label="us-gaap_BusinessAcquisitionAcquireeDomain" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_BusinessAcquisitionAxis" xlink:label="us-gaap_BusinessAcquisitionAxis" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_DisclosureTextBlockAbstract" xlink:label="us-gaap_DisclosureTextBlockAbstract" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_DisclosureTextBlockAbstract" xlink:label="us-gaap_DisclosureTextBlockAbstract-2" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_SubsequentEventMember" xlink:label="us-gaap_SubsequentEventMember" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_SubsequentEventTypeAxis" xlink:label="us-gaap_SubsequentEventTypeAxis" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_SubsequentEventTypeDomain" xlink:label="us-gaap_SubsequentEventTypeDomain" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_SubsequentEventsTextBlock" xlink:label="us-gaap_SubsequentEventsTextBlock" xlink:type="locator"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dsgx_NotesToFinancialStatementsAbstract" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_DisclosureTextBlockAbstract-2" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_BusinessAcquisitionAxis" xlink:to="us-gaap_BusinessAcquisitionAcquireeDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_SubsequentEventTypeAxis" xlink:to="us-gaap_SubsequentEventTypeDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_SubsequentEventTypeAxis" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_SubsequentEventTypeAxis" xlink:to="us-gaap_SubsequentEventMember" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_BusinessAcquisitionAxis" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_BusinessAcquisitionAxis" xlink:to="dsgx_PeoplevoxLimitedMember" xlink:type="arc"/>
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:presentationArc order="3" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_StatementLineItems" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DisclosureTextBlockAbstract" xlink:to="us-gaap_SubsequentEventsTextBlock" xlink:type="arc"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.descartes.com/20200131/role/statement-significant-accounting-policies-policies" xlink:href="dsgx-20200131.xsd#statement-significant-accounting-policies-policies" xlink:type="simple"/>
  <link:presentationLink xlink:role="http://www.descartes.com/20200131/role/statement-significant-accounting-policies-policies" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="dsgx-20200131.xsd#dsgx_statement-statement-significant-accounting-policies-policies" xlink:label="dsgx_statement-statement-significant-accounting-policies-policies" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_AccountingPoliciesAbstract" xlink:label="us-gaap_AccountingPoliciesAbstract" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_BasisOfAccountingPolicyPolicyTextBlock" xlink:label="us-gaap_BasisOfAccountingPolicyPolicyTextBlock" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_BusinessCombinationsPolicy" xlink:label="us-gaap_BusinessCombinationsPolicy" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_CashAndCashEquivalentsPolicyTextBlock" xlink:label="us-gaap_CashAndCashEquivalentsPolicyTextBlock" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ConsolidationPolicyTextBlock" xlink:label="us-gaap_ConsolidationPolicyTextBlock" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_EarningsPerSharePolicyTextBlock" xlink:label="us-gaap_EarningsPerSharePolicyTextBlock" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_FairValueOfFinancialInstrumentsPolicy" xlink:label="us-gaap_FairValueOfFinancialInstrumentsPolicy" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ForeignCurrencyTransactionsAndTranslationsPolicyTextBlock" xlink:label="us-gaap_ForeignCurrencyTransactionsAndTranslationsPolicyTextBlock" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_GoodwillAndIntangibleAssetsPolicyTextBlock" xlink:label="us-gaap_GoodwillAndIntangibleAssetsPolicyTextBlock" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ImpairmentOrDisposalOfLongLivedAssetsIncludingIntangibleAssetsPolicyPolicyTextBlock" xlink:label="us-gaap_ImpairmentOrDisposalOfLongLivedAssetsIncludingIntangibleAssetsPolicyPolicyTextBlock" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_IncomeTaxPolicyTextBlock" xlink:label="us-gaap_IncomeTaxPolicyTextBlock" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_InventoryPolicyTextBlock" xlink:label="us-gaap_InventoryPolicyTextBlock" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_LesseeLeasesPolicyTextBlock" xlink:label="us-gaap_LesseeLeasesPolicyTextBlock" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_NewAccountingPronouncementsPolicyPolicyTextBlock" xlink:label="us-gaap_NewAccountingPronouncementsPolicyPolicyTextBlock" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_PolicyTextBlockAbstract" xlink:label="us-gaap_PolicyTextBlockAbstract" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_PolicyTextBlockAbstract" xlink:label="us-gaap_PolicyTextBlockAbstract-2" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_PropertyPlantAndEquipmentPolicyTextBlock" xlink:label="us-gaap_PropertyPlantAndEquipmentPolicyTextBlock" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ReceivablesTradeAndOtherAccountsReceivableAllowanceForDoubtfulAccountsPolicy" xlink:label="us-gaap_ReceivablesTradeAndOtherAccountsReceivableAllowanceForDoubtfulAccountsPolicy" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ResearchDevelopmentAndComputerSoftwarePolicyTextBlock" xlink:label="us-gaap_ResearchDevelopmentAndComputerSoftwarePolicyTextBlock" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_RevenueFromContractWithCustomerPolicyTextBlock" xlink:label="us-gaap_RevenueFromContractWithCustomerPolicyTextBlock" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ShareBasedCompensationOptionAndIncentivePlansPolicy" xlink:label="us-gaap_ShareBasedCompensationOptionAndIncentivePlansPolicy" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_UseOfEstimates" xlink:label="us-gaap_UseOfEstimates" xlink:type="locator"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dsgx_statement-statement-significant-accounting-policies-policies" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_PolicyTextBlockAbstract-2" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_StatementLineItems" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_PolicyTextBlockAbstract" xlink:to="us-gaap_AccountingPoliciesAbstract" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AccountingPoliciesAbstract" xlink:to="us-gaap_BasisOfAccountingPolicyPolicyTextBlock" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AccountingPoliciesAbstract" xlink:to="us-gaap_ConsolidationPolicyTextBlock" xlink:type="arc"/>
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AccountingPoliciesAbstract" xlink:to="us-gaap_ForeignCurrencyTransactionsAndTranslationsPolicyTextBlock" xlink:type="arc"/>
    <link:presentationArc order="3" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AccountingPoliciesAbstract" xlink:to="us-gaap_UseOfEstimates" xlink:type="arc"/>
    <link:presentationArc order="4" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AccountingPoliciesAbstract" xlink:to="us-gaap_CashAndCashEquivalentsPolicyTextBlock" xlink:type="arc"/>
    <link:presentationArc order="5" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AccountingPoliciesAbstract" xlink:to="us-gaap_FairValueOfFinancialInstrumentsPolicy" xlink:type="arc"/>
    <link:presentationArc order="6" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AccountingPoliciesAbstract" xlink:to="us-gaap_ReceivablesTradeAndOtherAccountsReceivableAllowanceForDoubtfulAccountsPolicy" xlink:type="arc"/>
    <link:presentationArc order="7" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AccountingPoliciesAbstract" xlink:to="us-gaap_InventoryPolicyTextBlock" xlink:type="arc"/>
    <link:presentationArc order="8" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AccountingPoliciesAbstract" xlink:to="us-gaap_ImpairmentOrDisposalOfLongLivedAssetsIncludingIntangibleAssetsPolicyPolicyTextBlock" xlink:type="arc"/>
    <link:presentationArc order="9" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AccountingPoliciesAbstract" xlink:to="us-gaap_GoodwillAndIntangibleAssetsPolicyTextBlock" xlink:type="arc"/>
    <link:presentationArc order="10" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AccountingPoliciesAbstract" xlink:to="us-gaap_PropertyPlantAndEquipmentPolicyTextBlock" xlink:type="arc"/>
    <link:presentationArc order="11" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AccountingPoliciesAbstract" xlink:to="us-gaap_LesseeLeasesPolicyTextBlock" xlink:type="arc"/>
    <link:presentationArc order="12" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AccountingPoliciesAbstract" xlink:to="us-gaap_RevenueFromContractWithCustomerPolicyTextBlock" xlink:type="arc"/>
    <link:presentationArc order="13" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AccountingPoliciesAbstract" xlink:to="us-gaap_ResearchDevelopmentAndComputerSoftwarePolicyTextBlock" xlink:type="arc"/>
    <link:presentationArc order="14" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AccountingPoliciesAbstract" xlink:to="us-gaap_ShareBasedCompensationOptionAndIncentivePlansPolicy" xlink:type="arc"/>
    <link:presentationArc order="15" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AccountingPoliciesAbstract" xlink:to="us-gaap_BusinessCombinationsPolicy" xlink:type="arc"/>
    <link:presentationArc order="16" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AccountingPoliciesAbstract" xlink:to="us-gaap_IncomeTaxPolicyTextBlock" xlink:type="arc"/>
    <link:presentationArc order="17" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AccountingPoliciesAbstract" xlink:to="us-gaap_EarningsPerSharePolicyTextBlock" xlink:type="arc"/>
    <link:presentationArc order="18" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AccountingPoliciesAbstract" xlink:to="us-gaap_NewAccountingPronouncementsPolicyPolicyTextBlock" xlink:type="arc"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.descartes.com/20200131/role/statement-note-3-acquisitions-tables" xlink:href="dsgx-20200131.xsd#statement-note-3-acquisitions-tables" xlink:type="simple"/>
  <link:presentationLink xlink:role="http://www.descartes.com/20200131/role/statement-note-3-acquisitions-tables" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="dsgx-20200131.xsd#dsgx_statement-statement-note-3-acquisitions-tables" xlink:label="dsgx_statement-statement-note-3-acquisitions-tables" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_BusinessAcquisitionProFormaInformationTextBlock" xlink:label="us-gaap_BusinessAcquisitionProFormaInformationTextBlock" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ScheduleOfAcquiredFiniteLivedIntangibleAssetsByMajorClassTextBlock" xlink:label="us-gaap_ScheduleOfAcquiredFiniteLivedIntangibleAssetsByMajorClassTextBlock" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTextBlock" xlink:label="us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTextBlock" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_TableTextBlock" xlink:label="us-gaap_TableTextBlock" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_TableTextBlock" xlink:label="us-gaap_TableTextBlock-2" xlink:type="locator"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dsgx_statement-statement-note-3-acquisitions-tables" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_TableTextBlock-2" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_StatementLineItems" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_TableTextBlock" xlink:to="us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTextBlock" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_TableTextBlock" xlink:to="us-gaap_ScheduleOfAcquiredFiniteLivedIntangibleAssetsByMajorClassTextBlock" xlink:type="arc"/>
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_TableTextBlock" xlink:to="us-gaap_BusinessAcquisitionProFormaInformationTextBlock" xlink:type="arc"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.descartes.com/20200131/role/statement-note-4-fair-value-measurements-tables" xlink:href="dsgx-20200131.xsd#statement-note-4-fair-value-measurements-tables" xlink:type="simple"/>
  <link:presentationLink xlink:role="http://www.descartes.com/20200131/role/statement-note-4-fair-value-measurements-tables" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="dsgx-20200131.xsd#dsgx_statement-statement-note-4-fair-value-measurements-tables" xlink:label="dsgx_statement-statement-note-4-fair-value-measurements-tables" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ScheduleOfDerivativeAssetsAtFairValueTableTextBlock" xlink:label="us-gaap_ScheduleOfDerivativeAssetsAtFairValueTableTextBlock" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_TableTextBlock" xlink:label="us-gaap_TableTextBlock" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_TableTextBlock" xlink:label="us-gaap_TableTextBlock-2" xlink:type="locator"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dsgx_statement-statement-note-4-fair-value-measurements-tables" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_TableTextBlock-2" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_StatementLineItems" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_TableTextBlock" xlink:to="us-gaap_ScheduleOfDerivativeAssetsAtFairValueTableTextBlock" xlink:type="arc"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.descartes.com/20200131/role/statement-note-5-trade-receivables-tables" xlink:href="dsgx-20200131.xsd#statement-note-5-trade-receivables-tables" xlink:type="simple"/>
  <link:presentationLink xlink:role="http://www.descartes.com/20200131/role/statement-note-5-trade-receivables-tables" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="dsgx-20200131.xsd#dsgx_statement-statement-note-5-trade-receivables-tables" xlink:label="dsgx_statement-statement-note-5-trade-receivables-tables" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ScheduleOfAccountsNotesLoansAndFinancingReceivableTextBlock" xlink:label="us-gaap_ScheduleOfAccountsNotesLoansAndFinancingReceivableTextBlock" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_TableTextBlock" xlink:label="us-gaap_TableTextBlock" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_TableTextBlock" xlink:label="us-gaap_TableTextBlock-2" xlink:type="locator"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dsgx_statement-statement-note-5-trade-receivables-tables" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_TableTextBlock-2" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_StatementLineItems" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_TableTextBlock" xlink:to="us-gaap_ScheduleOfAccountsNotesLoansAndFinancingReceivableTextBlock" xlink:type="arc"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.descartes.com/20200131/role/statement-note-6-other-receivables-tables" xlink:href="dsgx-20200131.xsd#statement-note-6-other-receivables-tables" xlink:type="simple"/>
  <link:presentationLink xlink:role="http://www.descartes.com/20200131/role/statement-note-6-other-receivables-tables" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="dsgx-20200131.xsd#dsgx_OtherReceivablesTableTextBlock" xlink:label="dsgx_OtherReceivablesTableTextBlock" xlink:type="locator"/>
    <link:loc xlink:href="dsgx-20200131.xsd#dsgx_statement-statement-note-6-other-receivables-tables" xlink:label="dsgx_statement-statement-note-6-other-receivables-tables" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_TableTextBlock" xlink:label="us-gaap_TableTextBlock" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_TableTextBlock" xlink:label="us-gaap_TableTextBlock-2" xlink:type="locator"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dsgx_statement-statement-note-6-other-receivables-tables" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_TableTextBlock-2" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_StatementLineItems" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_TableTextBlock" xlink:to="dsgx_OtherReceivablesTableTextBlock" xlink:type="arc"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.descartes.com/20200131/role/statement--note-8-property-and-equipment-tables" xlink:href="dsgx-20200131.xsd#statement--note-8-property-and-equipment-tables" xlink:type="simple"/>
  <link:presentationLink xlink:role="http://www.descartes.com/20200131/role/statement--note-8-property-and-equipment-tables" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="dsgx-20200131.xsd#dsgx_statement-statement--note-8-property-and-equipment-tables" xlink:label="dsgx_statement-statement--note-8-property-and-equipment-tables" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_PropertyPlantAndEquipmentTextBlock" xlink:label="us-gaap_PropertyPlantAndEquipmentTextBlock" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_TableTextBlock" xlink:label="us-gaap_TableTextBlock" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_TableTextBlock" xlink:label="us-gaap_TableTextBlock-2" xlink:type="locator"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dsgx_statement-statement--note-8-property-and-equipment-tables" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_TableTextBlock-2" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_StatementLineItems" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_TableTextBlock" xlink:to="us-gaap_PropertyPlantAndEquipmentTextBlock" xlink:type="arc"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.descartes.com/20200131/role/statement-note-9-intangible-assets-tables" xlink:href="dsgx-20200131.xsd#statement-note-9-intangible-assets-tables" xlink:type="simple"/>
  <link:presentationLink xlink:role="http://www.descartes.com/20200131/role/statement-note-9-intangible-assets-tables" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="dsgx-20200131.xsd#dsgx_statement-statement-note-9-intangible-assets-tables" xlink:label="dsgx_statement-statement-note-9-intangible-assets-tables" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock" xlink:label="us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_TableTextBlock" xlink:label="us-gaap_TableTextBlock" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_TableTextBlock" xlink:label="us-gaap_TableTextBlock-2" xlink:type="locator"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dsgx_statement-statement-note-9-intangible-assets-tables" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_TableTextBlock-2" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_StatementLineItems" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_TableTextBlock" xlink:to="us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock" xlink:type="arc"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.descartes.com/20200131/role/statement-note-10-goodwill-tables" xlink:href="dsgx-20200131.xsd#statement-note-10-goodwill-tables" xlink:type="simple"/>
  <link:presentationLink xlink:role="http://www.descartes.com/20200131/role/statement-note-10-goodwill-tables" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="dsgx-20200131.xsd#dsgx_statement-statement-note-10-goodwill-tables" xlink:label="dsgx_statement-statement-note-10-goodwill-tables" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/srt/2019/elts/srt-2019-01-31.xsd#srt_ScheduleOfCondensedCashFlowStatementTableTextBlock" xlink:label="srt_ScheduleOfCondensedCashFlowStatementTableTextBlock" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_TableTextBlock" xlink:label="us-gaap_TableTextBlock" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_TableTextBlock" xlink:label="us-gaap_TableTextBlock-2" xlink:type="locator"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dsgx_statement-statement-note-10-goodwill-tables" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_TableTextBlock-2" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_StatementLineItems" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_TableTextBlock" xlink:to="srt_ScheduleOfCondensedCashFlowStatementTableTextBlock" xlink:type="arc"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.descartes.com/20200131/role/statement-note-11-accrued-liabilities-tables" xlink:href="dsgx-20200131.xsd#statement-note-11-accrued-liabilities-tables" xlink:type="simple"/>
  <link:presentationLink xlink:role="http://www.descartes.com/20200131/role/statement-note-11-accrued-liabilities-tables" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="dsgx-20200131.xsd#dsgx_statement-statement-note-11-accrued-liabilities-tables" xlink:label="dsgx_statement-statement-note-11-accrued-liabilities-tables" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ScheduleOfAccruedLiabilitiesTableTextBlock" xlink:label="us-gaap_ScheduleOfAccruedLiabilitiesTableTextBlock" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_TableTextBlock" xlink:label="us-gaap_TableTextBlock" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_TableTextBlock" xlink:label="us-gaap_TableTextBlock-2" xlink:type="locator"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dsgx_statement-statement-note-11-accrued-liabilities-tables" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_TableTextBlock-2" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_StatementLineItems" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_TableTextBlock" xlink:to="us-gaap_ScheduleOfAccruedLiabilitiesTableTextBlock" xlink:type="arc"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.descartes.com/20200131/role/statement-note-12-debt-tables" xlink:href="dsgx-20200131.xsd#statement-note-12-debt-tables" xlink:type="simple"/>
  <link:presentationLink xlink:role="http://www.descartes.com/20200131/role/statement-note-12-debt-tables" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="dsgx-20200131.xsd#dsgx_statement-statement-note-12-debt-tables" xlink:label="dsgx_statement-statement-note-12-debt-tables" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ScheduleOfDebtInstrumentsTextBlock" xlink:label="us-gaap_ScheduleOfDebtInstrumentsTextBlock" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_TableTextBlock" xlink:label="us-gaap_TableTextBlock" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_TableTextBlock" xlink:label="us-gaap_TableTextBlock-2" xlink:type="locator"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dsgx_statement-statement-note-12-debt-tables" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_TableTextBlock-2" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_StatementLineItems" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_TableTextBlock" xlink:to="us-gaap_ScheduleOfDebtInstrumentsTextBlock" xlink:type="arc"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.descartes.com/20200131/role/statement-note-13-leases-tables" xlink:href="dsgx-20200131.xsd#statement-note-13-leases-tables" xlink:type="simple"/>
  <link:presentationLink xlink:role="http://www.descartes.com/20200131/role/statement-note-13-leases-tables" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="dsgx-20200131.xsd#dsgx_ScheduleOfFutureMinimumRentalPaymentsForLeasesTableTextBlock" xlink:label="dsgx_ScheduleOfFutureMinimumRentalPaymentsForLeasesTableTextBlock" xlink:type="locator"/>
    <link:loc xlink:href="dsgx-20200131.xsd#dsgx_statement-statement-note-13-leases-tables" xlink:label="dsgx_statement-statement-note-13-leases-tables" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_LeaseCostTableTextBlock" xlink:label="us-gaap_LeaseCostTableTextBlock" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_LesseeOperatingLeaseLiabilityMaturityTableTextBlock" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityMaturityTableTextBlock" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_TableTextBlock" xlink:label="us-gaap_TableTextBlock" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_TableTextBlock" xlink:label="us-gaap_TableTextBlock-2" xlink:type="locator"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dsgx_statement-statement-note-13-leases-tables" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_TableTextBlock-2" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_StatementLineItems" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_TableTextBlock" xlink:to="us-gaap_LeaseCostTableTextBlock" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_TableTextBlock" xlink:to="us-gaap_LesseeOperatingLeaseLiabilityMaturityTableTextBlock" xlink:type="arc"/>
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_TableTextBlock" xlink:to="dsgx_ScheduleOfFutureMinimumRentalPaymentsForLeasesTableTextBlock" xlink:type="arc"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.descartes.com/20200131/role/statement-note-15-share-capital-tables" xlink:href="dsgx-20200131.xsd#statement-note-15-share-capital-tables" xlink:type="simple"/>
  <link:presentationLink xlink:role="http://www.descartes.com/20200131/role/statement-note-15-share-capital-tables" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="dsgx-20200131.xsd#dsgx_statement-statement-note-15-share-capital-tables" xlink:label="dsgx_statement-statement-note-15-share-capital-tables" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ScheduleOfCommonStockOutstandingRollForwardTableTextBlock" xlink:label="us-gaap_ScheduleOfCommonStockOutstandingRollForwardTableTextBlock" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_TableTextBlock" xlink:label="us-gaap_TableTextBlock" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_TableTextBlock" xlink:label="us-gaap_TableTextBlock-2" xlink:type="locator"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dsgx_statement-statement-note-15-share-capital-tables" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_TableTextBlock-2" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_StatementLineItems" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_TableTextBlock" xlink:to="us-gaap_ScheduleOfCommonStockOutstandingRollForwardTableTextBlock" xlink:type="arc"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.descartes.com/20200131/role/statement-note-16-earnings-per-share-tables" xlink:href="dsgx-20200131.xsd#statement-note-16-earnings-per-share-tables" xlink:type="simple"/>
  <link:presentationLink xlink:role="http://www.descartes.com/20200131/role/statement-note-16-earnings-per-share-tables" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="dsgx-20200131.xsd#dsgx_statement-statement-note-16-earnings-per-share-tables" xlink:label="dsgx_statement-statement-note-16-earnings-per-share-tables" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock" xlink:label="us-gaap_ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_TableTextBlock" xlink:label="us-gaap_TableTextBlock" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_TableTextBlock" xlink:label="us-gaap_TableTextBlock-2" xlink:type="locator"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dsgx_statement-statement-note-16-earnings-per-share-tables" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_TableTextBlock-2" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_StatementLineItems" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_TableTextBlock" xlink:to="us-gaap_ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock" xlink:type="arc"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.descartes.com/20200131/role/statement-note-17-stockbased-compensation-plans-tables" xlink:href="dsgx-20200131.xsd#statement-note-17-stockbased-compensation-plans-tables" xlink:type="simple"/>
  <link:presentationLink xlink:role="http://www.descartes.com/20200131/role/statement-note-17-stockbased-compensation-plans-tables" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="dsgx-20200131.xsd#dsgx_ScheduleOfCashSettledRestrictedShareUnitPlanActivityTableTextBlock" xlink:label="dsgx_ScheduleOfCashSettledRestrictedShareUnitPlanActivityTableTextBlock" xlink:type="locator"/>
    <link:loc xlink:href="dsgx-20200131.xsd#dsgx_statement-statement-note-17-stockbased-compensation-plans-tables" xlink:label="dsgx_statement-statement-note-17-stockbased-compensation-plans-tables" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTextBlock" xlink:label="us-gaap_ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTextBlock" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ScheduleOfNonvestedShareActivityTableTextBlock" xlink:label="us-gaap_ScheduleOfNonvestedShareActivityTableTextBlock" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ScheduleOfShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeTextBlock" xlink:label="us-gaap_ScheduleOfShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeTextBlock" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock" xlink:label="us-gaap_ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsTableTextBlock" xlink:label="us-gaap_ScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsTableTextBlock" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ScheduleOfSharebasedCompensationRestrictedStockAndRestrictedStockUnitsActivityTableTextBlock" xlink:label="us-gaap_ScheduleOfSharebasedCompensationRestrictedStockAndRestrictedStockUnitsActivityTableTextBlock" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ShareBasedCompensationPerformanceSharesAwardOutstandingActivityTableTextBlock" xlink:label="us-gaap_ShareBasedCompensationPerformanceSharesAwardOutstandingActivityTableTextBlock" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_TableTextBlock" xlink:label="us-gaap_TableTextBlock" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_TableTextBlock" xlink:label="us-gaap_TableTextBlock-2" xlink:type="locator"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dsgx_statement-statement-note-17-stockbased-compensation-plans-tables" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_TableTextBlock-2" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_StatementLineItems" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_TableTextBlock" xlink:to="us-gaap_ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTextBlock" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_TableTextBlock" xlink:to="us-gaap_ScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsTableTextBlock" xlink:type="arc"/>
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_TableTextBlock" xlink:to="us-gaap_ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock" xlink:type="arc"/>
    <link:presentationArc order="3" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_TableTextBlock" xlink:to="us-gaap_ScheduleOfShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeTextBlock" xlink:type="arc"/>
    <link:presentationArc order="4" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_TableTextBlock" xlink:to="us-gaap_ScheduleOfNonvestedShareActivityTableTextBlock" xlink:type="arc"/>
    <link:presentationArc order="5" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_TableTextBlock" xlink:to="us-gaap_ShareBasedCompensationPerformanceSharesAwardOutstandingActivityTableTextBlock" xlink:type="arc"/>
    <link:presentationArc order="6" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_TableTextBlock" xlink:to="us-gaap_ScheduleOfSharebasedCompensationRestrictedStockAndRestrictedStockUnitsActivityTableTextBlock" xlink:type="arc"/>
    <link:presentationArc order="7" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_TableTextBlock" xlink:to="dsgx_ScheduleOfCashSettledRestrictedShareUnitPlanActivityTableTextBlock" xlink:type="arc"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.descartes.com/20200131/role/statement-note-18-income-taxes-tables" xlink:href="dsgx-20200131.xsd#statement-note-18-income-taxes-tables" xlink:type="simple"/>
  <link:presentationLink xlink:role="http://www.descartes.com/20200131/role/statement-note-18-income-taxes-tables" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="dsgx-20200131.xsd#dsgx_statement-statement-note-18-income-taxes-tables" xlink:label="dsgx_statement-statement-note-18-income-taxes-tables" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock" xlink:label="us-gaap_ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock" xlink:label="us-gaap_ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock" xlink:label="us-gaap_ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ScheduleOfIncomeBeforeIncomeTaxDomesticAndForeignTableTextBlock" xlink:label="us-gaap_ScheduleOfIncomeBeforeIncomeTaxDomesticAndForeignTableTextBlock" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ScheduleOfUnrecognizedTaxBenefitsRollForwardTableTextBlock" xlink:label="us-gaap_ScheduleOfUnrecognizedTaxBenefitsRollForwardTableTextBlock" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_SummaryOfOperatingLossCarryforwardsTextBlock" xlink:label="us-gaap_SummaryOfOperatingLossCarryforwardsTextBlock" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_TableTextBlock" xlink:label="us-gaap_TableTextBlock" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_TableTextBlock" xlink:label="us-gaap_TableTextBlock-2" xlink:type="locator"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dsgx_statement-statement-note-18-income-taxes-tables" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_TableTextBlock-2" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_StatementLineItems" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_TableTextBlock" xlink:to="us-gaap_ScheduleOfIncomeBeforeIncomeTaxDomesticAndForeignTableTextBlock" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_TableTextBlock" xlink:to="us-gaap_ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock" xlink:type="arc"/>
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_TableTextBlock" xlink:to="us-gaap_ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock" xlink:type="arc"/>
    <link:presentationArc order="3" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_TableTextBlock" xlink:to="us-gaap_ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock" xlink:type="arc"/>
    <link:presentationArc order="4" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_TableTextBlock" xlink:to="us-gaap_SummaryOfOperatingLossCarryforwardsTextBlock" xlink:type="arc"/>
    <link:presentationArc order="5" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_TableTextBlock" xlink:to="us-gaap_ScheduleOfUnrecognizedTaxBenefitsRollForwardTableTextBlock" xlink:type="arc"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.descartes.com/20200131/role/statement-note-19-contract-balances-performance-obligations-and-contract-costs-tables" xlink:href="dsgx-20200131.xsd#statement-note-19-contract-balances-performance-obligations-and-contract-costs-tables" xlink:type="simple"/>
  <link:presentationLink xlink:role="http://www.descartes.com/20200131/role/statement-note-19-contract-balances-performance-obligations-and-contract-costs-tables" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="dsgx-20200131.xsd#dsgx_statement-statement-note-19-contract-balances-performance-obligations-and-contract-costs-tables" xlink:label="dsgx_statement-statement-note-19-contract-balances-performance-obligations-and-contract-costs-tables" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ContractWithCustomerAssetAndLiabilityTableTextBlock" xlink:label="us-gaap_ContractWithCustomerAssetAndLiabilityTableTextBlock" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_TableTextBlock" xlink:label="us-gaap_TableTextBlock" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_TableTextBlock" xlink:label="us-gaap_TableTextBlock-2" xlink:type="locator"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dsgx_statement-statement-note-19-contract-balances-performance-obligations-and-contract-costs-tables" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_TableTextBlock-2" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_StatementLineItems" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_TableTextBlock" xlink:to="us-gaap_ContractWithCustomerAssetAndLiabilityTableTextBlock" xlink:type="arc"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.descartes.com/20200131/role/statement-note-20-other-charges-tables" xlink:href="dsgx-20200131.xsd#statement-note-20-other-charges-tables" xlink:type="simple"/>
  <link:presentationLink xlink:role="http://www.descartes.com/20200131/role/statement-note-20-other-charges-tables" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="dsgx-20200131.xsd#dsgx_statement-statement-note-20-other-charges-tables" xlink:label="dsgx_statement-statement-note-20-other-charges-tables" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ScheduleOfOtherOperatingCostAndExpenseByComponentTextBlock" xlink:label="us-gaap_ScheduleOfOtherOperatingCostAndExpenseByComponentTextBlock" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_TableTextBlock" xlink:label="us-gaap_TableTextBlock" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_TableTextBlock" xlink:label="us-gaap_TableTextBlock-2" xlink:type="locator"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dsgx_statement-statement-note-20-other-charges-tables" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_TableTextBlock-2" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_StatementLineItems" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_TableTextBlock" xlink:to="us-gaap_ScheduleOfOtherOperatingCostAndExpenseByComponentTextBlock" xlink:type="arc"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.descartes.com/20200131/role/statement-note-21-supplemental-cash-flow-information-tables" xlink:href="dsgx-20200131.xsd#statement-note-21-supplemental-cash-flow-information-tables" xlink:type="simple"/>
  <link:presentationLink xlink:role="http://www.descartes.com/20200131/role/statement-note-21-supplemental-cash-flow-information-tables" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="dsgx-20200131.xsd#dsgx_statement-statement-note-21-supplemental-cash-flow-information-tables" xlink:label="dsgx_statement-statement-note-21-supplemental-cash-flow-information-tables" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ScheduleOfCashFlowSupplementalDisclosuresTableTextBlock" xlink:label="us-gaap_ScheduleOfCashFlowSupplementalDisclosuresTableTextBlock" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_TableTextBlock" xlink:label="us-gaap_TableTextBlock" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_TableTextBlock" xlink:label="us-gaap_TableTextBlock-2" xlink:type="locator"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dsgx_statement-statement-note-21-supplemental-cash-flow-information-tables" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_TableTextBlock-2" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_StatementLineItems" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_TableTextBlock" xlink:to="us-gaap_ScheduleOfCashFlowSupplementalDisclosuresTableTextBlock" xlink:type="arc"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.descartes.com/20200131/role/statement-note-22-segmented-information-tables" xlink:href="dsgx-20200131.xsd#statement-note-22-segmented-information-tables" xlink:type="simple"/>
  <link:presentationLink xlink:role="http://www.descartes.com/20200131/role/statement-note-22-segmented-information-tables" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="dsgx-20200131.xsd#dsgx_statement-statement-note-22-segmented-information-tables" xlink:label="dsgx_statement-statement-note-22-segmented-information-tables" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ScheduleOfEntityWideDisclosureOnGeographicAreasLongLivedAssetsInIndividualForeignCountriesByCountryTextBlock" xlink:label="us-gaap_ScheduleOfEntityWideDisclosureOnGeographicAreasLongLivedAssetsInIndividualForeignCountriesByCountryTextBlock" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ScheduleOfRevenueFromExternalCustomersAttributedToForeignCountriesByGeographicAreaTextBlock" xlink:label="us-gaap_ScheduleOfRevenueFromExternalCustomersAttributedToForeignCountriesByGeographicAreaTextBlock" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ScheduleOfSegmentReportingInformationBySegmentTextBlock" xlink:label="us-gaap_ScheduleOfSegmentReportingInformationBySegmentTextBlock" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_TableTextBlock" xlink:label="us-gaap_TableTextBlock" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_TableTextBlock" xlink:label="us-gaap_TableTextBlock-2" xlink:type="locator"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dsgx_statement-statement-note-22-segmented-information-tables" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_TableTextBlock-2" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_StatementLineItems" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_TableTextBlock" xlink:to="us-gaap_ScheduleOfRevenueFromExternalCustomersAttributedToForeignCountriesByGeographicAreaTextBlock" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_TableTextBlock" xlink:to="us-gaap_ScheduleOfSegmentReportingInformationBySegmentTextBlock" xlink:type="arc"/>
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_TableTextBlock" xlink:to="us-gaap_ScheduleOfEntityWideDisclosureOnGeographicAreasLongLivedAssetsInIndividualForeignCountriesByCountryTextBlock" xlink:type="arc"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.descartes.com/20200131/role/statement-note-2-basis-of-presentation-details-textual" xlink:href="dsgx-20200131.xsd#statement-note-2-basis-of-presentation-details-textual" xlink:type="simple"/>
  <link:presentationLink xlink:role="http://www.descartes.com/20200131/role/statement-note-2-basis-of-presentation-details-textual" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="dsgx-20200131.xsd#dsgx_BaseAnnualFeePercent" xlink:label="dsgx_BaseAnnualFeePercent-2" xlink:type="locator"/>
    <link:loc xlink:href="dsgx-20200131.xsd#dsgx_CashSettledRestrictedShareUnitsVestingPeriod" xlink:label="dsgx_CashSettledRestrictedShareUnitsVestingPeriod-2" xlink:type="locator"/>
    <link:loc xlink:href="dsgx-20200131.xsd#dsgx_CashsettledRestrictedSharePlanMember" xlink:label="dsgx_CashsettledRestrictedSharePlanMember" xlink:type="locator"/>
    <link:loc xlink:href="dsgx-20200131.xsd#dsgx_CostsToObtainAContractWithACustomerPeriodOfBenefitIncludingRenewals" xlink:label="dsgx_CostsToObtainAContractWithACustomerPeriodOfBenefitIncludingRenewals-2" xlink:type="locator"/>
    <link:loc xlink:href="dsgx-20200131.xsd#dsgx_DeferredShareUnitPlanMember" xlink:label="dsgx_DeferredShareUnitPlanMember" xlink:type="locator"/>
    <link:loc xlink:href="dsgx-20200131.xsd#dsgx_DirectorsAndOfficersMember" xlink:label="dsgx_DirectorsAndOfficersMember" xlink:type="locator"/>
    <link:loc xlink:href="dsgx-20200131.xsd#dsgx_ExistingTechnologyMember" xlink:label="dsgx_ExistingTechnologyMember" xlink:type="locator"/>
    <link:loc xlink:href="dsgx-20200131.xsd#dsgx_NoteToFinancialStatementDetailsTextual" xlink:label="dsgx_NoteToFinancialStatementDetailsTextual" xlink:type="locator"/>
    <link:loc xlink:href="dsgx-20200131.xsd#dsgx_NumberOfMajorCustomers" xlink:label="dsgx_NumberOfMajorCustomers-2" xlink:type="locator"/>
    <link:loc xlink:href="dsgx-20200131.xsd#dsgx_PropertyPlantAndEquipmentPercentDecliningBalanceDepreciation" xlink:label="dsgx_PropertyPlantAndEquipmentPercentDecliningBalanceDepreciation-2" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/srt/2019/elts/srt-2019-01-31.xsd#srt_MaximumMember" xlink:label="srt_MaximumMember" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/srt/2019/elts/srt-2019-01-31.xsd#srt_MinimumMember" xlink:label="srt_MinimumMember" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/srt/2019/elts/srt-2019-01-31.xsd#srt_RangeAxis" xlink:label="srt_RangeAxis" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/srt/2019/elts/srt-2019-01-31.xsd#srt_RangeMember" xlink:label="srt_RangeMember" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/srt/2019/elts/srt-2019-01-31.xsd#srt_TitleOfIndividualAxis" xlink:label="srt_TitleOfIndividualAxis" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/srt/2019/elts/srt-2019-01-31.xsd#srt_TitleOfIndividualWithRelationshipToEntityDomain" xlink:label="srt_TitleOfIndividualWithRelationshipToEntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_AccountingStandardsUpdate201409Member" xlink:label="us-gaap_AccountingStandardsUpdate201409Member" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_AccountingStandardsUpdate201602Member" xlink:label="us-gaap_AccountingStandardsUpdate201602Member" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_AccountingStandardsUpdate201606Member" xlink:label="us-gaap_AccountingStandardsUpdate201606Member" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_AccountsReceivableMember" xlink:label="us-gaap_AccountsReceivableMember" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_AdjustmentsForNewAccountingPronouncementsAxis" xlink:label="us-gaap_AdjustmentsForNewAccountingPronouncementsAxis" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_AwardTypeAxis" xlink:label="us-gaap_AwardTypeAxis" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ComputerEquipmentMember" xlink:label="us-gaap_ComputerEquipmentMember" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ConcentrationRiskBenchmarkDomain" xlink:label="us-gaap_ConcentrationRiskBenchmarkDomain" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ConcentrationRiskByBenchmarkAxis" xlink:label="us-gaap_ConcentrationRiskByBenchmarkAxis" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ConcentrationRiskByTypeAxis" xlink:label="us-gaap_ConcentrationRiskByTypeAxis" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ConcentrationRiskTypeDomain" xlink:label="us-gaap_ConcentrationRiskTypeDomain" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ContractWithCustomerAssetNet" xlink:label="us-gaap_ContractWithCustomerAssetNet-2" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_CumulativeEffectOfNewAccountingPrincipleInPeriodOfAdoption" xlink:label="us-gaap_CumulativeEffectOfNewAccountingPrincipleInPeriodOfAdoption-2" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_CustomerConcentrationRiskMember" xlink:label="us-gaap_CustomerConcentrationRiskMember" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_CustomerRelationshipsMember" xlink:label="us-gaap_CustomerRelationshipsMember" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_DeferredIncomeTaxLiabilitiesNet" xlink:label="us-gaap_DeferredIncomeTaxLiabilitiesNet-2" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_EmployeeStockOptionMember" xlink:label="us-gaap_EmployeeStockOptionMember" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_EquityComponentDomain" xlink:label="us-gaap_EquityComponentDomain" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetUsefulLife" xlink:label="us-gaap_FiniteLivedIntangibleAssetUsefulLife-2" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis" xlink:label="us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain" xlink:label="us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ForeignCurrencyTransactionGainLossBeforeTax" xlink:label="us-gaap_ForeignCurrencyTransactionGainLossBeforeTax-2" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_FurnitureAndFixturesMember" xlink:label="us-gaap_FurnitureAndFixturesMember" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_GoodwillImpairmentLoss" xlink:label="us-gaap_GoodwillImpairmentLoss-2" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ImpairmentOfLongLivedAssetsHeldForUse" xlink:label="us-gaap_ImpairmentOfLongLivedAssetsHeldForUse-2" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_NoncompeteAgreementsMember" xlink:label="us-gaap_NoncompeteAgreementsMember" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_OperatingLeaseLiability" xlink:label="us-gaap_OperatingLeaseLiability-2" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_OperatingLeaseRightOfUseAsset" xlink:label="us-gaap_OperatingLeaseRightOfUseAsset-2" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_OtherAssetsNoncurrent" xlink:label="us-gaap_OtherAssetsNoncurrent-2" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_PerformanceSharesMember" xlink:label="us-gaap_PerformanceSharesMember" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_PropertyPlantAndEquipmentByTypeAxis" xlink:label="us-gaap_PropertyPlantAndEquipmentByTypeAxis" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_PropertyPlantAndEquipmentTypeDomain" xlink:label="us-gaap_PropertyPlantAndEquipmentTypeDomain" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_RestrictedStockUnitsRSUMember" xlink:label="us-gaap_RestrictedStockUnitsRSUMember" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_RetainedEarningsAccumulatedDeficit" xlink:label="us-gaap_RetainedEarningsAccumulatedDeficit-2" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_RetainedEarningsMember" xlink:label="us-gaap_RetainedEarningsMember" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1-2" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:label="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardExpirationPeriod" xlink:label="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardExpirationPeriod-2" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_StatementEquityComponentsAxis" xlink:label="us-gaap_StatementEquityComponentsAxis" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_TradeNamesMember" xlink:label="us-gaap_TradeNamesMember" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_TypeOfAdoptionMember" xlink:label="us-gaap_TypeOfAdoptionMember" xlink:type="locator"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dsgx_NoteToFinancialStatementDetailsTextual" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_RangeAxis" xlink:to="srt_RangeMember" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AdjustmentsForNewAccountingPronouncementsAxis" xlink:to="us-gaap_TypeOfAdoptionMember" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementEquityComponentsAxis" xlink:to="us-gaap_EquityComponentDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ConcentrationRiskByTypeAxis" xlink:to="us-gaap_ConcentrationRiskTypeDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ConcentrationRiskByBenchmarkAxis" xlink:to="us-gaap_ConcentrationRiskBenchmarkDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_PropertyPlantAndEquipmentByTypeAxis" xlink:to="us-gaap_PropertyPlantAndEquipmentTypeDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AwardTypeAxis" xlink:to="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis" xlink:to="us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_TitleOfIndividualAxis" xlink:to="srt_TitleOfIndividualWithRelationshipToEntityDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_ConcentrationRiskByTypeAxis" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ConcentrationRiskByTypeAxis" xlink:to="us-gaap_CustomerConcentrationRiskMember" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_ConcentrationRiskByBenchmarkAxis" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ConcentrationRiskByBenchmarkAxis" xlink:to="us-gaap_AccountsReceivableMember" xlink:type="arc"/>
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis" xlink:to="us-gaap_CustomerRelationshipsMember" xlink:type="arc"/>
    <link:presentationArc order="3" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="srt_RangeAxis" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_RangeAxis" xlink:to="srt_MinimumMember" xlink:type="arc"/>
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_RangeAxis" xlink:to="srt_MaximumMember" xlink:type="arc"/>
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis" xlink:to="dsgx_ExistingTechnologyMember" xlink:type="arc"/>
    <link:presentationArc order="3" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis" xlink:to="us-gaap_TradeNamesMember" xlink:type="arc"/>
    <link:presentationArc order="4" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis" xlink:to="us-gaap_NoncompeteAgreementsMember" xlink:type="arc"/>
    <link:presentationArc order="4" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_PropertyPlantAndEquipmentByTypeAxis" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_PropertyPlantAndEquipmentByTypeAxis" xlink:to="us-gaap_ComputerEquipmentMember" xlink:type="arc"/>
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_PropertyPlantAndEquipmentByTypeAxis" xlink:to="us-gaap_FurnitureAndFixturesMember" xlink:type="arc"/>
    <link:presentationArc order="5" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_AwardTypeAxis" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AwardTypeAxis" xlink:to="us-gaap_EmployeeStockOptionMember" xlink:type="arc"/>
    <link:presentationArc order="6" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="srt_TitleOfIndividualAxis" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_TitleOfIndividualAxis" xlink:to="dsgx_DirectorsAndOfficersMember" xlink:type="arc"/>
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AwardTypeAxis" xlink:to="us-gaap_PerformanceSharesMember" xlink:type="arc"/>
    <link:presentationArc order="3" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AwardTypeAxis" xlink:to="us-gaap_RestrictedStockUnitsRSUMember" xlink:type="arc"/>
    <link:presentationArc order="4" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AwardTypeAxis" xlink:to="dsgx_DeferredShareUnitPlanMember" xlink:type="arc"/>
    <link:presentationArc order="5" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AwardTypeAxis" xlink:to="dsgx_CashsettledRestrictedSharePlanMember" xlink:type="arc"/>
    <link:presentationArc order="7" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_AdjustmentsForNewAccountingPronouncementsAxis" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AdjustmentsForNewAccountingPronouncementsAxis" xlink:to="us-gaap_AccountingStandardsUpdate201409Member" xlink:type="arc"/>
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AdjustmentsForNewAccountingPronouncementsAxis" xlink:to="us-gaap_AccountingStandardsUpdate201606Member" xlink:type="arc"/>
    <link:presentationArc order="8" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_StatementEquityComponentsAxis" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementEquityComponentsAxis" xlink:to="us-gaap_RetainedEarningsMember" xlink:type="arc"/>
    <link:presentationArc order="3" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AdjustmentsForNewAccountingPronouncementsAxis" xlink:to="us-gaap_AccountingStandardsUpdate201602Member" xlink:type="arc"/>
    <link:presentationArc order="9" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:presentationArc order="10" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_StatementLineItems" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_ForeignCurrencyTransactionGainLossBeforeTax-2" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="dsgx_NumberOfMajorCustomers-2" xlink:type="arc"/>
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_ImpairmentOfLongLivedAssetsHeldForUse-2" xlink:type="arc"/>
    <link:presentationArc order="3" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_GoodwillImpairmentLoss-2" xlink:type="arc"/>
    <link:presentationArc order="4" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_FiniteLivedIntangibleAssetUsefulLife-2" xlink:type="arc"/>
    <link:presentationArc order="5" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="dsgx_PropertyPlantAndEquipmentPercentDecliningBalanceDepreciation-2" xlink:type="arc"/>
    <link:presentationArc order="6" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="dsgx_CostsToObtainAContractWithACustomerPeriodOfBenefitIncludingRenewals-2" xlink:type="arc"/>
    <link:presentationArc order="7" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1-2" xlink:type="arc"/>
    <link:presentationArc order="8" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardExpirationPeriod-2" xlink:type="arc"/>
    <link:presentationArc order="9" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="dsgx_BaseAnnualFeePercent-2" xlink:type="arc"/>
    <link:presentationArc order="10" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="dsgx_CashSettledRestrictedShareUnitsVestingPeriod-2" xlink:type="arc"/>
    <link:presentationArc order="11" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_ContractWithCustomerAssetNet-2" xlink:type="arc"/>
    <link:presentationArc order="12" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_OtherAssetsNoncurrent-2" xlink:type="arc"/>
    <link:presentationArc order="13" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_DeferredIncomeTaxLiabilitiesNet-2" xlink:type="arc"/>
    <link:presentationArc order="14" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_RetainedEarningsAccumulatedDeficit-2" xlink:type="arc"/>
    <link:presentationArc order="15" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_CumulativeEffectOfNewAccountingPrincipleInPeriodOfAdoption-2" xlink:type="arc"/>
    <link:presentationArc order="16" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_OperatingLeaseLiability-2" xlink:type="arc"/>
    <link:presentationArc order="17" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_OperatingLeaseRightOfUseAsset-2" xlink:type="arc"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.descartes.com/20200131/role/statement-note-3-acquisitions-details-textual" xlink:href="dsgx-20200131.xsd#statement-note-3-acquisitions-details-textual" xlink:type="simple"/>
  <link:presentationLink xlink:role="http://www.descartes.com/20200131/role/statement-note-3-acquisitions-details-textual" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="dsgx-20200131.xsd#dsgx_AljexSoftwareIncMember" xlink:label="dsgx_AljexSoftwareIncMember" xlink:type="locator"/>
    <link:loc xlink:href="dsgx-20200131.xsd#dsgx_BesttransportMember" xlink:label="dsgx_BesttransportMember" xlink:type="locator"/>
    <link:loc xlink:href="dsgx-20200131.xsd#dsgx_BusinessCombinationContingentConsiderationArrangementsPeriodForRevenuePerformanceTargets" xlink:label="dsgx_BusinessCombinationContingentConsiderationArrangementsPeriodForRevenuePerformanceTargets-2" xlink:type="locator"/>
    <link:loc xlink:href="dsgx-20200131.xsd#dsgx_CoreTransportTechnologiesNzLimitedMember" xlink:label="dsgx_CoreTransportTechnologiesNzLimitedMember" xlink:type="locator"/>
    <link:loc xlink:href="dsgx-20200131.xsd#dsgx_MacroPointLLCMember" xlink:label="dsgx_MacroPointLLCMember" xlink:type="locator"/>
    <link:loc xlink:href="dsgx-20200131.xsd#dsgx_NoteToFinancialStatementDetailsTextual" xlink:label="dsgx_NoteToFinancialStatementDetailsTextual" xlink:type="locator"/>
    <link:loc xlink:href="dsgx-20200131.xsd#dsgx_PCSTracIncMember" xlink:label="dsgx_PCSTracIncMember" xlink:type="locator"/>
    <link:loc xlink:href="dsgx-20200131.xsd#dsgx_PinPointMember" xlink:label="dsgx_PinPointMember" xlink:type="locator"/>
    <link:loc xlink:href="dsgx-20200131.xsd#dsgx_ShipRushMember" xlink:label="dsgx_ShipRushMember" xlink:type="locator"/>
    <link:loc xlink:href="dsgx-20200131.xsd#dsgx_StepcomMember" xlink:label="dsgx_StepcomMember" xlink:type="locator"/>
    <link:loc xlink:href="dsgx-20200131.xsd#dsgx_The2020AcquisitionsMember" xlink:label="dsgx_The2020AcquisitionsMember" xlink:type="locator"/>
    <link:loc xlink:href="dsgx-20200131.xsd#dsgx_VelocityMailMember" xlink:label="dsgx_VelocityMailMember" xlink:type="locator"/>
    <link:loc xlink:href="dsgx-20200131.xsd#dsgx_VisualComplianceMember" xlink:label="dsgx_VisualComplianceMember" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_BusinessAcquisitionAcquireeDomain" xlink:label="us-gaap_BusinessAcquisitionAcquireeDomain" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_BusinessAcquisitionAxis" xlink:label="us-gaap_BusinessAcquisitionAxis" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_BusinessAcquisitionEquityInterestsIssuedOrIssuableNumberOfSharesIssued" xlink:label="us-gaap_BusinessAcquisitionEquityInterestsIssuedOrIssuableNumberOfSharesIssued-2" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_BusinessCombinationAcquiredReceivablesEstimatedUncollectible" xlink:label="us-gaap_BusinessCombinationAcquiredReceivablesEstimatedUncollectible-2" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_BusinessCombinationAcquiredReceivablesFairValue" xlink:label="us-gaap_BusinessCombinationAcquiredReceivablesFairValue-2" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_BusinessCombinationAcquiredReceivablesGrossContractualAmount" xlink:label="us-gaap_BusinessCombinationAcquiredReceivablesGrossContractualAmount-2" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_BusinessCombinationAcquisitionRelatedCosts" xlink:label="us-gaap_BusinessCombinationAcquisitionRelatedCosts-2" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_BusinessCombinationConsiderationTransferred1" xlink:label="us-gaap_BusinessCombinationConsiderationTransferred1-2" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_BusinessCombinationConsiderationTransferredEquityInterestsIssuedAndIssuable" xlink:label="us-gaap_BusinessCombinationConsiderationTransferredEquityInterestsIssuedAndIssuable-2" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_BusinessCombinationConsiderationTransferredLiabilitiesIncurred" xlink:label="us-gaap_BusinessCombinationConsiderationTransferredLiabilitiesIncurred-2" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_BusinessCombinationContingentConsiderationArrangementsRangeOfOutcomesValueHigh" xlink:label="us-gaap_BusinessCombinationContingentConsiderationArrangementsRangeOfOutcomesValueHigh-2" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_BusinessCombinationContingentConsiderationLiability" xlink:label="us-gaap_BusinessCombinationContingentConsiderationLiability-2" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_BusinessCombinationProFormaInformationEarningsOrLossOfAcquireeSinceAcquisitionDateActual" xlink:label="us-gaap_BusinessCombinationProFormaInformationEarningsOrLossOfAcquireeSinceAcquisitionDateActual-2" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_BusinessCombinationProFormaInformationRevenueOfAcquireeSinceAcquisitionDateActual" xlink:label="us-gaap_BusinessCombinationProFormaInformationRevenueOfAcquireeSinceAcquisitionDateActual-2" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_PaymentsToAcquireBusinessesNetOfCashAcquired" xlink:label="us-gaap_PaymentsToAcquireBusinessesNetOfCashAcquired-2" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dsgx_NoteToFinancialStatementDetailsTextual" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_BusinessAcquisitionAxis" xlink:to="us-gaap_BusinessAcquisitionAcquireeDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_BusinessAcquisitionAxis" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_BusinessAcquisitionAxis" xlink:to="dsgx_VisualComplianceMember" xlink:type="arc"/>
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_BusinessAcquisitionAxis" xlink:to="dsgx_CoreTransportTechnologiesNzLimitedMember" xlink:type="arc"/>
    <link:presentationArc order="3" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_BusinessAcquisitionAxis" xlink:to="dsgx_StepcomMember" xlink:type="arc"/>
    <link:presentationArc order="4" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_BusinessAcquisitionAxis" xlink:to="dsgx_BesttransportMember" xlink:type="arc"/>
    <link:presentationArc order="5" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_BusinessAcquisitionAxis" xlink:to="dsgx_The2020AcquisitionsMember" xlink:type="arc"/>
    <link:presentationArc order="6" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_BusinessAcquisitionAxis" xlink:to="dsgx_AljexSoftwareIncMember" xlink:type="arc"/>
    <link:presentationArc order="7" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_BusinessAcquisitionAxis" xlink:to="dsgx_VelocityMailMember" xlink:type="arc"/>
    <link:presentationArc order="8" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_BusinessAcquisitionAxis" xlink:to="dsgx_PinPointMember" xlink:type="arc"/>
    <link:presentationArc order="9" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_BusinessAcquisitionAxis" xlink:to="dsgx_MacroPointLLCMember" xlink:type="arc"/>
    <link:presentationArc order="10" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_BusinessAcquisitionAxis" xlink:to="dsgx_PCSTracIncMember" xlink:type="arc"/>
    <link:presentationArc order="11" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_BusinessAcquisitionAxis" xlink:to="dsgx_ShipRushMember" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_StatementLineItems" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_PaymentsToAcquireBusinessesNetOfCashAcquired-2" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_BusinessAcquisitionEquityInterestsIssuedOrIssuableNumberOfSharesIssued-2" xlink:type="arc"/>
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_BusinessCombinationAcquiredReceivablesGrossContractualAmount-2" xlink:type="arc"/>
    <link:presentationArc order="3" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_BusinessCombinationAcquiredReceivablesFairValue-2" xlink:type="arc"/>
    <link:presentationArc order="4" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_BusinessCombinationAcquiredReceivablesEstimatedUncollectible-2" xlink:type="arc"/>
    <link:presentationArc order="5" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_BusinessCombinationContingentConsiderationArrangementsRangeOfOutcomesValueHigh-2" xlink:type="arc"/>
    <link:presentationArc order="6" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="dsgx_BusinessCombinationContingentConsiderationArrangementsPeriodForRevenuePerformanceTargets-2" xlink:type="arc"/>
    <link:presentationArc order="7" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_BusinessCombinationContingentConsiderationLiability-2" xlink:type="arc"/>
    <link:presentationArc order="8" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_BusinessCombinationAcquisitionRelatedCosts-2" xlink:type="arc"/>
    <link:presentationArc order="9" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_BusinessCombinationProFormaInformationRevenueOfAcquireeSinceAcquisitionDateActual-2" xlink:type="arc"/>
    <link:presentationArc order="10" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_BusinessCombinationProFormaInformationEarningsOrLossOfAcquireeSinceAcquisitionDateActual-2" xlink:type="arc"/>
    <link:presentationArc order="11" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_BusinessCombinationConsiderationTransferred1-2" xlink:type="arc"/>
    <link:presentationArc order="12" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_BusinessCombinationConsiderationTransferredEquityInterestsIssuedAndIssuable-2" xlink:type="arc"/>
    <link:presentationArc order="13" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_BusinessCombinationConsiderationTransferredLiabilitiesIncurred-2" xlink:type="arc"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.descartes.com/20200131/role/statement-note-4-fair-value-measurements-details-textual" xlink:href="dsgx-20200131.xsd#statement-note-4-fair-value-measurements-details-textual" xlink:type="simple"/>
  <link:presentationLink xlink:role="http://www.descartes.com/20200131/role/statement-note-4-fair-value-measurements-details-textual" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="dsgx-20200131.xsd#dsgx_DerivativeInstrumentCommonSharesHeldPerShare" xlink:label="dsgx_DerivativeInstrumentCommonSharesHeldPerShare-2" xlink:type="locator"/>
    <link:loc xlink:href="dsgx-20200131.xsd#dsgx_DerivativeInstrumentSharesOfCommonStockHeld" xlink:label="dsgx_DerivativeInstrumentSharesOfCommonStockHeld-2" xlink:type="locator"/>
    <link:loc xlink:href="dsgx-20200131.xsd#dsgx_NoteToFinancialStatementDetailsTextual" xlink:label="dsgx_NoteToFinancialStatementDetailsTextual" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_DerivativeGainOnDerivative" xlink:label="us-gaap_DerivativeGainOnDerivative-2" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_GeneralAndAdministrativeExpenseMember" xlink:label="us-gaap_GeneralAndAdministrativeExpenseMember" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_IncomeStatementLocationAxis" xlink:label="us-gaap_IncomeStatementLocationAxis" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_IncomeStatementLocationDomain" xlink:label="us-gaap_IncomeStatementLocationDomain" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dsgx_NoteToFinancialStatementDetailsTextual" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncomeStatementLocationAxis" xlink:to="us-gaap_IncomeStatementLocationDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_IncomeStatementLocationAxis" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncomeStatementLocationAxis" xlink:to="us-gaap_GeneralAndAdministrativeExpenseMember" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_StatementLineItems" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="dsgx_DerivativeInstrumentSharesOfCommonStockHeld-2" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="dsgx_DerivativeInstrumentCommonSharesHeldPerShare-2" xlink:type="arc"/>
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_DerivativeGainOnDerivative-2" xlink:type="arc"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.descartes.com/20200131/role/statement-note-5-trade-receivables-details-textual" xlink:href="dsgx-20200131.xsd#statement-note-5-trade-receivables-details-textual" xlink:type="simple"/>
  <link:presentationLink xlink:role="http://www.descartes.com/20200131/role/statement-note-5-trade-receivables-details-textual" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="dsgx-20200131.xsd#dsgx_NoteToFinancialStatementDetailsTextual" xlink:label="dsgx_NoteToFinancialStatementDetailsTextual" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ProvisionForDoubtfulAccounts" xlink:label="us-gaap_ProvisionForDoubtfulAccounts-2" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_UnbilledReceivablesCurrent" xlink:label="us-gaap_UnbilledReceivablesCurrent-2" xlink:type="locator"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dsgx_NoteToFinancialStatementDetailsTextual" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_StatementLineItems" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_UnbilledReceivablesCurrent-2" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_ProvisionForDoubtfulAccounts-2" xlink:type="arc"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.descartes.com/20200131/role/statement-note-6-other-receivables-details-textual" xlink:href="dsgx-20200131.xsd#statement-note-6-other-receivables-details-textual" xlink:type="simple"/>
  <link:presentationLink xlink:role="http://www.descartes.com/20200131/role/statement-note-6-other-receivables-details-textual" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="dsgx-20200131.xsd#dsgx_AmountsRecoverableFromFundsHeldInEscrow" xlink:label="dsgx_AmountsRecoverableFromFundsHeldInEscrow-2" xlink:type="locator"/>
    <link:loc xlink:href="dsgx-20200131.xsd#dsgx_NoteToFinancialStatementDetailsTextual" xlink:label="dsgx_NoteToFinancialStatementDetailsTextual" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dsgx_NoteToFinancialStatementDetailsTextual" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_StatementLineItems" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="dsgx_AmountsRecoverableFromFundsHeldInEscrow-2" xlink:type="arc"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.descartes.com/20200131/role/statement-note-7-inventory-details-textual" xlink:href="dsgx-20200131.xsd#statement-note-7-inventory-details-textual" xlink:type="simple"/>
  <link:presentationLink xlink:role="http://www.descartes.com/20200131/role/statement-note-7-inventory-details-textual" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="dsgx-20200131.xsd#dsgx_NoteToFinancialStatementDetailsTextual" xlink:label="dsgx_NoteToFinancialStatementDetailsTextual" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_InventoryValuationReserves" xlink:label="us-gaap_InventoryValuationReserves-2" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dsgx_NoteToFinancialStatementDetailsTextual" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_StatementLineItems" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_InventoryValuationReserves-2" xlink:type="arc"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.descartes.com/20200131/role/statement-note-9-intangible-assets-details-textual" xlink:href="dsgx-20200131.xsd#statement-note-9-intangible-assets-details-textual" xlink:type="simple"/>
  <link:presentationLink xlink:role="http://www.descartes.com/20200131/role/statement-note-9-intangible-assets-details-textual" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="dsgx-20200131.xsd#dsgx_NoteToFinancialStatementDetailsTextual" xlink:label="dsgx_NoteToFinancialStatementDetailsTextual" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseAfterYearFive" xlink:label="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseAfterYearFive-2" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths" xlink:label="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths-2" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFive" xlink:label="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFive-2" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFour" xlink:label="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFour-2" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearThree" xlink:label="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearThree-2" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo" xlink:label="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo-2" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetsNet" xlink:label="us-gaap_FiniteLivedIntangibleAssetsNet-2" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dsgx_NoteToFinancialStatementDetailsTextual" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_StatementLineItems" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_FiniteLivedIntangibleAssetsNet-2" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths-2" xlink:type="arc"/>
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo-2" xlink:type="arc"/>
    <link:presentationArc order="3" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearThree-2" xlink:type="arc"/>
    <link:presentationArc order="4" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFour-2" xlink:type="arc"/>
    <link:presentationArc order="5" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFive-2" xlink:type="arc"/>
    <link:presentationArc order="6" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseAfterYearFive-2" xlink:type="arc"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.descartes.com/20200131/role/statement-note-12-debt-details-textual" xlink:href="dsgx-20200131.xsd#statement-note-12-debt-details-textual" xlink:type="simple"/>
  <link:presentationLink xlink:role="http://www.descartes.com/20200131/role/statement-note-12-debt-details-textual" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="dsgx-20200131.xsd#dsgx_CanadaOrUsPrimeRateBaOrLiborMember" xlink:label="dsgx_CanadaOrUsPrimeRateBaOrLiborMember" xlink:type="locator"/>
    <link:loc xlink:href="dsgx-20200131.xsd#dsgx_LineOfCreditBorrowingsToSupportForeignExchangeAndInterestRateHedgingMember" xlink:label="dsgx_LineOfCreditBorrowingsToSupportForeignExchangeAndInterestRateHedgingMember" xlink:type="locator"/>
    <link:loc xlink:href="dsgx-20200131.xsd#dsgx_NoteToFinancialStatementDetailsTextual" xlink:label="dsgx_NoteToFinancialStatementDetailsTextual" xlink:type="locator"/>
    <link:loc xlink:href="dsgx-20200131.xsd#dsgx_RevolvingOperatingCreditFacilityMember" xlink:label="dsgx_RevolvingOperatingCreditFacilityMember" xlink:type="locator"/>
    <link:loc xlink:href="dsgx-20200131.xsd#dsgx_SeniorSecuredCreditFacilityMember" xlink:label="dsgx_SeniorSecuredCreditFacilityMember" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/srt/2019/elts/srt-2019-01-31.xsd#srt_MaximumMember" xlink:label="srt_MaximumMember" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/srt/2019/elts/srt-2019-01-31.xsd#srt_MinimumMember" xlink:label="srt_MinimumMember" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/srt/2019/elts/srt-2019-01-31.xsd#srt_RangeAxis" xlink:label="srt_RangeAxis" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/srt/2019/elts/srt-2019-01-31.xsd#srt_RangeMember" xlink:label="srt_RangeMember" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_CreditFacilityAxis" xlink:label="us-gaap_CreditFacilityAxis" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_CreditFacilityDomain" xlink:label="us-gaap_CreditFacilityDomain" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_DebtInstrumentAxis" xlink:label="us-gaap_DebtInstrumentAxis" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_DebtInstrumentBasisSpreadOnVariableRate1" xlink:label="us-gaap_DebtInstrumentBasisSpreadOnVariableRate1-2" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_DebtInstrumentNameDomain" xlink:label="us-gaap_DebtInstrumentNameDomain" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_DebtInstrumentTerm" xlink:label="us-gaap_DebtInstrumentTerm-2" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_LettersOfCreditOutstandingAmount" xlink:label="us-gaap_LettersOfCreditOutstandingAmount-2" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity" xlink:label="us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity-2" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_LineOfCreditFacilityUnusedCapacityCommitmentFeePercentage" xlink:label="us-gaap_LineOfCreditFacilityUnusedCapacityCommitmentFeePercentage-2" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_VariableRateAxis" xlink:label="us-gaap_VariableRateAxis" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_VariableRateDomain" xlink:label="us-gaap_VariableRateDomain" xlink:type="locator"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dsgx_NoteToFinancialStatementDetailsTextual" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_RangeAxis" xlink:to="srt_RangeMember" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DebtInstrumentAxis" xlink:to="us-gaap_DebtInstrumentNameDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_CreditFacilityAxis" xlink:to="us-gaap_CreditFacilityDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_VariableRateAxis" xlink:to="us-gaap_VariableRateDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_CreditFacilityAxis" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_CreditFacilityAxis" xlink:to="dsgx_RevolvingOperatingCreditFacilityMember" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_DebtInstrumentAxis" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DebtInstrumentAxis" xlink:to="dsgx_SeniorSecuredCreditFacilityMember" xlink:type="arc"/>
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="srt_RangeAxis" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_RangeAxis" xlink:to="srt_MinimumMember" xlink:type="arc"/>
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_RangeAxis" xlink:to="srt_MaximumMember" xlink:type="arc"/>
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_CreditFacilityAxis" xlink:to="dsgx_LineOfCreditBorrowingsToSupportForeignExchangeAndInterestRateHedgingMember" xlink:type="arc"/>
    <link:presentationArc order="3" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_VariableRateAxis" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_VariableRateAxis" xlink:to="dsgx_CanadaOrUsPrimeRateBaOrLiborMember" xlink:type="arc"/>
    <link:presentationArc order="3" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_CreditFacilityAxis" xlink:to="dsgx_SeniorSecuredCreditFacilityMember" xlink:type="arc"/>
    <link:presentationArc order="4" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:presentationArc order="5" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_StatementLineItems" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity-2" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_DebtInstrumentTerm-2" xlink:type="arc"/>
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_DebtInstrumentBasisSpreadOnVariableRate1-2" xlink:type="arc"/>
    <link:presentationArc order="3" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_LineOfCreditFacilityUnusedCapacityCommitmentFeePercentage-2" xlink:type="arc"/>
    <link:presentationArc order="4" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_LettersOfCreditOutstandingAmount-2" xlink:type="arc"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.descartes.com/20200131/role/statement-note-13-leases-details-textual" xlink:href="dsgx-20200131.xsd#statement-note-13-leases-details-textual" xlink:type="simple"/>
  <link:presentationLink xlink:role="http://www.descartes.com/20200131/role/statement-note-13-leases-details-textual" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="dsgx-20200131.xsd#dsgx_LesseeOperatingLeaseRemainingLeaseTerm" xlink:label="dsgx_LesseeOperatingLeaseRemainingLeaseTerm-2" xlink:type="locator"/>
    <link:loc xlink:href="dsgx-20200131.xsd#dsgx_NoteToFinancialStatementDetailsTextual" xlink:label="dsgx_NoteToFinancialStatementDetailsTextual" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/srt/2019/elts/srt-2019-01-31.xsd#srt_MaximumMember" xlink:label="srt_MaximumMember" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/srt/2019/elts/srt-2019-01-31.xsd#srt_MinimumMember" xlink:label="srt_MinimumMember" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/srt/2019/elts/srt-2019-01-31.xsd#srt_RangeAxis" xlink:label="srt_RangeAxis" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/srt/2019/elts/srt-2019-01-31.xsd#srt_RangeMember" xlink:label="srt_RangeMember" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_LesseeOperatingLeaseRenewalTerm" xlink:label="us-gaap_LesseeOperatingLeaseRenewalTerm-2" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_OperatingLeaseExpense" xlink:label="us-gaap_OperatingLeaseExpense-2" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dsgx_NoteToFinancialStatementDetailsTextual" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_RangeAxis" xlink:to="srt_RangeMember" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="srt_RangeAxis" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_RangeAxis" xlink:to="srt_MinimumMember" xlink:type="arc"/>
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_RangeAxis" xlink:to="srt_MaximumMember" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_StatementLineItems" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="dsgx_LesseeOperatingLeaseRemainingLeaseTerm-2" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_LesseeOperatingLeaseRenewalTerm-2" xlink:type="arc"/>
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_OperatingLeaseExpense-2" xlink:type="arc"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.descartes.com/20200131/role/statement-note-14-commitments-contingencies-and-guarantees-details-textual" xlink:href="dsgx-20200131.xsd#statement-note-14-commitments-contingencies-and-guarantees-details-textual" xlink:type="simple"/>
  <link:presentationLink xlink:role="http://www.descartes.com/20200131/role/statement-note-14-commitments-contingencies-and-guarantees-details-textual" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="dsgx-20200131.xsd#dsgx_BusinessCombinationContingentConsiderationArrangementsPeriodForRevenuePerformanceTargets" xlink:label="dsgx_BusinessCombinationContingentConsiderationArrangementsPeriodForRevenuePerformanceTargets-2" xlink:type="locator"/>
    <link:loc xlink:href="dsgx-20200131.xsd#dsgx_CashSettledRestrictedShareUnitsNonvestedTotalCompensationCostNotYetRecognized" xlink:label="dsgx_CashSettledRestrictedShareUnitsNonvestedTotalCompensationCostNotYetRecognized-2" xlink:type="locator"/>
    <link:loc xlink:href="dsgx-20200131.xsd#dsgx_DeferredShareUnitLiabilityNumberOfCommonShares" xlink:label="dsgx_DeferredShareUnitLiabilityNumberOfCommonShares-2" xlink:type="locator"/>
    <link:loc xlink:href="dsgx-20200131.xsd#dsgx_DerivativeInstrumentSharesOfCommonStockHeld" xlink:label="dsgx_DerivativeInstrumentSharesOfCommonStockHeld-2" xlink:type="locator"/>
    <link:loc xlink:href="dsgx-20200131.xsd#dsgx_NoteToFinancialStatementDetailsTextual" xlink:label="dsgx_NoteToFinancialStatementDetailsTextual" xlink:type="locator"/>
    <link:loc xlink:href="dsgx-20200131.xsd#dsgx_PinpointAndCoreMember" xlink:label="dsgx_PinpointAndCoreMember" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_BusinessAcquisitionAcquireeDomain" xlink:label="us-gaap_BusinessAcquisitionAcquireeDomain" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_BusinessAcquisitionAxis" xlink:label="us-gaap_BusinessAcquisitionAxis" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_BusinessCombinationContingentConsiderationArrangementsRangeOfOutcomesValueHigh" xlink:label="us-gaap_BusinessCombinationContingentConsiderationArrangementsRangeOfOutcomesValueHigh-2" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_BusinessCombinationContingentConsiderationLiability" xlink:label="us-gaap_BusinessCombinationContingentConsiderationLiability-2" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dsgx_NoteToFinancialStatementDetailsTextual" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_BusinessAcquisitionAxis" xlink:to="us-gaap_BusinessAcquisitionAcquireeDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_BusinessAcquisitionAxis" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_BusinessAcquisitionAxis" xlink:to="dsgx_PinpointAndCoreMember" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_StatementLineItems" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="dsgx_CashSettledRestrictedShareUnitsNonvestedTotalCompensationCostNotYetRecognized-2" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="dsgx_DerivativeInstrumentSharesOfCommonStockHeld-2" xlink:type="arc"/>
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="dsgx_DeferredShareUnitLiabilityNumberOfCommonShares-2" xlink:type="arc"/>
    <link:presentationArc order="3" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_BusinessCombinationContingentConsiderationArrangementsRangeOfOutcomesValueHigh-2" xlink:type="arc"/>
    <link:presentationArc order="4" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="dsgx_BusinessCombinationContingentConsiderationArrangementsPeriodForRevenuePerformanceTargets-2" xlink:type="arc"/>
    <link:presentationArc order="5" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_BusinessCombinationContingentConsiderationLiability-2" xlink:type="arc"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.descartes.com/20200131/role/statement-note-15-share-capital-details-textual" xlink:href="dsgx-20200131.xsd#statement-note-15-share-capital-details-textual" xlink:type="simple"/>
  <link:presentationLink xlink:role="http://www.descartes.com/20200131/role/statement-note-15-share-capital-details-textual" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="dsgx-20200131.xsd#dsgx_NoteToFinancialStatementDetailsTextual" xlink:label="dsgx_NoteToFinancialStatementDetailsTextual" xlink:type="locator"/>
    <link:loc xlink:href="dsgx-20200131.xsd#dsgx_OverallotmentOption" xlink:label="dsgx_OverallotmentOption-2" xlink:type="locator"/>
    <link:loc xlink:href="dsgx-20200131.xsd#dsgx_ProceedsFromIssuanceOfCommonStockNet" xlink:label="dsgx_ProceedsFromIssuanceOfCommonStockNet-2" xlink:type="locator"/>
    <link:loc xlink:href="dsgx-20200131.xsd#dsgx_ShelfProspectusMaximumAmount" xlink:label="dsgx_ShelfProspectusMaximumAmount-2" xlink:type="locator"/>
    <link:loc xlink:href="dsgx-20200131.xsd#dsgx_ShelfProspectusMember" xlink:label="dsgx_ShelfProspectusMember" xlink:type="locator"/>
    <link:loc xlink:href="dsgx-20200131.xsd#dsgx_ShelfProspectusPeriod" xlink:label="dsgx_ShelfProspectusPeriod-2" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ProceedsFromStockOptionsExercised" xlink:label="us-gaap_ProceedsFromStockOptionsExercised-2" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_SaleOfStockNameOfTransactionDomain" xlink:label="us-gaap_SaleOfStockNameOfTransactionDomain" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_SharesIssuedPricePerShare" xlink:label="us-gaap_SharesIssuedPricePerShare-2" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_StockIssuedDuringPeriodSharesNewIssues" xlink:label="us-gaap_StockIssuedDuringPeriodSharesNewIssues-2" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_StockIssuedDuringPeriodValueNewIssues" xlink:label="us-gaap_StockIssuedDuringPeriodValueNewIssues-2" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_SubsidiarySaleOfStockAxis" xlink:label="us-gaap_SubsidiarySaleOfStockAxis" xlink:type="locator"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dsgx_NoteToFinancialStatementDetailsTextual" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_SubsidiarySaleOfStockAxis" xlink:to="us-gaap_SaleOfStockNameOfTransactionDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_SubsidiarySaleOfStockAxis" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_SubsidiarySaleOfStockAxis" xlink:to="dsgx_ShelfProspectusMember" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_StatementLineItems" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="dsgx_ShelfProspectusPeriod-2" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="dsgx_ShelfProspectusMaximumAmount-2" xlink:type="arc"/>
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_SharesIssuedPricePerShare-2" xlink:type="arc"/>
    <link:presentationArc order="3" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_StockIssuedDuringPeriodSharesNewIssues-2" xlink:type="arc"/>
    <link:presentationArc order="4" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="dsgx_OverallotmentOption-2" xlink:type="arc"/>
    <link:presentationArc order="5" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_StockIssuedDuringPeriodValueNewIssues-2" xlink:type="arc"/>
    <link:presentationArc order="6" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="dsgx_ProceedsFromIssuanceOfCommonStockNet-2" xlink:type="arc"/>
    <link:presentationArc order="7" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_ProceedsFromStockOptionsExercised-2" xlink:type="arc"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.descartes.com/20200131/role/statement-note-16-earnings-per-share-details-textual" xlink:href="dsgx-20200131.xsd#statement-note-16-earnings-per-share-details-textual" xlink:type="simple"/>
  <link:presentationLink xlink:role="http://www.descartes.com/20200131/role/statement-note-16-earnings-per-share-details-textual" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="dsgx-20200131.xsd#dsgx_NoteToFinancialStatementDetailsTextual" xlink:label="dsgx_NoteToFinancialStatementDetailsTextual" xlink:type="locator"/>
    <link:loc xlink:href="dsgx-20200131.xsd#dsgx_StockOptionsTreasuryStockMethodMember" xlink:label="dsgx_StockOptionsTreasuryStockMethodMember" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount" xlink:label="us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount-2" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis" xlink:label="us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_AntidilutiveSecuritiesNameDomain" xlink:label="us-gaap_AntidilutiveSecuritiesNameDomain" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_AwardTypeAxis" xlink:label="us-gaap_AwardTypeAxis" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_EmployeeStockOptionMember" xlink:label="us-gaap_EmployeeStockOptionMember" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:label="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dsgx_NoteToFinancialStatementDetailsTextual" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis" xlink:to="us-gaap_AntidilutiveSecuritiesNameDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AwardTypeAxis" xlink:to="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_AwardTypeAxis" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AwardTypeAxis" xlink:to="us-gaap_EmployeeStockOptionMember" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis" xlink:to="dsgx_StockOptionsTreasuryStockMethodMember" xlink:type="arc"/>
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:presentationArc order="3" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_StatementLineItems" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount-2" xlink:type="arc"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.descartes.com/20200131/role/statement-note-17-stockbased-compensation-plans-details-textual" xlink:href="dsgx-20200131.xsd#statement-note-17-stockbased-compensation-plans-details-textual" xlink:type="simple"/>
  <link:presentationLink xlink:role="http://www.descartes.com/20200131/role/statement-note-17-stockbased-compensation-plans-details-textual" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="dsgx-20200131.xsd#dsgx_CashSettledRestrictedShareUnitsCompensationExpense" xlink:label="dsgx_CashSettledRestrictedShareUnitsCompensationExpense-2" xlink:type="locator"/>
    <link:loc xlink:href="dsgx-20200131.xsd#dsgx_CashsettledRestrictedShareUnitMember" xlink:label="dsgx_CashsettledRestrictedShareUnitMember" xlink:type="locator"/>
    <link:loc xlink:href="dsgx-20200131.xsd#dsgx_DeferredShareUnitPlanMember" xlink:label="dsgx_DeferredShareUnitPlanMember" xlink:type="locator"/>
    <link:loc xlink:href="dsgx-20200131.xsd#dsgx_DeferredShareUnitsCompensationExpense" xlink:label="dsgx_DeferredShareUnitsCompensationExpense-2" xlink:type="locator"/>
    <link:loc xlink:href="dsgx-20200131.xsd#dsgx_DeferredShareUnitsGrantsInPeriod" xlink:label="dsgx_DeferredShareUnitsGrantsInPeriod-2" xlink:type="locator"/>
    <link:loc xlink:href="dsgx-20200131.xsd#dsgx_DeferredShareUnitsOutstandingNumber" xlink:label="dsgx_DeferredShareUnitsOutstandingNumber-2" xlink:type="locator"/>
    <link:loc xlink:href="dsgx-20200131.xsd#dsgx_DeferredShareUnitsRedeemedAndSettledInCash" xlink:label="dsgx_DeferredShareUnitsRedeemedAndSettledInCash-2" xlink:type="locator"/>
    <link:loc xlink:href="dsgx-20200131.xsd#dsgx_NoteToFinancialStatementDetailsTextual" xlink:label="dsgx_NoteToFinancialStatementDetailsTextual" xlink:type="locator"/>
    <link:loc xlink:href="dsgx-20200131.xsd#dsgx_OptionsGrantedOutsideOfShareholderApprovedStockOptionPlanMember" xlink:label="dsgx_OptionsGrantedOutsideOfShareholderApprovedStockOptionPlanMember" xlink:type="locator"/>
    <link:loc xlink:href="dsgx-20200131.xsd#dsgx_OutsideOfShareholderapprovedStockOptionPlanMember" xlink:label="dsgx_OutsideOfShareholderapprovedStockOptionPlanMember" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_AwardTypeAxis" xlink:label="us-gaap_AwardTypeAxis" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_DeferredCompensationSharebasedArrangementsLiabilityCurrentAndNoncurrent" xlink:label="us-gaap_DeferredCompensationSharebasedArrangementsLiabilityCurrentAndNoncurrent-2" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsShareBasedCompensationCost" xlink:label="us-gaap_DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsShareBasedCompensationCost-2" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized" xlink:label="us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized-2" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1" xlink:label="us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1-2" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_EmployeeServiceShareBasedCompensationTaxBenefitFromExerciseOfStockOptions" xlink:label="us-gaap_EmployeeServiceShareBasedCompensationTaxBenefitFromExerciseOfStockOptions-2" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_EmployeeStockOptionMember" xlink:label="us-gaap_EmployeeStockOptionMember" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_PerformanceSharesMember" xlink:label="us-gaap_PerformanceSharesMember" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_PlanNameAxis" xlink:label="us-gaap_PlanNameAxis" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_PlanNameDomain" xlink:label="us-gaap_PlanNameDomain" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_RestrictedStockUnitsRSUMember" xlink:label="us-gaap_RestrictedStockUnitsRSUMember" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodTotalFairValue" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodTotalFairValue-2" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant-2" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue-2" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross-2" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue-2" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber-2" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:label="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedInPeriodFairValue1" xlink:label="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedInPeriodFairValue1-2" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dsgx_NoteToFinancialStatementDetailsTextual" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AwardTypeAxis" xlink:to="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_PlanNameAxis" xlink:to="us-gaap_PlanNameDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_PlanNameAxis" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_PlanNameAxis" xlink:to="dsgx_OptionsGrantedOutsideOfShareholderApprovedStockOptionPlanMember" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_AwardTypeAxis" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AwardTypeAxis" xlink:to="us-gaap_EmployeeStockOptionMember" xlink:type="arc"/>
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_PlanNameAxis" xlink:to="dsgx_OutsideOfShareholderapprovedStockOptionPlanMember" xlink:type="arc"/>
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AwardTypeAxis" xlink:to="us-gaap_PerformanceSharesMember" xlink:type="arc"/>
    <link:presentationArc order="3" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AwardTypeAxis" xlink:to="us-gaap_RestrictedStockUnitsRSUMember" xlink:type="arc"/>
    <link:presentationArc order="3" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_PlanNameAxis" xlink:to="dsgx_DeferredShareUnitPlanMember" xlink:type="arc"/>
    <link:presentationArc order="4" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_PlanNameAxis" xlink:to="dsgx_CashsettledRestrictedShareUnitMember" xlink:type="arc"/>
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:presentationArc order="3" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_StatementLineItems" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsShareBasedCompensationCost-2" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_EmployeeServiceShareBasedCompensationTaxBenefitFromExerciseOfStockOptions-2" xlink:type="arc"/>
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber-2" xlink:type="arc"/>
    <link:presentationArc order="3" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant-2" xlink:type="arc"/>
    <link:presentationArc order="4" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized-2" xlink:type="arc"/>
    <link:presentationArc order="5" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1-2" xlink:type="arc"/>
    <link:presentationArc order="6" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedInPeriodFairValue1-2" xlink:type="arc"/>
    <link:presentationArc order="7" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross-2" xlink:type="arc"/>
    <link:presentationArc order="8" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue-2" xlink:type="arc"/>
    <link:presentationArc order="9" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue-2" xlink:type="arc"/>
    <link:presentationArc order="10" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodTotalFairValue-2" xlink:type="arc"/>
    <link:presentationArc order="11" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="dsgx_DeferredShareUnitsOutstandingNumber-2" xlink:type="arc"/>
    <link:presentationArc order="12" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_DeferredCompensationSharebasedArrangementsLiabilityCurrentAndNoncurrent-2" xlink:type="arc"/>
    <link:presentationArc order="13" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="dsgx_DeferredShareUnitsGrantsInPeriod-2" xlink:type="arc"/>
    <link:presentationArc order="14" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="dsgx_DeferredShareUnitsRedeemedAndSettledInCash-2" xlink:type="arc"/>
    <link:presentationArc order="15" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="dsgx_DeferredShareUnitsCompensationExpense-2" xlink:type="arc"/>
    <link:presentationArc order="16" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="dsgx_CashSettledRestrictedShareUnitsCompensationExpense-2" xlink:type="arc"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.descartes.com/20200131/role/statement-note-18-income-taxes-details-textual" xlink:href="dsgx-20200131.xsd#statement-note-18-income-taxes-details-textual" xlink:type="simple"/>
  <link:presentationLink xlink:role="http://www.descartes.com/20200131/role/statement-note-18-income-taxes-details-textual" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="dsgx-20200131.xsd#dsgx_IncomeBeforeTaxesPercent" xlink:label="dsgx_IncomeBeforeTaxesPercent-2" xlink:type="locator"/>
    <link:loc xlink:href="dsgx-20200131.xsd#dsgx_NoteToFinancialStatementDetailsTextual" xlink:label="dsgx_NoteToFinancialStatementDetailsTextual" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_EffectiveIncomeTaxRateContinuingOperations" xlink:label="us-gaap_EffectiveIncomeTaxRateContinuingOperations-2" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_IncomeTaxExpenseBenefitContinuingOperationsAdjustmentOfDeferredTaxAssetLiability" xlink:label="us-gaap_IncomeTaxExpenseBenefitContinuingOperationsAdjustmentOfDeferredTaxAssetLiability-2" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_LiabilityForUncertainTaxPositionsNoncurrent" xlink:label="us-gaap_LiabilityForUncertainTaxPositionsNoncurrent-2" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_SignificantChangeInUnrecognizedTaxBenefitsIsReasonablyPossibleAmountOfUnrecordedBenefit" xlink:label="us-gaap_SignificantChangeInUnrecognizedTaxBenefitsIsReasonablyPossibleAmountOfUnrecordedBenefit-2" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_UndistributedEarningsOfForeignSubsidiaries" xlink:label="us-gaap_UndistributedEarningsOfForeignSubsidiaries-2" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_UnrecognizedTaxBenefitsThatWouldImpactEffectiveTaxRate" xlink:label="us-gaap_UnrecognizedTaxBenefitsThatWouldImpactEffectiveTaxRate-2" xlink:type="locator"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dsgx_NoteToFinancialStatementDetailsTextual" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_StatementLineItems" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="dsgx_IncomeBeforeTaxesPercent-2" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_EffectiveIncomeTaxRateContinuingOperations-2" xlink:type="arc"/>
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_IncomeTaxExpenseBenefitContinuingOperationsAdjustmentOfDeferredTaxAssetLiability-2" xlink:type="arc"/>
    <link:presentationArc order="3" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_UndistributedEarningsOfForeignSubsidiaries-2" xlink:type="arc"/>
    <link:presentationArc order="4" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_LiabilityForUncertainTaxPositionsNoncurrent-2" xlink:type="arc"/>
    <link:presentationArc order="5" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_UnrecognizedTaxBenefitsThatWouldImpactEffectiveTaxRate-2" xlink:type="arc"/>
    <link:presentationArc order="6" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_SignificantChangeInUnrecognizedTaxBenefitsIsReasonablyPossibleAmountOfUnrecordedBenefit-2" xlink:type="arc"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.descartes.com/20200131/role/statement-note-19-contract-balances-performance-obligations-and-contract-costs-1-details-textual" xlink:href="dsgx-20200131.xsd#statement-note-19-contract-balances-performance-obligations-and-contract-costs-1-details-textual" xlink:type="simple"/>
  <link:presentationLink xlink:role="http://www.descartes.com/20200131/role/statement-note-19-contract-balances-performance-obligations-and-contract-costs-1-details-textual" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="dsgx-20200131.xsd#dsgx_NoteToFinancialStatementDetailsTextual" xlink:label="dsgx_NoteToFinancialStatementDetailsTextual" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_CapitalizedContractCostAmortization" xlink:label="us-gaap_CapitalizedContractCostAmortization-2" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_CapitalizedContractCostImpairmentLoss" xlink:label="us-gaap_CapitalizedContractCostImpairmentLoss-2" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_CapitalizedContractCostNet" xlink:label="us-gaap_CapitalizedContractCostNet-2" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dsgx_NoteToFinancialStatementDetailsTextual" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_StatementLineItems" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_CapitalizedContractCostNet-2" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_CapitalizedContractCostAmortization-2" xlink:type="arc"/>
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_CapitalizedContractCostImpairmentLoss-2" xlink:type="arc"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.descartes.com/20200131/role/statement-note-19-contract-balances-performance-obligations-and-contract-costs-2-details-textual" xlink:href="dsgx-20200131.xsd#statement-note-19-contract-balances-performance-obligations-and-contract-costs-2-details-textual" xlink:type="simple"/>
  <link:presentationLink xlink:role="http://www.descartes.com/20200131/role/statement-note-19-contract-balances-performance-obligations-and-contract-costs-2-details-textual" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="dsgx-20200131.xsd#dsgx_NoteToFinancialStatementDetailsTextual" xlink:label="dsgx_NoteToFinancialStatementDetailsTextual" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_RevenueRemainingPerformanceObligation" xlink:label="us-gaap_RevenueRemainingPerformanceObligation-2" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1" xlink:label="us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1-2" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis" xlink:label="us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_RevenueRemainingPerformanceObligationPercentage" xlink:label="us-gaap_RevenueRemainingPerformanceObligationPercentage-2" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dsgx_NoteToFinancialStatementDetailsTextual" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_StatementLineItems" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_RevenueRemainingPerformanceObligation-2" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_RevenueRemainingPerformanceObligationPercentage-2" xlink:type="arc"/>
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1-2" xlink:type="arc"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.descartes.com/20200131/role/statement-note-22-segmented-information-details-textual" xlink:href="dsgx-20200131.xsd#statement-note-22-segmented-information-details-textual" xlink:type="simple"/>
  <link:presentationLink xlink:role="http://www.descartes.com/20200131/role/statement-note-22-segmented-information-details-textual" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="dsgx-20200131.xsd#dsgx_NoteToFinancialStatementDetailsTextual" xlink:label="dsgx_NoteToFinancialStatementDetailsTextual" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_NumberOfReportableSegments" xlink:label="us-gaap_NumberOfReportableSegments-2" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dsgx_NoteToFinancialStatementDetailsTextual" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_StatementLineItems" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_NumberOfReportableSegments-2" xlink:type="arc"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.descartes.com/20200131/role/statement-note-23-subsequent-event-details-textual" xlink:href="dsgx-20200131.xsd#statement-note-23-subsequent-event-details-textual" xlink:type="simple"/>
  <link:presentationLink xlink:role="http://www.descartes.com/20200131/role/statement-note-23-subsequent-event-details-textual" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="dsgx-20200131.xsd#dsgx_NoteToFinancialStatementDetailsTextual" xlink:label="dsgx_NoteToFinancialStatementDetailsTextual" xlink:type="locator"/>
    <link:loc xlink:href="dsgx-20200131.xsd#dsgx_PeoplevoxLimitedMember" xlink:label="dsgx_PeoplevoxLimitedMember" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_BusinessAcquisitionAcquireeDomain" xlink:label="us-gaap_BusinessAcquisitionAcquireeDomain" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_BusinessAcquisitionAxis" xlink:label="us-gaap_BusinessAcquisitionAxis" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_PaymentsToAcquireBusinessesNetOfCashAcquired" xlink:label="us-gaap_PaymentsToAcquireBusinessesNetOfCashAcquired-2" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_SubsequentEventMember" xlink:label="us-gaap_SubsequentEventMember" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_SubsequentEventTypeAxis" xlink:label="us-gaap_SubsequentEventTypeAxis" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_SubsequentEventTypeDomain" xlink:label="us-gaap_SubsequentEventTypeDomain" xlink:type="locator"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dsgx_NoteToFinancialStatementDetailsTextual" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_BusinessAcquisitionAxis" xlink:to="us-gaap_BusinessAcquisitionAcquireeDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_SubsequentEventTypeAxis" xlink:to="us-gaap_SubsequentEventTypeDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_SubsequentEventTypeAxis" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_SubsequentEventTypeAxis" xlink:to="us-gaap_SubsequentEventMember" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_BusinessAcquisitionAxis" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_BusinessAcquisitionAxis" xlink:to="dsgx_PeoplevoxLimitedMember" xlink:type="arc"/>
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:presentationArc order="3" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_StatementLineItems" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_PaymentsToAcquireBusinessesNetOfCashAcquired-2" xlink:type="arc"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.descartes.com/20200131/role/statement-note-3-acquisitions-preliminary-purchase-price-allocation-for-businesses-acquired-details-parentheticals" xlink:href="dsgx-20200131.xsd#statement-note-3-acquisitions-preliminary-purchase-price-allocation-for-businesses-acquired-details-parentheticals" xlink:type="simple"/>
  <link:presentationLink xlink:role="http://www.descartes.com/20200131/role/statement-note-3-acquisitions-preliminary-purchase-price-allocation-for-businesses-acquired-details-parentheticals" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="dsgx-20200131.xsd#dsgx_AljexSoftwareIncMember" xlink:label="dsgx_AljexSoftwareIncMember" xlink:type="locator"/>
    <link:loc xlink:href="dsgx-20200131.xsd#dsgx_BesttransportMember" xlink:label="dsgx_BesttransportMember" xlink:type="locator"/>
    <link:loc xlink:href="dsgx-20200131.xsd#dsgx_CoreTransportTechnologiesNzLimitedMember" xlink:label="dsgx_CoreTransportTechnologiesNzLimitedMember" xlink:type="locator"/>
    <link:loc xlink:href="dsgx-20200131.xsd#dsgx_MacroPointLLCMember" xlink:label="dsgx_MacroPointLLCMember" xlink:type="locator"/>
    <link:loc xlink:href="dsgx-20200131.xsd#dsgx_PCSTracIncMember" xlink:label="dsgx_PCSTracIncMember" xlink:type="locator"/>
    <link:loc xlink:href="dsgx-20200131.xsd#dsgx_PinPointMember" xlink:label="dsgx_PinPointMember" xlink:type="locator"/>
    <link:loc xlink:href="dsgx-20200131.xsd#dsgx_ShipRushMember" xlink:label="dsgx_ShipRushMember" xlink:type="locator"/>
    <link:loc xlink:href="dsgx-20200131.xsd#dsgx_StepcomMember" xlink:label="dsgx_StepcomMember" xlink:type="locator"/>
    <link:loc xlink:href="dsgx-20200131.xsd#dsgx_VelocityMailMember" xlink:label="dsgx_VelocityMailMember" xlink:type="locator"/>
    <link:loc xlink:href="dsgx-20200131.xsd#dsgx_VisualComplianceMember" xlink:label="dsgx_VisualComplianceMember" xlink:type="locator"/>
    <link:loc xlink:href="dsgx-20200131.xsd#dsgx_statement-statement-note-3-acquisitions-preliminary-purchase-price-allocation-for-businesses-acquired-details-parentheticals" xlink:label="dsgx_statement-statement-note-3-acquisitions-preliminary-purchase-price-allocation-for-businesses-acquired-details-parentheticals" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_BusinessAcquisitionAcquireeDomain" xlink:label="us-gaap_BusinessAcquisitionAcquireeDomain" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_BusinessAcquisitionAxis" xlink:label="us-gaap_BusinessAcquisitionAxis" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_CashAcquiredFromAcquisition" xlink:label="us-gaap_CashAcquiredFromAcquisition" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dsgx_statement-statement-note-3-acquisitions-preliminary-purchase-price-allocation-for-businesses-acquired-details-parentheticals" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_BusinessAcquisitionAxis" xlink:to="us-gaap_BusinessAcquisitionAcquireeDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_BusinessAcquisitionAxis" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_BusinessAcquisitionAxis" xlink:to="dsgx_VisualComplianceMember" xlink:type="arc"/>
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_BusinessAcquisitionAxis" xlink:to="dsgx_CoreTransportTechnologiesNzLimitedMember" xlink:type="arc"/>
    <link:presentationArc order="3" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_BusinessAcquisitionAxis" xlink:to="dsgx_StepcomMember" xlink:type="arc"/>
    <link:presentationArc order="4" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_BusinessAcquisitionAxis" xlink:to="dsgx_BesttransportMember" xlink:type="arc"/>
    <link:presentationArc order="5" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_BusinessAcquisitionAxis" xlink:to="dsgx_AljexSoftwareIncMember" xlink:type="arc"/>
    <link:presentationArc order="6" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_BusinessAcquisitionAxis" xlink:to="dsgx_VelocityMailMember" xlink:type="arc"/>
    <link:presentationArc order="7" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_BusinessAcquisitionAxis" xlink:to="dsgx_PinPointMember" xlink:type="arc"/>
    <link:presentationArc order="8" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_BusinessAcquisitionAxis" xlink:to="dsgx_ShipRushMember" xlink:type="arc"/>
    <link:presentationArc order="9" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_BusinessAcquisitionAxis" xlink:to="dsgx_PCSTracIncMember" xlink:type="arc"/>
    <link:presentationArc order="10" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_BusinessAcquisitionAxis" xlink:to="dsgx_MacroPointLLCMember" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_StatementLineItems" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_CashAcquiredFromAcquisition" xlink:type="arc"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.descartes.com/20200131/role/statement-note-3-acquisitions-acquired-intangible-assets-useful-lives-details" xlink:href="dsgx-20200131.xsd#statement-note-3-acquisitions-acquired-intangible-assets-useful-lives-details" xlink:type="simple"/>
  <link:presentationLink xlink:role="http://www.descartes.com/20200131/role/statement-note-3-acquisitions-acquired-intangible-assets-useful-lives-details" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="dsgx-20200131.xsd#dsgx_AljexSoftwareIncMember" xlink:label="dsgx_AljexSoftwareIncMember" xlink:type="locator"/>
    <link:loc xlink:href="dsgx-20200131.xsd#dsgx_BesttransportMember" xlink:label="dsgx_BesttransportMember" xlink:type="locator"/>
    <link:loc xlink:href="dsgx-20200131.xsd#dsgx_CoreTransportTechnologiesNzLimitedMember" xlink:label="dsgx_CoreTransportTechnologiesNzLimitedMember" xlink:type="locator"/>
    <link:loc xlink:href="dsgx-20200131.xsd#dsgx_ExistingTechnologyMember" xlink:label="dsgx_ExistingTechnologyMember" xlink:type="locator"/>
    <link:loc xlink:href="dsgx-20200131.xsd#dsgx_MacroPointLLCMember" xlink:label="dsgx_MacroPointLLCMember" xlink:type="locator"/>
    <link:loc xlink:href="dsgx-20200131.xsd#dsgx_PCSTracIncMember" xlink:label="dsgx_PCSTracIncMember" xlink:type="locator"/>
    <link:loc xlink:href="dsgx-20200131.xsd#dsgx_PinPointMember" xlink:label="dsgx_PinPointMember" xlink:type="locator"/>
    <link:loc xlink:href="dsgx-20200131.xsd#dsgx_ShipRushMember" xlink:label="dsgx_ShipRushMember" xlink:type="locator"/>
    <link:loc xlink:href="dsgx-20200131.xsd#dsgx_StepcomMember" xlink:label="dsgx_StepcomMember" xlink:type="locator"/>
    <link:loc xlink:href="dsgx-20200131.xsd#dsgx_VelocityMailMember" xlink:label="dsgx_VelocityMailMember" xlink:type="locator"/>
    <link:loc xlink:href="dsgx-20200131.xsd#dsgx_VisualComplianceMember" xlink:label="dsgx_VisualComplianceMember" xlink:type="locator"/>
    <link:loc xlink:href="dsgx-20200131.xsd#dsgx_statement-statement-note-3-acquisitions-acquired-intangible-assets-useful-lives-details" xlink:label="dsgx_statement-statement-note-3-acquisitions-acquired-intangible-assets-useful-lives-details" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_BusinessAcquisitionAcquireeDomain" xlink:label="us-gaap_BusinessAcquisitionAcquireeDomain" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_BusinessAcquisitionAxis" xlink:label="us-gaap_BusinessAcquisitionAxis" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_CustomerRelationshipsMember" xlink:label="us-gaap_CustomerRelationshipsMember" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetUsefulLife" xlink:label="us-gaap_FiniteLivedIntangibleAssetUsefulLife" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis" xlink:label="us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain" xlink:label="us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_NoncompeteAgreementsMember" xlink:label="us-gaap_NoncompeteAgreementsMember" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_TradeNamesMember" xlink:label="us-gaap_TradeNamesMember" xlink:type="locator"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dsgx_statement-statement-note-3-acquisitions-acquired-intangible-assets-useful-lives-details" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_BusinessAcquisitionAxis" xlink:to="us-gaap_BusinessAcquisitionAcquireeDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis" xlink:to="us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis" xlink:to="us-gaap_CustomerRelationshipsMember" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_BusinessAcquisitionAxis" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_BusinessAcquisitionAxis" xlink:to="dsgx_VisualComplianceMember" xlink:type="arc"/>
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_BusinessAcquisitionAxis" xlink:to="dsgx_CoreTransportTechnologiesNzLimitedMember" xlink:type="arc"/>
    <link:presentationArc order="3" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_BusinessAcquisitionAxis" xlink:to="dsgx_StepcomMember" xlink:type="arc"/>
    <link:presentationArc order="4" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_BusinessAcquisitionAxis" xlink:to="dsgx_BesttransportMember" xlink:type="arc"/>
    <link:presentationArc order="5" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_BusinessAcquisitionAxis" xlink:to="dsgx_AljexSoftwareIncMember" xlink:type="arc"/>
    <link:presentationArc order="6" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_BusinessAcquisitionAxis" xlink:to="dsgx_VelocityMailMember" xlink:type="arc"/>
    <link:presentationArc order="7" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_BusinessAcquisitionAxis" xlink:to="dsgx_PinPointMember" xlink:type="arc"/>
    <link:presentationArc order="8" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_BusinessAcquisitionAxis" xlink:to="dsgx_ShipRushMember" xlink:type="arc"/>
    <link:presentationArc order="9" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_BusinessAcquisitionAxis" xlink:to="dsgx_PCSTracIncMember" xlink:type="arc"/>
    <link:presentationArc order="10" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_BusinessAcquisitionAxis" xlink:to="dsgx_MacroPointLLCMember" xlink:type="arc"/>
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis" xlink:to="dsgx_ExistingTechnologyMember" xlink:type="arc"/>
    <link:presentationArc order="3" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis" xlink:to="us-gaap_TradeNamesMember" xlink:type="arc"/>
    <link:presentationArc order="4" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis" xlink:to="us-gaap_NoncompeteAgreementsMember" xlink:type="arc"/>
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:presentationArc order="3" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_StatementLineItems" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_FiniteLivedIntangibleAssetUsefulLife" xlink:type="arc"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.descartes.com/20200131/role/statement-note-13-leases-components-of-operating-lease-expense-details" xlink:href="dsgx-20200131.xsd#statement-note-13-leases-components-of-operating-lease-expense-details" xlink:type="simple"/>
  <link:presentationLink xlink:role="http://www.descartes.com/20200131/role/statement-note-13-leases-components-of-operating-lease-expense-details" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="dsgx-20200131.xsd#dsgx_statement-statement-note-13-leases-components-of-operating-lease-expense-details" xlink:label="dsgx_statement-statement-note-13-leases-components-of-operating-lease-expense-details" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_LeaseCost" xlink:label="us-gaap_LeaseCost-3" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_OperatingLeaseCost" xlink:label="us-gaap_OperatingLeaseCost" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_OperatingLeasePayments" xlink:label="us-gaap_OperatingLeasePayments" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_OperatingLeaseWeightedAverageDiscountRatePercent" xlink:label="us-gaap_OperatingLeaseWeightedAverageDiscountRatePercent" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_OperatingLeaseWeightedAverageRemainingLeaseTerm1" xlink:label="us-gaap_OperatingLeaseWeightedAverageRemainingLeaseTerm1" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability" xlink:label="us-gaap_RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ShortTermLeaseCost" xlink:label="us-gaap_ShortTermLeaseCost" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dsgx_statement-statement-note-13-leases-components-of-operating-lease-expense-details" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_StatementLineItems" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_OperatingLeaseCost" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_ShortTermLeaseCost" xlink:type="arc"/>
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_LeaseCost-3" xlink:type="arc"/>
    <link:presentationArc order="3" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_OperatingLeasePayments" xlink:type="arc"/>
    <link:presentationArc order="4" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability" xlink:type="arc"/>
    <link:presentationArc order="5" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_OperatingLeaseWeightedAverageRemainingLeaseTerm1" xlink:type="arc"/>
    <link:presentationArc order="6" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_OperatingLeaseWeightedAverageDiscountRatePercent" xlink:type="arc"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.descartes.com/20200131/role/statement-note-13-leases-maturities-of-operating-lease-liabilities-details" xlink:href="dsgx-20200131.xsd#statement-note-13-leases-maturities-of-operating-lease-liabilities-details" xlink:type="simple"/>
  <link:presentationLink xlink:role="http://www.descartes.com/20200131/role/statement-note-13-leases-maturities-of-operating-lease-liabilities-details" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="dsgx-20200131.xsd#dsgx_statement-statement-note-13-leases-maturities-of-operating-lease-liabilities-details" xlink:label="dsgx_statement-statement-note-13-leases-maturities-of-operating-lease-liabilities-details" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue-3" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueAfterYearFive" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueAfterYearFive-1" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths-1" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFive" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFive-1" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFour" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFour-1" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearThree" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearThree-1" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearTwo" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearTwo-1" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_LesseeOperatingLeaseLiabilityUndiscountedExcessAmount" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityUndiscountedExcessAmount-n8" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_OperatingLeaseLiability" xlink:label="us-gaap_OperatingLeaseLiability" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_OperatingLeaseLiabilityCurrent" xlink:label="us-gaap_OperatingLeaseLiabilityCurrent-1" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_OperatingLeaseLiabilityNoncurrent" xlink:label="us-gaap_OperatingLeaseLiabilityNoncurrent-1" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dsgx_statement-statement-note-13-leases-maturities-of-operating-lease-liabilities-details" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_StatementLineItems" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths-1" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearTwo-1" xlink:type="arc"/>
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearThree-1" xlink:type="arc"/>
    <link:presentationArc order="3" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFour-1" xlink:type="arc"/>
    <link:presentationArc order="4" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFive-1" xlink:type="arc"/>
    <link:presentationArc order="5" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueAfterYearFive-1" xlink:type="arc"/>
    <link:presentationArc order="6" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue-3" xlink:type="arc"/>
    <link:presentationArc order="7" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_LesseeOperatingLeaseLiabilityUndiscountedExcessAmount-n8" xlink:type="arc"/>
    <link:presentationArc order="8" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_OperatingLeaseLiability" xlink:type="arc"/>
    <link:presentationArc order="9" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_OperatingLeaseLiabilityCurrent-1" xlink:type="arc"/>
    <link:presentationArc order="10" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_OperatingLeaseLiabilityNoncurrent-1" xlink:type="arc"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.descartes.com/20200131/role/statement-note-13-leases-lease-obligations-details" xlink:href="dsgx-20200131.xsd#statement-note-13-leases-lease-obligations-details" xlink:type="simple"/>
  <link:presentationLink xlink:role="http://www.descartes.com/20200131/role/statement-note-13-leases-lease-obligations-details" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="dsgx-20200131.xsd#dsgx_CapitalLeasesMember" xlink:label="dsgx_CapitalLeasesMember" xlink:type="locator"/>
    <link:loc xlink:href="dsgx-20200131.xsd#dsgx_ContractualObligationDueInEigthYear" xlink:label="dsgx_ContractualObligationDueInEigthYear" xlink:type="locator"/>
    <link:loc xlink:href="dsgx-20200131.xsd#dsgx_ContractualObligationDueInSeventhYear" xlink:label="dsgx_ContractualObligationDueInSeventhYear" xlink:type="locator"/>
    <link:loc xlink:href="dsgx-20200131.xsd#dsgx_ContractualObligationDueInSixthYear" xlink:label="dsgx_ContractualObligationDueInSixthYear" xlink:type="locator"/>
    <link:loc xlink:href="dsgx-20200131.xsd#dsgx_OperatingLeasesMember" xlink:label="dsgx_OperatingLeasesMember" xlink:type="locator"/>
    <link:loc xlink:href="dsgx-20200131.xsd#dsgx_statement-statement-note-13-leases-lease-obligations-details" xlink:label="dsgx_statement-statement-note-13-leases-lease-obligations-details" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ContractualObligation" xlink:label="us-gaap_ContractualObligation-3" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ContractualObligationDueInFifthYear" xlink:label="us-gaap_ContractualObligationDueInFifthYear" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ContractualObligationDueInFourthYear" xlink:label="us-gaap_ContractualObligationDueInFourthYear" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ContractualObligationDueInNextTwelveMonths" xlink:label="us-gaap_ContractualObligationDueInNextTwelveMonths" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ContractualObligationDueInSecondYear" xlink:label="us-gaap_ContractualObligationDueInSecondYear" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ContractualObligationDueInThirdYear" xlink:label="us-gaap_ContractualObligationDueInThirdYear" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_LeaseArrangementTypeAxis" xlink:label="us-gaap_LeaseArrangementTypeAxis" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_LeaseArrangementTypeDomain" xlink:label="us-gaap_LeaseArrangementTypeDomain" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dsgx_statement-statement-note-13-leases-lease-obligations-details" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LeaseArrangementTypeAxis" xlink:to="us-gaap_LeaseArrangementTypeDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_LeaseArrangementTypeAxis" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LeaseArrangementTypeAxis" xlink:to="dsgx_OperatingLeasesMember" xlink:type="arc"/>
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LeaseArrangementTypeAxis" xlink:to="dsgx_CapitalLeasesMember" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_StatementLineItems" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_ContractualObligationDueInNextTwelveMonths" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_ContractualObligationDueInSecondYear" xlink:type="arc"/>
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_ContractualObligationDueInThirdYear" xlink:type="arc"/>
    <link:presentationArc order="3" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_ContractualObligationDueInFourthYear" xlink:type="arc"/>
    <link:presentationArc order="4" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_ContractualObligationDueInFifthYear" xlink:type="arc"/>
    <link:presentationArc order="5" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="dsgx_ContractualObligationDueInSixthYear" xlink:type="arc"/>
    <link:presentationArc order="6" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="dsgx_ContractualObligationDueInSeventhYear" xlink:type="arc"/>
    <link:presentationArc order="7" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="dsgx_ContractualObligationDueInEigthYear" xlink:type="arc"/>
    <link:presentationArc order="8" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_ContractualObligation-3" xlink:type="arc"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.descartes.com/20200131/role/statement-note-17-stockbased-compensation-plans-assumptions-used-in-blackscholes-model-for-each-grant-details" xlink:href="dsgx-20200131.xsd#statement-note-17-stockbased-compensation-plans-assumptions-used-in-blackscholes-model-for-each-grant-details" xlink:type="simple"/>
  <link:presentationLink xlink:role="http://www.descartes.com/20200131/role/statement-note-17-stockbased-compensation-plans-assumptions-used-in-blackscholes-model-for-each-grant-details" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="dsgx-20200131.xsd#dsgx_statement-statement-note-17-stockbased-compensation-plans-assumptions-used-in-blackscholes-model-for-each-grant-details" xlink:label="dsgx_statement-statement-note-17-stockbased-compensation-plans-assumptions-used-in-blackscholes-model-for-each-grant-details" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1" xlink:label="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dsgx_statement-statement-note-17-stockbased-compensation-plans-assumptions-used-in-blackscholes-model-for-each-grant-details" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_StatementLineItems" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate" xlink:type="arc"/>
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate" xlink:type="arc"/>
    <link:presentationArc order="3" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1" xlink:type="arc"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.descartes.com/20200131/role/statement-note-17-stockbased-compensation-plans-summary-of-option-activity-details" xlink:href="dsgx-20200131.xsd#statement-note-17-stockbased-compensation-plans-summary-of-option-activity-details" xlink:type="simple"/>
  <link:presentationLink xlink:role="http://www.descartes.com/20200131/role/statement-note-17-stockbased-compensation-plans-summary-of-option-activity-details" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="dsgx-20200131.xsd#dsgx_statement-statement-note-17-stockbased-compensation-plans-summary-of-option-activity-details" xlink:label="dsgx_statement-statement-note-17-stockbased-compensation-plans-summary-of-option-activity-details" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresInPeriod" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresInPeriod-n8" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber-4" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber-5" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice-4" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice-5" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingAggregateIntrinsicValue" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingAggregateIntrinsicValue" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingNumber" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingNumber" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageExercisePrice" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageExercisePrice" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice" xlink:label="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsForfeituresInPeriodWeightedAverageExercisePrice" xlink:label="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsForfeituresInPeriodWeightedAverageExercisePrice" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice" xlink:label="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableIntrinsicValue1" xlink:label="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableIntrinsicValue1" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageRemainingContractualTerm1" xlink:label="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageRemainingContractualTerm1" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2" xlink:label="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageRemainingContractualTerm1" xlink:label="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageRemainingContractualTerm1" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised" xlink:label="us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised-n8" xlink:type="locator"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dsgx_statement-statement-note-17-stockbased-compensation-plans-summary-of-option-activity-details" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_StatementLineItems" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/periodStartLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber-4" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/periodStartLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice-4" xlink:type="arc"/>
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2" xlink:type="arc"/>
    <link:presentationArc order="3" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue" xlink:type="arc"/>
    <link:presentationArc order="4" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross" xlink:type="arc"/>
    <link:presentationArc order="5" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice" xlink:type="arc"/>
    <link:presentationArc order="6" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised-n8" xlink:type="arc"/>
    <link:presentationArc order="7" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice" xlink:type="arc"/>
    <link:presentationArc order="8" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresInPeriod-n8" xlink:type="arc"/>
    <link:presentationArc order="9" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsForfeituresInPeriodWeightedAverageExercisePrice" xlink:type="arc"/>
    <link:presentationArc order="10" preferredLabel="http://www.xbrl.org/2003/role/periodEndLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber-5" xlink:type="arc"/>
    <link:presentationArc order="11" preferredLabel="http://www.xbrl.org/2003/role/periodEndLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice-5" xlink:type="arc"/>
    <link:presentationArc order="12" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingNumber" xlink:type="arc"/>
    <link:presentationArc order="13" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageExercisePrice" xlink:type="arc"/>
    <link:presentationArc order="14" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageRemainingContractualTerm1" xlink:type="arc"/>
    <link:presentationArc order="15" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingAggregateIntrinsicValue" xlink:type="arc"/>
    <link:presentationArc order="16" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber" xlink:type="arc"/>
    <link:presentationArc order="17" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice" xlink:type="arc"/>
    <link:presentationArc order="18" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageRemainingContractualTerm1" xlink:type="arc"/>
    <link:presentationArc order="19" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableIntrinsicValue1" xlink:type="arc"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.descartes.com/20200131/role/statement-note-17-stockbased-compensation-plans-summary-of-nonvested-share-details" xlink:href="dsgx-20200131.xsd#statement-note-17-stockbased-compensation-plans-summary-of-nonvested-share-details" xlink:type="simple"/>
  <link:presentationLink xlink:role="http://www.descartes.com/20200131/role/statement-note-17-stockbased-compensation-plans-summary-of-nonvested-share-details" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="dsgx-20200131.xsd#dsgx_ShareholderapprovedStockOptionPlanMember" xlink:label="dsgx_ShareholderapprovedStockOptionPlanMember" xlink:type="locator"/>
    <link:loc xlink:href="dsgx-20200131.xsd#dsgx_statement-statement-note-17-stockbased-compensation-plans-summary-of-nonvested-share-details" xlink:label="dsgx_statement-statement-note-17-stockbased-compensation-plans-summary-of-nonvested-share-details" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_PlanNameAxis" xlink:label="us-gaap_PlanNameAxis" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_PlanNameDomain" xlink:label="us-gaap_PlanNameDomain" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross-2" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedNumberOfShares" xlink:label="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedNumberOfShares-4" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedNumberOfShares" xlink:label="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedNumberOfShares-5" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedOptionsForfeitedNumberOfShares" xlink:label="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedOptionsForfeitedNumberOfShares-n8" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedOptionsForfeitedWeightedAverageGrantDateFairValue" xlink:label="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedOptionsForfeitedWeightedAverageGrantDateFairValue" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedWeightedAverageGrantDateFairValue" xlink:label="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedWeightedAverageGrantDateFairValue-4" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedWeightedAverageGrantDateFairValue" xlink:label="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedWeightedAverageGrantDateFairValue-5" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedNumberOfShares" xlink:label="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedNumberOfShares-n9" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedWeightedAverageGrantDateFairValue" xlink:label="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedWeightedAverageGrantDateFairValue" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dsgx_statement-statement-note-17-stockbased-compensation-plans-summary-of-nonvested-share-details" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_PlanNameAxis" xlink:to="us-gaap_PlanNameDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_PlanNameAxis" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_PlanNameAxis" xlink:to="dsgx_ShareholderapprovedStockOptionPlanMember" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_StatementLineItems" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/periodStartLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedNumberOfShares-4" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/periodStartLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedWeightedAverageGrantDateFairValue-4" xlink:type="arc"/>
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross-2" xlink:type="arc"/>
    <link:presentationArc order="3" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue" xlink:type="arc"/>
    <link:presentationArc order="4" preferredLabel="http://www.xbrl.org/2009/role/negatedTerseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedNumberOfShares-n9" xlink:type="arc"/>
    <link:presentationArc order="5" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedWeightedAverageGrantDateFairValue" xlink:type="arc"/>
    <link:presentationArc order="6" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedOptionsForfeitedNumberOfShares-n8" xlink:type="arc"/>
    <link:presentationArc order="7" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedOptionsForfeitedWeightedAverageGrantDateFairValue" xlink:type="arc"/>
    <link:presentationArc order="8" preferredLabel="http://www.xbrl.org/2003/role/periodEndLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedNumberOfShares-5" xlink:type="arc"/>
    <link:presentationArc order="9" preferredLabel="http://www.xbrl.org/2003/role/periodEndLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedWeightedAverageGrantDateFairValue-5" xlink:type="arc"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.descartes.com/20200131/role/statement-note-17-stockbased-compensation-plans-summary-of-performance-share-units-activity-details" xlink:href="dsgx-20200131.xsd#statement-note-17-stockbased-compensation-plans-summary-of-performance-share-units-activity-details" xlink:type="simple"/>
  <link:presentationLink xlink:role="http://www.descartes.com/20200131/role/statement-note-17-stockbased-compensation-plans-summary-of-performance-share-units-activity-details" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="dsgx-20200131.xsd#dsgx_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsAggregateIntrinsicValueExercisable" xlink:label="dsgx_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsAggregateIntrinsicValueExercisable" xlink:type="locator"/>
    <link:loc xlink:href="dsgx-20200131.xsd#dsgx_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsExercisable" xlink:label="dsgx_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsExercisable" xlink:type="locator"/>
    <link:loc xlink:href="dsgx-20200131.xsd#dsgx_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsExercisableWeightedAverageGrantDateFairValue" xlink:label="dsgx_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsExercisableWeightedAverageGrantDateFairValue" xlink:type="locator"/>
    <link:loc xlink:href="dsgx-20200131.xsd#dsgx_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsExercisableWeightedAverageRemainingContractualTerm" xlink:label="dsgx_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsExercisableWeightedAverageRemainingContractualTerm" xlink:type="locator"/>
    <link:loc xlink:href="dsgx-20200131.xsd#dsgx_ShareBasedCompensationArrangementByShareBasedPaymentAwardUnitsIssuedInPeriodWeightedAverageGrantDateFairValue" xlink:label="dsgx_ShareBasedCompensationArrangementByShareBasedPaymentAwardUnitsIssuedInPeriodWeightedAverageGrantDateFairValue" xlink:type="locator"/>
    <link:loc xlink:href="dsgx-20200131.xsd#dsgx_statement-statement-note-17-stockbased-compensation-plans-summary-of-performance-share-units-activity-details" xlink:label="dsgx_statement-statement-note-17-stockbased-compensation-plans-summary-of-performance-share-units-activity-details" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_AwardTypeAxis" xlink:label="us-gaap_AwardTypeAxis" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_PerformanceSharesMember" xlink:label="us-gaap_PerformanceSharesMember" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue-4" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue-5" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsOutstandingWeightedAverageRemainingContractualTerms" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsOutstandingWeightedAverageRemainingContractualTerms" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsOutstandingNumber" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsOutstandingNumber-4" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsOutstandingNumber" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsOutstandingNumber-5" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingAggregateIntrinsicValue" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingAggregateIntrinsicValue" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingNumber" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingNumber" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageExercisePrice" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageExercisePrice" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardSharesIssuedInPeriod" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardSharesIssuedInPeriod" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:label="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsAggregateIntrinsicValueOutstanding" xlink:label="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsAggregateIntrinsicValueOutstanding" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageRemainingContractualTerm1" xlink:label="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageRemainingContractualTerm1" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dsgx_statement-statement-note-17-stockbased-compensation-plans-summary-of-performance-share-units-activity-details" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AwardTypeAxis" xlink:to="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_AwardTypeAxis" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AwardTypeAxis" xlink:to="us-gaap_PerformanceSharesMember" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_StatementLineItems" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/periodStartLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsOutstandingNumber-4" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/periodStartLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue-4" xlink:type="arc"/>
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsOutstandingWeightedAverageRemainingContractualTerms" xlink:type="arc"/>
    <link:presentationArc order="3" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsAggregateIntrinsicValueOutstanding" xlink:type="arc"/>
    <link:presentationArc order="4" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod" xlink:type="arc"/>
    <link:presentationArc order="5" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue" xlink:type="arc"/>
    <link:presentationArc order="6" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardSharesIssuedInPeriod" xlink:type="arc"/>
    <link:presentationArc order="7" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="dsgx_ShareBasedCompensationArrangementByShareBasedPaymentAwardUnitsIssuedInPeriodWeightedAverageGrantDateFairValue" xlink:type="arc"/>
    <link:presentationArc order="8" preferredLabel="http://www.xbrl.org/2003/role/periodEndLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsOutstandingNumber-5" xlink:type="arc"/>
    <link:presentationArc order="9" preferredLabel="http://www.xbrl.org/2003/role/periodEndLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue-5" xlink:type="arc"/>
    <link:presentationArc order="10" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingNumber" xlink:type="arc"/>
    <link:presentationArc order="11" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageExercisePrice" xlink:type="arc"/>
    <link:presentationArc order="12" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageRemainingContractualTerm1" xlink:type="arc"/>
    <link:presentationArc order="13" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingAggregateIntrinsicValue" xlink:type="arc"/>
    <link:presentationArc order="14" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="dsgx_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsExercisable" xlink:type="arc"/>
    <link:presentationArc order="15" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="dsgx_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsExercisableWeightedAverageGrantDateFairValue" xlink:type="arc"/>
    <link:presentationArc order="16" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="dsgx_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsExercisableWeightedAverageRemainingContractualTerm" xlink:type="arc"/>
    <link:presentationArc order="17" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="dsgx_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsAggregateIntrinsicValueExercisable" xlink:type="arc"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.descartes.com/20200131/role/statement-note-17-stockbased-compensation-plans-summary-of-restricted-share-units-activity-details" xlink:href="dsgx-20200131.xsd#statement-note-17-stockbased-compensation-plans-summary-of-restricted-share-units-activity-details" xlink:type="simple"/>
  <link:presentationLink xlink:role="http://www.descartes.com/20200131/role/statement-note-17-stockbased-compensation-plans-summary-of-restricted-share-units-activity-details" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="dsgx-20200131.xsd#dsgx_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsAggregateIntrinsicValueExercisable" xlink:label="dsgx_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsAggregateIntrinsicValueExercisable" xlink:type="locator"/>
    <link:loc xlink:href="dsgx-20200131.xsd#dsgx_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsExercisable" xlink:label="dsgx_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsExercisable" xlink:type="locator"/>
    <link:loc xlink:href="dsgx-20200131.xsd#dsgx_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsExercisableWeightedAverageGrantDateFairValue" xlink:label="dsgx_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsExercisableWeightedAverageGrantDateFairValue" xlink:type="locator"/>
    <link:loc xlink:href="dsgx-20200131.xsd#dsgx_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsExercisableWeightedAverageRemainingContractualTerm" xlink:label="dsgx_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsExercisableWeightedAverageRemainingContractualTerm" xlink:type="locator"/>
    <link:loc xlink:href="dsgx-20200131.xsd#dsgx_statement-statement-note-17-stockbased-compensation-plans-summary-of-restricted-share-units-activity-details" xlink:label="dsgx_statement-statement-note-17-stockbased-compensation-plans-summary-of-restricted-share-units-activity-details" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_AwardTypeAxis" xlink:label="us-gaap_AwardTypeAxis" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_RestrictedStockUnitsRSUMember" xlink:label="us-gaap_RestrictedStockUnitsRSUMember" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue-4" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue-5" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsOutstandingWeightedAverageRemainingContractualTerms" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsOutstandingWeightedAverageRemainingContractualTerms" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsOutstandingNumber" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsOutstandingNumber-4" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsOutstandingNumber" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsOutstandingNumber-5" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestExercisableNumber" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestExercisableNumber" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingAggregateIntrinsicValue" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingAggregateIntrinsicValue" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageExercisePrice" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageExercisePrice" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:label="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsAggregateIntrinsicValueOutstanding" xlink:label="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsAggregateIntrinsicValueOutstanding" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageRemainingContractualTerm1" xlink:label="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageRemainingContractualTerm1" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dsgx_statement-statement-note-17-stockbased-compensation-plans-summary-of-restricted-share-units-activity-details" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AwardTypeAxis" xlink:to="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_AwardTypeAxis" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AwardTypeAxis" xlink:to="us-gaap_RestrictedStockUnitsRSUMember" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_StatementLineItems" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/periodStartLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsOutstandingNumber-4" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/periodStartLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue-4" xlink:type="arc"/>
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsOutstandingWeightedAverageRemainingContractualTerms" xlink:type="arc"/>
    <link:presentationArc order="3" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsAggregateIntrinsicValueOutstanding" xlink:type="arc"/>
    <link:presentationArc order="4" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod" xlink:type="arc"/>
    <link:presentationArc order="5" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue" xlink:type="arc"/>
    <link:presentationArc order="6" preferredLabel="http://www.xbrl.org/2003/role/periodEndLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsOutstandingNumber-5" xlink:type="arc"/>
    <link:presentationArc order="7" preferredLabel="http://www.xbrl.org/2003/role/periodEndLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue-5" xlink:type="arc"/>
    <link:presentationArc order="8" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestExercisableNumber" xlink:type="arc"/>
    <link:presentationArc order="9" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageExercisePrice" xlink:type="arc"/>
    <link:presentationArc order="10" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageRemainingContractualTerm1" xlink:type="arc"/>
    <link:presentationArc order="11" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingAggregateIntrinsicValue" xlink:type="arc"/>
    <link:presentationArc order="12" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="dsgx_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsExercisable" xlink:type="arc"/>
    <link:presentationArc order="13" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="dsgx_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsExercisableWeightedAverageGrantDateFairValue" xlink:type="arc"/>
    <link:presentationArc order="14" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="dsgx_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsExercisableWeightedAverageRemainingContractualTerm" xlink:type="arc"/>
    <link:presentationArc order="15" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="dsgx_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsAggregateIntrinsicValueExercisable" xlink:type="arc"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.descartes.com/20200131/role/statement-note-17-stockbased-compensation-plans-summary-of-crsu-plan-activity-details" xlink:href="dsgx-20200131.xsd#statement-note-17-stockbased-compensation-plans-summary-of-crsu-plan-activity-details" xlink:type="simple"/>
  <link:presentationLink xlink:role="http://www.descartes.com/20200131/role/statement-note-17-stockbased-compensation-plans-summary-of-crsu-plan-activity-details" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="dsgx-20200131.xsd#dsgx_CRSUAwardNonvestedNumber" xlink:label="dsgx_CRSUAwardNonvestedNumber" xlink:type="locator"/>
    <link:loc xlink:href="dsgx-20200131.xsd#dsgx_CRSUAwardNonvestedWeightedAverageContractualLife" xlink:label="dsgx_CRSUAwardNonvestedWeightedAverageContractualLife" xlink:type="locator"/>
    <link:loc xlink:href="dsgx-20200131.xsd#dsgx_CRSUAwardsGrantsInPeriod" xlink:label="dsgx_CRSUAwardsGrantsInPeriod" xlink:type="locator"/>
    <link:loc xlink:href="dsgx-20200131.xsd#dsgx_CRSUAwardsOutstandingNumber" xlink:label="dsgx_CRSUAwardsOutstandingNumber-4" xlink:type="locator"/>
    <link:loc xlink:href="dsgx-20200131.xsd#dsgx_CRSUAwardsOutstandingNumber" xlink:label="dsgx_CRSUAwardsOutstandingNumber-5" xlink:type="locator"/>
    <link:loc xlink:href="dsgx-20200131.xsd#dsgx_CRSUAwardsVestedAndSettledInCash" xlink:label="dsgx_CRSUAwardsVestedAndSettledInCash-n8" xlink:type="locator"/>
    <link:loc xlink:href="dsgx-20200131.xsd#dsgx_CRSUAwardsWeightedAverageContractualLife" xlink:label="dsgx_CRSUAwardsWeightedAverageContractualLife" xlink:type="locator"/>
    <link:loc xlink:href="dsgx-20200131.xsd#dsgx_statement-statement-note-17-stockbased-compensation-plans-summary-of-crsu-plan-activity-details" xlink:label="dsgx_statement-statement-note-17-stockbased-compensation-plans-summary-of-crsu-plan-activity-details" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dsgx_statement-statement-note-17-stockbased-compensation-plans-summary-of-crsu-plan-activity-details" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_StatementLineItems" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/periodStartLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="dsgx_CRSUAwardsOutstandingNumber-4" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="dsgx_CRSUAwardsWeightedAverageContractualLife" xlink:type="arc"/>
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="dsgx_CRSUAwardsGrantsInPeriod" xlink:type="arc"/>
    <link:presentationArc order="3" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="dsgx_CRSUAwardsVestedAndSettledInCash-n8" xlink:type="arc"/>
    <link:presentationArc order="4" preferredLabel="http://www.xbrl.org/2003/role/periodEndLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="dsgx_CRSUAwardsOutstandingNumber-5" xlink:type="arc"/>
    <link:presentationArc order="5" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="dsgx_CRSUAwardNonvestedNumber" xlink:type="arc"/>
    <link:presentationArc order="6" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="dsgx_CRSUAwardNonvestedWeightedAverageContractualLife" xlink:type="arc"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.descartes.com/20200131/role/statement-note-18-income-taxes-income-tax-loss-carryforwards-expiration-dates-details" xlink:href="dsgx-20200131.xsd#statement-note-18-income-taxes-income-tax-loss-carryforwards-expiration-dates-details" xlink:type="simple"/>
  <link:presentationLink xlink:role="http://www.descartes.com/20200131/role/statement-note-18-income-taxes-income-tax-loss-carryforwards-expiration-dates-details" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="dsgx-20200131.xsd#dsgx_AfterTaxYear2025Member" xlink:label="dsgx_AfterTaxYear2025Member" xlink:type="locator"/>
    <link:loc xlink:href="dsgx-20200131.xsd#dsgx_AsiaPacificIncomeTaxAuthorityMember" xlink:label="dsgx_AsiaPacificIncomeTaxAuthorityMember" xlink:type="locator"/>
    <link:loc xlink:href="dsgx-20200131.xsd#dsgx_EmeaIncomeTaxAuthorityMember" xlink:label="dsgx_EmeaIncomeTaxAuthorityMember" xlink:type="locator"/>
    <link:loc xlink:href="dsgx-20200131.xsd#dsgx_TaxYear2021Member" xlink:label="dsgx_TaxYear2021Member" xlink:type="locator"/>
    <link:loc xlink:href="dsgx-20200131.xsd#dsgx_TaxYear2022Member" xlink:label="dsgx_TaxYear2022Member" xlink:type="locator"/>
    <link:loc xlink:href="dsgx-20200131.xsd#dsgx_TaxYear2023Member" xlink:label="dsgx_TaxYear2023Member" xlink:type="locator"/>
    <link:loc xlink:href="dsgx-20200131.xsd#dsgx_TaxYear2024Member" xlink:label="dsgx_TaxYear2024Member" xlink:type="locator"/>
    <link:loc xlink:href="dsgx-20200131.xsd#dsgx_TaxYear2025Member" xlink:label="dsgx_TaxYear2025Member" xlink:type="locator"/>
    <link:loc xlink:href="dsgx-20200131.xsd#dsgx_statement-statement-note-18-income-taxes-income-tax-loss-carryforwards-expiration-dates-details" xlink:label="dsgx_statement-statement-note-18-income-taxes-income-tax-loss-carryforwards-expiration-dates-details" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_CanadaRevenueAgencyMember" xlink:label="us-gaap_CanadaRevenueAgencyMember" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_DomesticCountryMember" xlink:label="us-gaap_DomesticCountryMember" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ForeignCountryMember" xlink:label="us-gaap_ForeignCountryMember" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_IncomeTaxAuthorityAxis" xlink:label="us-gaap_IncomeTaxAuthorityAxis" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_IncomeTaxAuthorityDomain" xlink:label="us-gaap_IncomeTaxAuthorityDomain" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_IncomeTaxAuthorityNameAxis" xlink:label="us-gaap_IncomeTaxAuthorityNameAxis" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_IncomeTaxAuthorityNameDomain" xlink:label="us-gaap_IncomeTaxAuthorityNameDomain" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_InternalRevenueServiceIRSMember" xlink:label="us-gaap_InternalRevenueServiceIRSMember" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_OperatingLossCarryforwards" xlink:label="us-gaap_OperatingLossCarryforwards" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_TaxPeriodAxis" xlink:label="us-gaap_TaxPeriodAxis" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_TaxPeriodDomain" xlink:label="us-gaap_TaxPeriodDomain" xlink:type="locator"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dsgx_statement-statement-note-18-income-taxes-income-tax-loss-carryforwards-expiration-dates-details" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncomeTaxAuthorityNameAxis" xlink:to="us-gaap_IncomeTaxAuthorityNameDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncomeTaxAuthorityAxis" xlink:to="us-gaap_IncomeTaxAuthorityDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_TaxPeriodAxis" xlink:to="us-gaap_TaxPeriodDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_TaxPeriodAxis" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_TaxPeriodAxis" xlink:to="dsgx_TaxYear2021Member" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_IncomeTaxAuthorityAxis" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncomeTaxAuthorityAxis" xlink:to="us-gaap_ForeignCountryMember" xlink:type="arc"/>
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_IncomeTaxAuthorityNameAxis" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncomeTaxAuthorityNameAxis" xlink:to="us-gaap_CanadaRevenueAgencyMember" xlink:type="arc"/>
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncomeTaxAuthorityAxis" xlink:to="us-gaap_DomesticCountryMember" xlink:type="arc"/>
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncomeTaxAuthorityNameAxis" xlink:to="dsgx_EmeaIncomeTaxAuthorityMember" xlink:type="arc"/>
    <link:presentationArc order="3" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncomeTaxAuthorityNameAxis" xlink:to="dsgx_AsiaPacificIncomeTaxAuthorityMember" xlink:type="arc"/>
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_TaxPeriodAxis" xlink:to="dsgx_TaxYear2022Member" xlink:type="arc"/>
    <link:presentationArc order="4" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncomeTaxAuthorityNameAxis" xlink:to="us-gaap_InternalRevenueServiceIRSMember" xlink:type="arc"/>
    <link:presentationArc order="3" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_TaxPeriodAxis" xlink:to="dsgx_TaxYear2023Member" xlink:type="arc"/>
    <link:presentationArc order="4" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_TaxPeriodAxis" xlink:to="dsgx_TaxYear2024Member" xlink:type="arc"/>
    <link:presentationArc order="5" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_TaxPeriodAxis" xlink:to="dsgx_TaxYear2025Member" xlink:type="arc"/>
    <link:presentationArc order="6" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_TaxPeriodAxis" xlink:to="dsgx_AfterTaxYear2025Member" xlink:type="arc"/>
    <link:presentationArc order="3" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:presentationArc order="4" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_StatementLineItems" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_OperatingLossCarryforwards" xlink:type="arc"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.descartes.com/20200131/role/statement-note-19-contract-balances-performance-obligations-and-contract-costs-changes-in-deferred-revenue-and-contract-assets-details" xlink:href="dsgx-20200131.xsd#statement-note-19-contract-balances-performance-obligations-and-contract-costs-changes-in-deferred-revenue-and-contract-assets-details" xlink:type="simple"/>
  <link:presentationLink xlink:role="http://www.descartes.com/20200131/role/statement-note-19-contract-balances-performance-obligations-and-contract-costs-changes-in-deferred-revenue-and-contract-assets-details" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="dsgx-20200131.xsd#dsgx_ContractWithCustomerAssetAdjustmentForAdoptionOfASC606" xlink:label="dsgx_ContractWithCustomerAssetAdjustmentForAdoptionOfASC606" xlink:type="locator"/>
    <link:loc xlink:href="dsgx-20200131.xsd#dsgx_ContractWithCustomerAssetIncreaseDecreaseForForeignExchange" xlink:label="dsgx_ContractWithCustomerAssetIncreaseDecreaseForForeignExchange-2" xlink:type="locator"/>
    <link:loc xlink:href="dsgx-20200131.xsd#dsgx_ContractWithCustomerAssetIncreaseDecreaseForTermLicensesNet" xlink:label="dsgx_ContractWithCustomerAssetIncreaseDecreaseForTermLicensesNet" xlink:type="locator"/>
    <link:loc xlink:href="dsgx-20200131.xsd#dsgx_ContractWithCustomerContractAssetBeforeAdoptionOfASC606" xlink:label="dsgx_ContractWithCustomerContractAssetBeforeAdoptionOfASC606-4" xlink:type="locator"/>
    <link:loc xlink:href="dsgx-20200131.xsd#dsgx_ContractWithCustomerLiabilityIncreaseDecreaseForForeignExchange" xlink:label="dsgx_ContractWithCustomerLiabilityIncreaseDecreaseForForeignExchange" xlink:type="locator"/>
    <link:loc xlink:href="dsgx-20200131.xsd#dsgx_ContractWithCustomerLiabilityIncreaseFromDeferralOfRevenue" xlink:label="dsgx_ContractWithCustomerLiabilityIncreaseFromDeferralOfRevenue" xlink:type="locator"/>
    <link:loc xlink:href="dsgx-20200131.xsd#dsgx_statement-statement-note-19-contract-balances-performance-obligations-and-contract-costs-changes-in-deferred-revenue-and-contract-assets-details" xlink:label="dsgx_statement-statement-note-19-contract-balances-performance-obligations-and-contract-costs-changes-in-deferred-revenue-and-contract-assets-details" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ContractWithCustomerAssetNet" xlink:label="us-gaap_ContractWithCustomerAssetNet-4" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ContractWithCustomerAssetNet" xlink:label="us-gaap_ContractWithCustomerAssetNet-5" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ContractWithCustomerAssetReclassifiedToReceivable" xlink:label="us-gaap_ContractWithCustomerAssetReclassifiedToReceivable-n8" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ContractWithCustomerLiability" xlink:label="us-gaap_ContractWithCustomerLiability-4" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ContractWithCustomerLiability" xlink:label="us-gaap_ContractWithCustomerLiability-5" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ContractWithCustomerLiabilityCurrent" xlink:label="us-gaap_ContractWithCustomerLiabilityCurrent-2" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ContractWithCustomerLiabilityIncreaseDecreaseForContractAcquiredInBusinessCombination" xlink:label="us-gaap_ContractWithCustomerLiabilityIncreaseDecreaseForContractAcquiredInBusinessCombination" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ContractWithCustomerLiabilityNoncurrent" xlink:label="us-gaap_ContractWithCustomerLiabilityNoncurrent" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ContractWithCustomerLiabilityRevenueRecognized" xlink:label="us-gaap_ContractWithCustomerLiabilityRevenueRecognized" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dsgx_statement-statement-note-19-contract-balances-performance-obligations-and-contract-costs-changes-in-deferred-revenue-and-contract-assets-details" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_StatementLineItems" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/periodStartLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_ContractWithCustomerLiability-4" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_ContractWithCustomerLiabilityRevenueRecognized" xlink:type="arc"/>
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="dsgx_ContractWithCustomerLiabilityIncreaseFromDeferralOfRevenue" xlink:type="arc"/>
    <link:presentationArc order="3" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_ContractWithCustomerLiabilityIncreaseDecreaseForContractAcquiredInBusinessCombination" xlink:type="arc"/>
    <link:presentationArc order="4" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="dsgx_ContractWithCustomerLiabilityIncreaseDecreaseForForeignExchange" xlink:type="arc"/>
    <link:presentationArc order="5" preferredLabel="http://www.xbrl.org/2003/role/periodEndLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_ContractWithCustomerLiability-5" xlink:type="arc"/>
    <link:presentationArc order="6" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_ContractWithCustomerLiabilityCurrent-2" xlink:type="arc"/>
    <link:presentationArc order="7" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_ContractWithCustomerLiabilityNoncurrent" xlink:type="arc"/>
    <link:presentationArc order="8" preferredLabel="http://www.xbrl.org/2003/role/periodStartLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="dsgx_ContractWithCustomerContractAssetBeforeAdoptionOfASC606-4" xlink:type="arc"/>
    <link:presentationArc order="9" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="dsgx_ContractWithCustomerAssetAdjustmentForAdoptionOfASC606" xlink:type="arc"/>
    <link:presentationArc order="10" preferredLabel="http://www.xbrl.org/2003/role/periodStartLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_ContractWithCustomerAssetNet-4" xlink:type="arc"/>
    <link:presentationArc order="11" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_ContractWithCustomerAssetReclassifiedToReceivable-n8" xlink:type="arc"/>
    <link:presentationArc order="12" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="dsgx_ContractWithCustomerAssetIncreaseDecreaseForTermLicensesNet" xlink:type="arc"/>
    <link:presentationArc order="13" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="dsgx_ContractWithCustomerAssetIncreaseDecreaseForForeignExchange-2" xlink:type="arc"/>
    <link:presentationArc order="14" preferredLabel="http://www.xbrl.org/2003/role/periodEndLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_ContractWithCustomerAssetNet-5" xlink:type="arc"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.descartes.com/20200131/role/statement-consolidated-statements-of-cash-flows" xlink:href="dsgx-20200131.xsd#statement-consolidated-statements-of-cash-flows" xlink:type="simple"/>
  <link:presentationLink xlink:role="http://www.descartes.com/20200131/role/statement-consolidated-statements-of-cash-flows" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="dsgx-20200131.xsd#dsgx_DeferredTaxCharges" xlink:label="dsgx_DeferredTaxCharges" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract" xlink:label="us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_AmortizationOfIntangibleAssets" xlink:label="us-gaap_AmortizationOfIntangibleAssets" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_CashAndCashEquivalentsAtCarryingValue" xlink:label="us-gaap_CashAndCashEquivalentsAtCarryingValue-4" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_CashAndCashEquivalentsAtCarryingValue" xlink:label="us-gaap_CashAndCashEquivalentsAtCarryingValue-5" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_CashAndCashEquivalentsPeriodIncreaseDecrease" xlink:label="us-gaap_CashAndCashEquivalentsPeriodIncreaseDecrease-3" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_DeferredIncomeTaxExpenseBenefit" xlink:label="us-gaap_DeferredIncomeTaxExpenseBenefit-2" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_Depreciation" xlink:label="us-gaap_Depreciation" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_EffectOfExchangeRateOnCashAndCashEquivalents" xlink:label="us-gaap_EffectOfExchangeRateOnCashAndCashEquivalents" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_IncomeTaxesPaidNet" xlink:label="us-gaap_IncomeTaxesPaidNet" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_IncreaseDecreaseInOperatingCapital" xlink:label="us-gaap_IncreaseDecreaseInOperatingCapital-n8" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_InterestPaidNet" xlink:label="us-gaap_InterestPaidNet" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_NetCashProvidedByUsedInFinancingActivities" xlink:label="us-gaap_NetCashProvidedByUsedInFinancingActivities-3" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_NetCashProvidedByUsedInFinancingActivitiesContinuingOperationsAbstract" xlink:label="us-gaap_NetCashProvidedByUsedInFinancingActivitiesContinuingOperationsAbstract" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_NetCashProvidedByUsedInInvestingActivities" xlink:label="us-gaap_NetCashProvidedByUsedInInvestingActivities-3" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_NetCashProvidedByUsedInInvestingActivitiesContinuingOperationsAbstract" xlink:label="us-gaap_NetCashProvidedByUsedInInvestingActivitiesContinuingOperationsAbstract" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_NetCashProvidedByUsedInOperatingActivities" xlink:label="us-gaap_NetCashProvidedByUsedInOperatingActivities-3" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract" xlink:label="us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_NetIncomeLoss" xlink:label="us-gaap_NetIncomeLoss" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_OtherNoncashIncomeExpense" xlink:label="us-gaap_OtherNoncashIncomeExpense-n8" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_PaymentForContingentConsiderationLiabilityFinancingActivities" xlink:label="us-gaap_PaymentForContingentConsiderationLiabilityFinancingActivities-n8" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_PaymentsOfDebtIssuanceCosts" xlink:label="us-gaap_PaymentsOfDebtIssuanceCosts-n8" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_PaymentsToAcquireBusinessesNetOfCashAcquired" xlink:label="us-gaap_PaymentsToAcquireBusinessesNetOfCashAcquired-n8" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_PaymentsToAcquirePropertyPlantAndEquipment" xlink:label="us-gaap_PaymentsToAcquirePropertyPlantAndEquipment-n8" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ProceedsFromIssuanceOfCommonStock" xlink:label="us-gaap_ProceedsFromIssuanceOfCommonStock" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ProceedsFromLinesOfCredit" xlink:label="us-gaap_ProceedsFromLinesOfCredit" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_RepaymentsOfDebt" xlink:label="us-gaap_RepaymentsOfDebt-n8" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ShareBasedCompensation" xlink:label="us-gaap_ShareBasedCompensation" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_StatementOfCashFlowsAbstract" xlink:label="us-gaap_StatementOfCashFlowsAbstract" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_SupplementalCashFlowInformationAbstract" xlink:label="us-gaap_SupplementalCashFlowInformationAbstract" xlink:type="locator"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementOfCashFlowsAbstract" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_StatementLineItems" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract" xlink:to="us-gaap_NetIncomeLoss" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract" xlink:to="us-gaap_Depreciation" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract" xlink:to="us-gaap_AmortizationOfIntangibleAssets" xlink:type="arc"/>
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract" xlink:to="us-gaap_ShareBasedCompensation" xlink:type="arc"/>
    <link:presentationArc order="3" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract" xlink:to="us-gaap_OtherNoncashIncomeExpense-n8" xlink:type="arc"/>
    <link:presentationArc order="4" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract" xlink:to="us-gaap_DeferredIncomeTaxExpenseBenefit-2" xlink:type="arc"/>
    <link:presentationArc order="5" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract" xlink:to="dsgx_DeferredTaxCharges" xlink:type="arc"/>
    <link:presentationArc order="6" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract" xlink:to="us-gaap_IncreaseDecreaseInOperatingCapital-n8" xlink:type="arc"/>
    <link:presentationArc order="7" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract" xlink:to="us-gaap_NetCashProvidedByUsedInOperatingActivities-3" xlink:type="arc"/>
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_NetCashProvidedByUsedInInvestingActivitiesContinuingOperationsAbstract" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_NetCashProvidedByUsedInInvestingActivitiesContinuingOperationsAbstract" xlink:to="us-gaap_PaymentsToAcquirePropertyPlantAndEquipment-n8" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_NetCashProvidedByUsedInInvestingActivitiesContinuingOperationsAbstract" xlink:to="us-gaap_PaymentsToAcquireBusinessesNetOfCashAcquired-n8" xlink:type="arc"/>
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_NetCashProvidedByUsedInInvestingActivitiesContinuingOperationsAbstract" xlink:to="us-gaap_NetCashProvidedByUsedInInvestingActivities-3" xlink:type="arc"/>
    <link:presentationArc order="3" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_NetCashProvidedByUsedInFinancingActivitiesContinuingOperationsAbstract" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_NetCashProvidedByUsedInFinancingActivitiesContinuingOperationsAbstract" xlink:to="us-gaap_ProceedsFromLinesOfCredit" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_NetCashProvidedByUsedInFinancingActivitiesContinuingOperationsAbstract" xlink:to="us-gaap_RepaymentsOfDebt-n8" xlink:type="arc"/>
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_NetCashProvidedByUsedInFinancingActivitiesContinuingOperationsAbstract" xlink:to="us-gaap_PaymentsOfDebtIssuanceCosts-n8" xlink:type="arc"/>
    <link:presentationArc order="3" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_NetCashProvidedByUsedInFinancingActivitiesContinuingOperationsAbstract" xlink:to="us-gaap_ProceedsFromIssuanceOfCommonStock" xlink:type="arc"/>
    <link:presentationArc order="4" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_NetCashProvidedByUsedInFinancingActivitiesContinuingOperationsAbstract" xlink:to="us-gaap_PaymentForContingentConsiderationLiabilityFinancingActivities-n8" xlink:type="arc"/>
    <link:presentationArc order="5" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_NetCashProvidedByUsedInFinancingActivitiesContinuingOperationsAbstract" xlink:to="us-gaap_NetCashProvidedByUsedInFinancingActivities-3" xlink:type="arc"/>
    <link:presentationArc order="6" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_NetCashProvidedByUsedInFinancingActivitiesContinuingOperationsAbstract" xlink:to="us-gaap_EffectOfExchangeRateOnCashAndCashEquivalents" xlink:type="arc"/>
    <link:presentationArc order="7" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_NetCashProvidedByUsedInFinancingActivitiesContinuingOperationsAbstract" xlink:to="us-gaap_CashAndCashEquivalentsPeriodIncreaseDecrease-3" xlink:type="arc"/>
    <link:presentationArc order="8" preferredLabel="http://www.xbrl.org/2003/role/periodStartLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_NetCashProvidedByUsedInFinancingActivitiesContinuingOperationsAbstract" xlink:to="us-gaap_CashAndCashEquivalentsAtCarryingValue-4" xlink:type="arc"/>
    <link:presentationArc order="9" preferredLabel="http://www.xbrl.org/2003/role/periodEndLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_NetCashProvidedByUsedInFinancingActivitiesContinuingOperationsAbstract" xlink:to="us-gaap_CashAndCashEquivalentsAtCarryingValue-5" xlink:type="arc"/>
    <link:presentationArc order="4" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_SupplementalCashFlowInformationAbstract" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_SupplementalCashFlowInformationAbstract" xlink:to="us-gaap_InterestPaidNet" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_SupplementalCashFlowInformationAbstract" xlink:to="us-gaap_IncomeTaxesPaidNet" xlink:type="arc"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.descartes.com/20200131/role/statement-note-17-stockbased-compensation-plans-options-outstanding-and-options-exercisable-details" xlink:href="dsgx-20200131.xsd#statement-note-17-stockbased-compensation-plans-options-outstanding-and-options-exercisable-details" xlink:type="simple"/>
  <link:presentationLink xlink:role="http://www.descartes.com/20200131/role/statement-note-17-stockbased-compensation-plans-options-outstanding-and-options-exercisable-details" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="dsgx-20200131.xsd#dsgx_Range1Member" xlink:label="dsgx_Range1Member" xlink:type="locator"/>
    <link:loc xlink:href="dsgx-20200131.xsd#dsgx_Range2Member" xlink:label="dsgx_Range2Member" xlink:type="locator"/>
    <link:loc xlink:href="dsgx-20200131.xsd#dsgx_Range3Member" xlink:label="dsgx_Range3Member" xlink:type="locator"/>
    <link:loc xlink:href="dsgx-20200131.xsd#dsgx_Range4Member" xlink:label="dsgx_Range4Member" xlink:type="locator"/>
    <link:loc xlink:href="dsgx-20200131.xsd#dsgx_statement-statement-note-17-stockbased-compensation-plans-options-outstanding-and-options-exercisable-details" xlink:label="dsgx_statement-statement-note-17-stockbased-compensation-plans-options-outstanding-and-options-exercisable-details" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeAxis" xlink:label="us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeAxis" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeDomain" xlink:label="us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeDomain" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeLowerRangeLimit" xlink:label="us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeLowerRangeLimit" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeNumberOfExercisableOptions" xlink:label="us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeNumberOfExercisableOptions" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeNumberOfOutstandingOptions" xlink:label="us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeNumberOfOutstandingOptions" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeUpperRangeLimit" xlink:label="us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeUpperRangeLimit" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeExercisableOptionsWeightedAverageExercisePrice1" xlink:label="us-gaap_SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeExercisableOptionsWeightedAverageExercisePrice1" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingOptionsWeightedAverageExercisePriceBeginningBalance1" xlink:label="us-gaap_SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingOptionsWeightedAverageExercisePriceBeginningBalance1" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingOptionsWeightedAverageRemainingContractualTerm2" xlink:label="us-gaap_SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingOptionsWeightedAverageRemainingContractualTerm2" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dsgx_statement-statement-note-17-stockbased-compensation-plans-options-outstanding-and-options-exercisable-details" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeAxis" xlink:to="us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeAxis" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeAxis" xlink:to="dsgx_Range1Member" xlink:type="arc"/>
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeAxis" xlink:to="dsgx_Range2Member" xlink:type="arc"/>
    <link:presentationArc order="3" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeAxis" xlink:to="dsgx_Range3Member" xlink:type="arc"/>
    <link:presentationArc order="4" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeAxis" xlink:to="dsgx_Range4Member" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_StatementLineItems" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeLowerRangeLimit" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeUpperRangeLimit" xlink:type="arc"/>
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingOptionsWeightedAverageExercisePriceBeginningBalance1" xlink:type="arc"/>
    <link:presentationArc order="3" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeNumberOfOutstandingOptions" xlink:type="arc"/>
    <link:presentationArc order="4" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingOptionsWeightedAverageRemainingContractualTerm2" xlink:type="arc"/>
    <link:presentationArc order="5" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeExercisableOptionsWeightedAverageExercisePrice1" xlink:type="arc"/>
    <link:presentationArc order="6" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeNumberOfExercisableOptions" xlink:type="arc"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.descartes.com/20200131/role/statement-note-3-acquisitions-preliminary-purchase-price-allocation-for-businesses-acquired-details" xlink:href="dsgx-20200131.xsd#statement-note-3-acquisitions-preliminary-purchase-price-allocation-for-businesses-acquired-details" xlink:type="simple"/>
  <link:presentationLink xlink:role="http://www.descartes.com/20200131/role/statement-note-3-acquisitions-preliminary-purchase-price-allocation-for-businesses-acquired-details" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="dsgx-20200131.xsd#dsgx_AljexSoftwareIncMember" xlink:label="dsgx_AljexSoftwareIncMember" xlink:type="locator"/>
    <link:loc xlink:href="dsgx-20200131.xsd#dsgx_BesttransportMember" xlink:label="dsgx_BesttransportMember" xlink:type="locator"/>
    <link:loc xlink:href="dsgx-20200131.xsd#dsgx_BusinessAcquisitionCostOfAcquiredEntityWorkingCapitalAdjustments" xlink:label="dsgx_BusinessAcquisitionCostOfAcquiredEntityWorkingCapitalAdjustments" xlink:type="locator"/>
    <link:loc xlink:href="dsgx-20200131.xsd#dsgx_BusinessCombinationRecognizedIdentifiableAssetAcquiredAndLiabilityAssumedOperatingLeaseObligation" xlink:label="dsgx_BusinessCombinationRecognizedIdentifiableAssetAcquiredAndLiabilityAssumedOperatingLeaseObligation-n1" xlink:type="locator"/>
    <link:loc xlink:href="dsgx-20200131.xsd#dsgx_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedRightofuseAssets" xlink:label="dsgx_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedRightofuseAssets-2" xlink:type="locator"/>
    <link:loc xlink:href="dsgx-20200131.xsd#dsgx_BusinessCombinationRecognizedIdentifiableTangibleAssetsAcquiredAndLiabilitiesAssumedNet" xlink:label="dsgx_BusinessCombinationRecognizedIdentifiableTangibleAssetsAcquiredAndLiabilitiesAssumedNet-n8" xlink:type="locator"/>
    <link:loc xlink:href="dsgx-20200131.xsd#dsgx_CoreTransportTechnologiesNzLimitedMember" xlink:label="dsgx_CoreTransportTechnologiesNzLimitedMember" xlink:type="locator"/>
    <link:loc xlink:href="dsgx-20200131.xsd#dsgx_ExistingTechnologyMember" xlink:label="dsgx_ExistingTechnologyMember" xlink:type="locator"/>
    <link:loc xlink:href="dsgx-20200131.xsd#dsgx_MacroPointLLCMember" xlink:label="dsgx_MacroPointLLCMember" xlink:type="locator"/>
    <link:loc xlink:href="dsgx-20200131.xsd#dsgx_PCSTracIncMember" xlink:label="dsgx_PCSTracIncMember" xlink:type="locator"/>
    <link:loc xlink:href="dsgx-20200131.xsd#dsgx_PinPointMember" xlink:label="dsgx_PinPointMember" xlink:type="locator"/>
    <link:loc xlink:href="dsgx-20200131.xsd#dsgx_ShipRushMember" xlink:label="dsgx_ShipRushMember" xlink:type="locator"/>
    <link:loc xlink:href="dsgx-20200131.xsd#dsgx_StepcomMember" xlink:label="dsgx_StepcomMember" xlink:type="locator"/>
    <link:loc xlink:href="dsgx-20200131.xsd#dsgx_The2018AcquisitionsMember" xlink:label="dsgx_The2018AcquisitionsMember" xlink:type="locator"/>
    <link:loc xlink:href="dsgx-20200131.xsd#dsgx_The2019AcquisitionsMember" xlink:label="dsgx_The2019AcquisitionsMember" xlink:type="locator"/>
    <link:loc xlink:href="dsgx-20200131.xsd#dsgx_The2020AcquisitionsMember" xlink:label="dsgx_The2020AcquisitionsMember" xlink:type="locator"/>
    <link:loc xlink:href="dsgx-20200131.xsd#dsgx_VelocityMailMember" xlink:label="dsgx_VelocityMailMember" xlink:type="locator"/>
    <link:loc xlink:href="dsgx-20200131.xsd#dsgx_VisualComplianceMember" xlink:label="dsgx_VisualComplianceMember" xlink:type="locator"/>
    <link:loc xlink:href="dsgx-20200131.xsd#dsgx_statement-statement-note-3-acquisitions-preliminary-purchase-price-allocation-for-businesses-acquired-details" xlink:label="dsgx_statement-statement-note-3-acquisitions-preliminary-purchase-price-allocation-for-businesses-acquired-details" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_BusinessAcquisitionAcquireeDomain" xlink:label="us-gaap_BusinessAcquisitionAcquireeDomain" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_BusinessAcquisitionAxis" xlink:label="us-gaap_BusinessAcquisitionAxis" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_BusinessCombinationConsiderationTransferred1" xlink:label="us-gaap_BusinessCombinationConsiderationTransferred1" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_BusinessCombinationConsiderationTransferredEquityInterestsIssuedAndIssuable" xlink:label="us-gaap_BusinessCombinationConsiderationTransferredEquityInterestsIssuedAndIssuable" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_BusinessCombinationConsiderationTransferredLiabilitiesIncurred" xlink:label="us-gaap_BusinessCombinationConsiderationTransferredLiabilitiesIncurred" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssets" xlink:label="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssets" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilities" xlink:label="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilities-n8" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesDeferredRevenue" xlink:label="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesDeferredRevenue-n8" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedDeferredTaxAssets" xlink:label="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedDeferredTaxAssets" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedDeferredTaxLiabilities" xlink:label="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedDeferredTaxLiabilities-n8" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles" xlink:label="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOtherNoncurrentAssets" xlink:label="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOtherNoncurrentAssets" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedPropertyPlantAndEquipment" xlink:label="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedPropertyPlantAndEquipment" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_CustomerRelationshipsMember" xlink:label="us-gaap_CustomerRelationshipsMember" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis" xlink:label="us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain" xlink:label="us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_Goodwill" xlink:label="us-gaap_Goodwill-2" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_InProcessResearchAndDevelopmentMember" xlink:label="us-gaap_InProcessResearchAndDevelopmentMember" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_NoncompeteAgreementsMember" xlink:label="us-gaap_NoncompeteAgreementsMember" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_PaymentsToAcquireBusinessesNetOfCashAcquired" xlink:label="us-gaap_PaymentsToAcquireBusinessesNetOfCashAcquired" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_PaymentsToAcquireBusinessesNetOfCashAcquired" xlink:label="us-gaap_PaymentsToAcquireBusinessesNetOfCashAcquired-1" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_TradeNamesMember" xlink:label="us-gaap_TradeNamesMember" xlink:type="locator"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dsgx_statement-statement-note-3-acquisitions-preliminary-purchase-price-allocation-for-businesses-acquired-details" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_BusinessAcquisitionAxis" xlink:to="us-gaap_BusinessAcquisitionAcquireeDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis" xlink:to="us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_BusinessAcquisitionAxis" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_BusinessAcquisitionAxis" xlink:to="dsgx_VisualComplianceMember" xlink:type="arc"/>
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_BusinessAcquisitionAxis" xlink:to="dsgx_CoreTransportTechnologiesNzLimitedMember" xlink:type="arc"/>
    <link:presentationArc order="3" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_BusinessAcquisitionAxis" xlink:to="dsgx_StepcomMember" xlink:type="arc"/>
    <link:presentationArc order="4" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_BusinessAcquisitionAxis" xlink:to="dsgx_BesttransportMember" xlink:type="arc"/>
    <link:presentationArc order="5" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_BusinessAcquisitionAxis" xlink:to="dsgx_The2020AcquisitionsMember" xlink:type="arc"/>
    <link:presentationArc order="6" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_BusinessAcquisitionAxis" xlink:to="dsgx_AljexSoftwareIncMember" xlink:type="arc"/>
    <link:presentationArc order="7" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_BusinessAcquisitionAxis" xlink:to="dsgx_VelocityMailMember" xlink:type="arc"/>
    <link:presentationArc order="8" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_BusinessAcquisitionAxis" xlink:to="dsgx_PinPointMember" xlink:type="arc"/>
    <link:presentationArc order="9" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_BusinessAcquisitionAxis" xlink:to="dsgx_The2019AcquisitionsMember" xlink:type="arc"/>
    <link:presentationArc order="10" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_BusinessAcquisitionAxis" xlink:to="dsgx_ShipRushMember" xlink:type="arc"/>
    <link:presentationArc order="11" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_BusinessAcquisitionAxis" xlink:to="dsgx_PCSTracIncMember" xlink:type="arc"/>
    <link:presentationArc order="12" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_BusinessAcquisitionAxis" xlink:to="dsgx_MacroPointLLCMember" xlink:type="arc"/>
    <link:presentationArc order="13" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_BusinessAcquisitionAxis" xlink:to="dsgx_The2018AcquisitionsMember" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis" xlink:to="us-gaap_CustomerRelationshipsMember" xlink:type="arc"/>
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis" xlink:to="dsgx_ExistingTechnologyMember" xlink:type="arc"/>
    <link:presentationArc order="3" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis" xlink:to="us-gaap_InProcessResearchAndDevelopmentMember" xlink:type="arc"/>
    <link:presentationArc order="4" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis" xlink:to="us-gaap_TradeNamesMember" xlink:type="arc"/>
    <link:presentationArc order="5" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis" xlink:to="us-gaap_NoncompeteAgreementsMember" xlink:type="arc"/>
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:presentationArc order="3" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_StatementLineItems" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_PaymentsToAcquireBusinessesNetOfCashAcquired-1" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_BusinessCombinationConsiderationTransferredEquityInterestsIssuedAndIssuable" xlink:type="arc"/>
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_BusinessCombinationConsiderationTransferredLiabilitiesIncurred" xlink:type="arc"/>
    <link:presentationArc order="3" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="dsgx_BusinessAcquisitionCostOfAcquiredEntityWorkingCapitalAdjustments" xlink:type="arc"/>
    <link:presentationArc order="4" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_BusinessCombinationConsiderationTransferred1" xlink:type="arc"/>
    <link:presentationArc order="5" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssets" xlink:type="arc"/>
    <link:presentationArc order="6" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedPropertyPlantAndEquipment" xlink:type="arc"/>
    <link:presentationArc order="7" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedDeferredTaxAssets" xlink:type="arc"/>
    <link:presentationArc order="8" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="dsgx_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedRightofuseAssets-2" xlink:type="arc"/>
    <link:presentationArc order="9" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilities-n8" xlink:type="arc"/>
    <link:presentationArc order="10" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesDeferredRevenue-n8" xlink:type="arc"/>
    <link:presentationArc order="11" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="dsgx_BusinessCombinationRecognizedIdentifiableAssetAcquiredAndLiabilityAssumedOperatingLeaseObligation-n1" xlink:type="arc"/>
    <link:presentationArc order="12" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedDeferredTaxLiabilities-n8" xlink:type="arc"/>
    <link:presentationArc order="13" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="dsgx_BusinessCombinationRecognizedIdentifiableTangibleAssetsAcquiredAndLiabilitiesAssumedNet-n8" xlink:type="arc"/>
    <link:presentationArc order="14" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles" xlink:type="arc"/>
    <link:presentationArc order="15" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_Goodwill-2" xlink:type="arc"/>
    <link:presentationArc order="16" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_PaymentsToAcquireBusinessesNetOfCashAcquired" xlink:type="arc"/>
    <link:presentationArc order="17" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOtherNoncurrentAssets" xlink:type="arc"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.descartes.com/20200131/role/statement-note-3-acquisitions-pro-forma-results-of-operations-details" xlink:href="dsgx-20200131.xsd#statement-note-3-acquisitions-pro-forma-results-of-operations-details" xlink:type="simple"/>
  <link:presentationLink xlink:role="http://www.descartes.com/20200131/role/statement-note-3-acquisitions-pro-forma-results-of-operations-details" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="dsgx-20200131.xsd#dsgx_statement-statement-note-3-acquisitions-pro-forma-results-of-operations-details" xlink:label="dsgx_statement-statement-note-3-acquisitions-pro-forma-results-of-operations-details" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_BusinessAcquisitionProFormaEarningsPerShareBasic" xlink:label="us-gaap_BusinessAcquisitionProFormaEarningsPerShareBasic-1" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_BusinessAcquisitionProFormaEarningsPerShareDiluted" xlink:label="us-gaap_BusinessAcquisitionProFormaEarningsPerShareDiluted-1" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_BusinessAcquisitionsProFormaNetIncomeLoss" xlink:label="us-gaap_BusinessAcquisitionsProFormaNetIncomeLoss-1" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_BusinessAcquisitionsProFormaRevenue" xlink:label="us-gaap_BusinessAcquisitionsProFormaRevenue-1" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_EarningsPerShareAbstract" xlink:label="us-gaap_EarningsPerShareAbstract" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dsgx_statement-statement-note-3-acquisitions-pro-forma-results-of-operations-details" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_StatementLineItems" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_BusinessAcquisitionsProFormaRevenue-1" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_BusinessAcquisitionsProFormaNetIncomeLoss-1" xlink:type="arc"/>
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_EarningsPerShareAbstract" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_EarningsPerShareAbstract" xlink:to="us-gaap_BusinessAcquisitionProFormaEarningsPerShareBasic-1" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_EarningsPerShareAbstract" xlink:to="us-gaap_BusinessAcquisitionProFormaEarningsPerShareDiluted-1" xlink:type="arc"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.descartes.com/20200131/role/statement-note-4-fair-value-measurements-derivative-instruments-at-fair-value-details" xlink:href="dsgx-20200131.xsd#statement-note-4-fair-value-measurements-derivative-instruments-at-fair-value-details" xlink:type="simple"/>
  <link:presentationLink xlink:role="http://www.descartes.com/20200131/role/statement-note-4-fair-value-measurements-derivative-instruments-at-fair-value-details" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="dsgx-20200131.xsd#dsgx_statement-statement-note-4-fair-value-measurements-derivative-instruments-at-fair-value-details" xlink:label="dsgx_statement-statement-note-4-fair-value-measurements-derivative-instruments-at-fair-value-details" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_DerivativeAssets" xlink:label="us-gaap_DerivativeAssets" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_DesignatedAsHedgingInstrumentMember" xlink:label="us-gaap_DesignatedAsHedgingInstrumentMember" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_HedgingDesignationAxis" xlink:label="us-gaap_HedgingDesignationAxis" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_HedgingDesignationDomain" xlink:label="us-gaap_HedgingDesignationDomain" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_NondesignatedMember" xlink:label="us-gaap_NondesignatedMember" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dsgx_statement-statement-note-4-fair-value-measurements-derivative-instruments-at-fair-value-details" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_HedgingDesignationAxis" xlink:to="us-gaap_HedgingDesignationDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_HedgingDesignationAxis" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_HedgingDesignationAxis" xlink:to="us-gaap_DesignatedAsHedgingInstrumentMember" xlink:type="arc"/>
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_HedgingDesignationAxis" xlink:to="us-gaap_NondesignatedMember" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_StatementLineItems" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_DerivativeAssets" xlink:type="arc"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.descartes.com/20200131/role/statement-note-5-trade-receivables-trade-receivables-details" xlink:href="dsgx-20200131.xsd#statement-note-5-trade-receivables-trade-receivables-details" xlink:type="simple"/>
  <link:presentationLink xlink:role="http://www.descartes.com/20200131/role/statement-note-5-trade-receivables-trade-receivables-details" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="dsgx-20200131.xsd#dsgx_statement-statement-note-5-trade-receivables-trade-receivables-details" xlink:label="dsgx_statement-statement-note-5-trade-receivables-trade-receivables-details" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_AccountsReceivableGrossCurrent" xlink:label="us-gaap_AccountsReceivableGrossCurrent" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_AccountsReceivableNetCurrent" xlink:label="us-gaap_AccountsReceivableNetCurrent-3" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent" xlink:label="us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent-n8" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dsgx_statement-statement-note-5-trade-receivables-trade-receivables-details" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_StatementLineItems" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_AccountsReceivableGrossCurrent" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent-n8" xlink:type="arc"/>
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_AccountsReceivableNetCurrent-3" xlink:type="arc"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.descartes.com/20200131/role/statement-note-6-other-receivables-other-receivables-details" xlink:href="dsgx-20200131.xsd#statement-note-6-other-receivables-other-receivables-details" xlink:type="simple"/>
  <link:presentationLink xlink:role="http://www.descartes.com/20200131/role/statement-note-6-other-receivables-other-receivables-details" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="dsgx-20200131.xsd#dsgx_NetWorkingCapitalAdjustmentsReceivableFromAcquisitions" xlink:label="dsgx_NetWorkingCapitalAdjustmentsReceivableFromAcquisitions" xlink:type="locator"/>
    <link:loc xlink:href="dsgx-20200131.xsd#dsgx_statement-statement-note-6-other-receivables-other-receivables-details" xlink:label="dsgx_statement-statement-note-6-other-receivables-other-receivables-details" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_OtherAssetsCurrent" xlink:label="us-gaap_OtherAssetsCurrent" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_OtherReceivablesNetCurrent" xlink:label="us-gaap_OtherReceivablesNetCurrent-3" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dsgx_statement-statement-note-6-other-receivables-other-receivables-details" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_StatementLineItems" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="dsgx_NetWorkingCapitalAdjustmentsReceivableFromAcquisitions" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_OtherAssetsCurrent" xlink:type="arc"/>
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_OtherReceivablesNetCurrent-3" xlink:type="arc"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.descartes.com/20200131/role/statement-note-10-goodwill-goodwill-details" xlink:href="dsgx-20200131.xsd#statement-note-10-goodwill-goodwill-details" xlink:type="simple"/>
  <link:presentationLink xlink:role="http://www.descartes.com/20200131/role/statement-note-10-goodwill-goodwill-details" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="dsgx-20200131.xsd#dsgx_AljexSoftwareIncMember" xlink:label="dsgx_AljexSoftwareIncMember" xlink:type="locator"/>
    <link:loc xlink:href="dsgx-20200131.xsd#dsgx_BesttransportMember" xlink:label="dsgx_BesttransportMember" xlink:type="locator"/>
    <link:loc xlink:href="dsgx-20200131.xsd#dsgx_CoreTransportTechnologiesNzLimitedMember" xlink:label="dsgx_CoreTransportTechnologiesNzLimitedMember" xlink:type="locator"/>
    <link:loc xlink:href="dsgx-20200131.xsd#dsgx_PinPointMember" xlink:label="dsgx_PinPointMember" xlink:type="locator"/>
    <link:loc xlink:href="dsgx-20200131.xsd#dsgx_StepcomMember" xlink:label="dsgx_StepcomMember" xlink:type="locator"/>
    <link:loc xlink:href="dsgx-20200131.xsd#dsgx_VelocityMailMember" xlink:label="dsgx_VelocityMailMember" xlink:type="locator"/>
    <link:loc xlink:href="dsgx-20200131.xsd#dsgx_VisualComplianceMember" xlink:label="dsgx_VisualComplianceMember" xlink:type="locator"/>
    <link:loc xlink:href="dsgx-20200131.xsd#dsgx_statement-statement-note-10-goodwill-goodwill-details" xlink:label="dsgx_statement-statement-note-10-goodwill-goodwill-details" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_BusinessAcquisitionAcquireeDomain" xlink:label="us-gaap_BusinessAcquisitionAcquireeDomain" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_BusinessAcquisitionAxis" xlink:label="us-gaap_BusinessAcquisitionAxis" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_Goodwill" xlink:label="us-gaap_Goodwill-4" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_Goodwill" xlink:label="us-gaap_Goodwill-5" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_GoodwillAcquiredDuringPeriod" xlink:label="us-gaap_GoodwillAcquiredDuringPeriod-2" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_GoodwillTranslationAndPurchaseAccountingAdjustments" xlink:label="us-gaap_GoodwillTranslationAndPurchaseAccountingAdjustments-2" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dsgx_statement-statement-note-10-goodwill-goodwill-details" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_BusinessAcquisitionAxis" xlink:to="us-gaap_BusinessAcquisitionAcquireeDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_BusinessAcquisitionAxis" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_BusinessAcquisitionAxis" xlink:to="dsgx_AljexSoftwareIncMember" xlink:type="arc"/>
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_BusinessAcquisitionAxis" xlink:to="dsgx_VelocityMailMember" xlink:type="arc"/>
    <link:presentationArc order="3" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_BusinessAcquisitionAxis" xlink:to="dsgx_PinPointMember" xlink:type="arc"/>
    <link:presentationArc order="4" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_BusinessAcquisitionAxis" xlink:to="dsgx_VisualComplianceMember" xlink:type="arc"/>
    <link:presentationArc order="5" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_BusinessAcquisitionAxis" xlink:to="dsgx_CoreTransportTechnologiesNzLimitedMember" xlink:type="arc"/>
    <link:presentationArc order="6" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_BusinessAcquisitionAxis" xlink:to="dsgx_StepcomMember" xlink:type="arc"/>
    <link:presentationArc order="7" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_BusinessAcquisitionAxis" xlink:to="dsgx_BesttransportMember" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_StatementLineItems" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/periodStartLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_Goodwill-4" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_GoodwillAcquiredDuringPeriod-2" xlink:type="arc"/>
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_GoodwillTranslationAndPurchaseAccountingAdjustments-2" xlink:type="arc"/>
    <link:presentationArc order="3" preferredLabel="http://www.xbrl.org/2003/role/periodEndLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_Goodwill-5" xlink:type="arc"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.descartes.com/20200131/role/statement-note-11-accrued-liabilities-accrued-liabilities-details" xlink:href="dsgx-20200131.xsd#statement-note-11-accrued-liabilities-accrued-liabilities-details" xlink:type="simple"/>
  <link:presentationLink xlink:role="http://www.descartes.com/20200131/role/statement-note-11-accrued-liabilities-accrued-liabilities-details" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="dsgx-20200131.xsd#dsgx_statement-statement-note-11-accrued-liabilities-accrued-liabilities-details" xlink:label="dsgx_statement-statement-note-11-accrued-liabilities-accrued-liabilities-details" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_AccruedLiabilitiesCurrent" xlink:label="us-gaap_AccruedLiabilitiesCurrent-3" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_AccruedProfessionalFeesCurrent" xlink:label="us-gaap_AccruedProfessionalFeesCurrent" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_EmployeeRelatedLiabilitiesCurrent" xlink:label="us-gaap_EmployeeRelatedLiabilitiesCurrent" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_OtherAccruedLiabilitiesCurrent" xlink:label="us-gaap_OtherAccruedLiabilitiesCurrent" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dsgx_statement-statement-note-11-accrued-liabilities-accrued-liabilities-details" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_StatementLineItems" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_EmployeeRelatedLiabilitiesCurrent" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_AccruedProfessionalFeesCurrent" xlink:type="arc"/>
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_OtherAccruedLiabilitiesCurrent" xlink:type="arc"/>
    <link:presentationArc order="3" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_AccruedLiabilitiesCurrent-3" xlink:type="arc"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.descartes.com/20200131/role/statement-note-12-debt-schedule-of-longterm-debt-details" xlink:href="dsgx-20200131.xsd#statement-note-12-debt-schedule-of-longterm-debt-details" xlink:type="simple"/>
  <link:presentationLink xlink:role="http://www.descartes.com/20200131/role/statement-note-12-debt-schedule-of-longterm-debt-details" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="dsgx-20200131.xsd#dsgx_RevolvingOperatingCreditFacilityMember" xlink:label="dsgx_RevolvingOperatingCreditFacilityMember" xlink:type="locator"/>
    <link:loc xlink:href="dsgx-20200131.xsd#dsgx_SeniorSecuredCreditFacilityMember" xlink:label="dsgx_SeniorSecuredCreditFacilityMember" xlink:type="locator"/>
    <link:loc xlink:href="dsgx-20200131.xsd#dsgx_statement-statement-note-12-debt-schedule-of-longterm-debt-details" xlink:label="dsgx_statement-statement-note-12-debt-schedule-of-longterm-debt-details" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_CreditFacilityAxis" xlink:label="us-gaap_CreditFacilityAxis" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_CreditFacilityDomain" xlink:label="us-gaap_CreditFacilityDomain" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_DebtInstrumentAxis" xlink:label="us-gaap_DebtInstrumentAxis" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_DebtInstrumentNameDomain" xlink:label="us-gaap_DebtInstrumentNameDomain" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_LineOfCredit" xlink:label="us-gaap_LineOfCredit-2" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_LineOfCreditFacilityRemainingBorrowingCapacity" xlink:label="us-gaap_LineOfCreditFacilityRemainingBorrowingCapacity" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dsgx_statement-statement-note-12-debt-schedule-of-longterm-debt-details" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DebtInstrumentAxis" xlink:to="us-gaap_DebtInstrumentNameDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_CreditFacilityAxis" xlink:to="us-gaap_CreditFacilityDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_DebtInstrumentAxis" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DebtInstrumentAxis" xlink:to="dsgx_SeniorSecuredCreditFacilityMember" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_CreditFacilityAxis" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_CreditFacilityAxis" xlink:to="dsgx_RevolvingOperatingCreditFacilityMember" xlink:type="arc"/>
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:presentationArc order="3" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_StatementLineItems" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_LineOfCredit-2" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_LineOfCreditFacilityRemainingBorrowingCapacity" xlink:type="arc"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.descartes.com/20200131/role/statement-note-15-share-capital-common-shares-outstanding-details" xlink:href="dsgx-20200131.xsd#statement-note-15-share-capital-common-shares-outstanding-details" xlink:type="simple"/>
  <link:presentationLink xlink:role="http://www.descartes.com/20200131/role/statement-note-15-share-capital-common-shares-outstanding-details" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="dsgx-20200131.xsd#dsgx_StockIssuedDuringPeriodSharesOptionsAndShareUnitsExercised" xlink:label="dsgx_StockIssuedDuringPeriodSharesOptionsAndShareUnitsExercised" xlink:type="locator"/>
    <link:loc xlink:href="dsgx-20200131.xsd#dsgx_statement-statement-note-15-share-capital-common-shares-outstanding-details" xlink:label="dsgx_statement-statement-note-15-share-capital-common-shares-outstanding-details" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_BusinessAcquisitionEquityInterestsIssuedOrIssuableNumberOfSharesIssued" xlink:label="us-gaap_BusinessAcquisitionEquityInterestsIssuedOrIssuableNumberOfSharesIssued" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_CommonStockSharesOutstanding" xlink:label="us-gaap_CommonStockSharesOutstanding-4" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_CommonStockSharesOutstanding" xlink:label="us-gaap_CommonStockSharesOutstanding-5" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_StockIssuedDuringPeriodSharesNewIssues" xlink:label="us-gaap_StockIssuedDuringPeriodSharesNewIssues" xlink:type="locator"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dsgx_statement-statement-note-15-share-capital-common-shares-outstanding-details" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_StatementLineItems" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/periodStartLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_CommonStockSharesOutstanding-4" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="dsgx_StockIssuedDuringPeriodSharesOptionsAndShareUnitsExercised" xlink:type="arc"/>
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_StockIssuedDuringPeriodSharesNewIssues" xlink:type="arc"/>
    <link:presentationArc order="3" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_BusinessAcquisitionEquityInterestsIssuedOrIssuableNumberOfSharesIssued" xlink:type="arc"/>
    <link:presentationArc order="4" preferredLabel="http://www.xbrl.org/2003/role/periodEndLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_CommonStockSharesOutstanding-5" xlink:type="arc"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.descartes.com/20200131/role/statement-note-16-earnings-per-share-computation-of-basic-and-diluted-earnings-per-share-details" xlink:href="dsgx-20200131.xsd#statement-note-16-earnings-per-share-computation-of-basic-and-diluted-earnings-per-share-details" xlink:type="simple"/>
  <link:presentationLink xlink:role="http://www.descartes.com/20200131/role/statement-note-16-earnings-per-share-computation-of-basic-and-diluted-earnings-per-share-details" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="dsgx-20200131.xsd#dsgx_statement-statement-note-16-earnings-per-share-computation-of-basic-and-diluted-earnings-per-share-details" xlink:label="dsgx_statement-statement-note-16-earnings-per-share-computation-of-basic-and-diluted-earnings-per-share-details" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_AwardTypeAxis" xlink:label="us-gaap_AwardTypeAxis" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_EarningsPerShareAbstract" xlink:label="us-gaap_EarningsPerShareAbstract" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_EarningsPerShareBasic" xlink:label="us-gaap_EarningsPerShareBasic" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_EarningsPerShareDiluted" xlink:label="us-gaap_EarningsPerShareDiluted" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_EmployeeStockOptionMember" xlink:label="us-gaap_EmployeeStockOptionMember" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_IncrementalCommonSharesAttributableToShareBasedPaymentArrangements" xlink:label="us-gaap_IncrementalCommonSharesAttributableToShareBasedPaymentArrangements" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_NetIncomeLoss" xlink:label="us-gaap_NetIncomeLoss" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_RestrictedStockUnitsRSUMember" xlink:label="us-gaap_RestrictedStockUnitsRSUMember" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:label="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding" xlink:label="us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding-2" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_WeightedAverageNumberOfSharesOutstandingBasic" xlink:label="us-gaap_WeightedAverageNumberOfSharesOutstandingBasic-2" xlink:type="locator"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dsgx_statement-statement-note-16-earnings-per-share-computation-of-basic-and-diluted-earnings-per-share-details" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AwardTypeAxis" xlink:to="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_AwardTypeAxis" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AwardTypeAxis" xlink:to="us-gaap_EmployeeStockOptionMember" xlink:type="arc"/>
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AwardTypeAxis" xlink:to="us-gaap_RestrictedStockUnitsRSUMember" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_StatementLineItems" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_NetIncomeLoss" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_WeightedAverageNumberOfSharesOutstandingBasic-2" xlink:type="arc"/>
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_IncrementalCommonSharesAttributableToShareBasedPaymentArrangements" xlink:type="arc"/>
    <link:presentationArc order="3" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding-2" xlink:type="arc"/>
    <link:presentationArc order="4" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_EarningsPerShareAbstract" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_EarningsPerShareAbstract" xlink:to="us-gaap_EarningsPerShareBasic" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_EarningsPerShareAbstract" xlink:to="us-gaap_EarningsPerShareDiluted" xlink:type="arc"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.descartes.com/20200131/role/statement-note-17-stockbased-compensation-plans-total-estimated-stockbased-compensation-expense-details" xlink:href="dsgx-20200131.xsd#statement-note-17-stockbased-compensation-plans-total-estimated-stockbased-compensation-expense-details" xlink:type="simple"/>
  <link:presentationLink xlink:role="http://www.descartes.com/20200131/role/statement-note-17-stockbased-compensation-plans-total-estimated-stockbased-compensation-expense-details" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="dsgx-20200131.xsd#dsgx_statement-statement-note-17-stockbased-compensation-plans-total-estimated-stockbased-compensation-expense-details" xlink:label="dsgx_statement-statement-note-17-stockbased-compensation-plans-total-estimated-stockbased-compensation-expense-details" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_AllocatedShareBasedCompensationExpense" xlink:label="us-gaap_AllocatedShareBasedCompensationExpense" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_CostOfSalesMember" xlink:label="us-gaap_CostOfSalesMember" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_GeneralAndAdministrativeExpenseMember" xlink:label="us-gaap_GeneralAndAdministrativeExpenseMember" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_IncomeStatementLocationAxis" xlink:label="us-gaap_IncomeStatementLocationAxis" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_IncomeStatementLocationDomain" xlink:label="us-gaap_IncomeStatementLocationDomain" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ResearchAndDevelopmentExpenseMember" xlink:label="us-gaap_ResearchAndDevelopmentExpenseMember" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_SellingAndMarketingExpenseMember" xlink:label="us-gaap_SellingAndMarketingExpenseMember" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dsgx_statement-statement-note-17-stockbased-compensation-plans-total-estimated-stockbased-compensation-expense-details" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncomeStatementLocationAxis" xlink:to="us-gaap_IncomeStatementLocationDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_IncomeStatementLocationAxis" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncomeStatementLocationAxis" xlink:to="us-gaap_CostOfSalesMember" xlink:type="arc"/>
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncomeStatementLocationAxis" xlink:to="us-gaap_SellingAndMarketingExpenseMember" xlink:type="arc"/>
    <link:presentationArc order="3" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncomeStatementLocationAxis" xlink:to="us-gaap_ResearchAndDevelopmentExpenseMember" xlink:type="arc"/>
    <link:presentationArc order="4" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncomeStatementLocationAxis" xlink:to="us-gaap_GeneralAndAdministrativeExpenseMember" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_StatementLineItems" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_AllocatedShareBasedCompensationExpense" xlink:type="arc"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.descartes.com/20200131/role/statement-note-18-income-taxes-provision-recovery-for-income-taxes-from-the-expected-provision-at-the-statutory-rates-details" xlink:href="dsgx-20200131.xsd#statement-note-18-income-taxes-provision-recovery-for-income-taxes-from-the-expected-provision-at-the-statutory-rates-details" xlink:type="simple"/>
  <link:presentationLink xlink:role="http://www.descartes.com/20200131/role/statement-note-18-income-taxes-provision-recovery-for-income-taxes-from-the-expected-provision-at-the-statutory-rates-details" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="dsgx-20200131.xsd#dsgx_EffectiveIncomeTaxRateReconciliationIncreaseDecreaseInAccrualsForUncertainTaxPositions" xlink:label="dsgx_EffectiveIncomeTaxRateReconciliationIncreaseDecreaseInAccrualsForUncertainTaxPositions-2" xlink:type="locator"/>
    <link:loc xlink:href="dsgx-20200131.xsd#dsgx_IncomeTaxReconciliationDeferredTaxCharges" xlink:label="dsgx_IncomeTaxReconciliationDeferredTaxCharges-2" xlink:type="locator"/>
    <link:loc xlink:href="dsgx-20200131.xsd#dsgx_statement-statement-note-18-income-taxes-provision-recovery-for-income-taxes-from-the-expected-provision-at-the-statutory-rates-details" xlink:label="dsgx_statement-statement-note-18-income-taxes-provision-recovery-for-income-taxes-from-the-expected-provision-at-the-statutory-rates-details" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate" xlink:label="us-gaap_EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate-2" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesMinorityInterestAndIncomeLossFromEquityMethodInvestments" xlink:label="us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesMinorityInterestAndIncomeLossFromEquityMethodInvestments-2" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_IncomeTaxExpenseBenefit" xlink:label="us-gaap_IncomeTaxExpenseBenefit-2" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_IncomeTaxReconciliationChangeInDeferredTaxAssetsValuationAllowance" xlink:label="us-gaap_IncomeTaxReconciliationChangeInDeferredTaxAssetsValuationAllowance-2" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_IncomeTaxReconciliationChangeInEnactedTaxRate" xlink:label="us-gaap_IncomeTaxReconciliationChangeInEnactedTaxRate-2" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_IncomeTaxReconciliationForeignIncomeTaxRateDifferential" xlink:label="us-gaap_IncomeTaxReconciliationForeignIncomeTaxRateDifferential-2" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_IncomeTaxReconciliationIncomeTaxExpenseBenefitAtFederalStatutoryIncomeTaxRate" xlink:label="us-gaap_IncomeTaxReconciliationIncomeTaxExpenseBenefitAtFederalStatutoryIncomeTaxRate-2" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_IncomeTaxReconciliationNondeductibleExpenseAmortization" xlink:label="us-gaap_IncomeTaxReconciliationNondeductibleExpenseAmortization-2" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_IncomeTaxReconciliationNondeductibleExpenseShareBasedCompensationCost" xlink:label="us-gaap_IncomeTaxReconciliationNondeductibleExpenseShareBasedCompensationCost-2" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_IncomeTaxReconciliationOtherAdjustments" xlink:label="us-gaap_IncomeTaxReconciliationOtherAdjustments-2" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_IncomeTaxReconciliationPriorYearIncomeTaxes" xlink:label="us-gaap_IncomeTaxReconciliationPriorYearIncomeTaxes-2" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dsgx_statement-statement-note-18-income-taxes-provision-recovery-for-income-taxes-from-the-expected-provision-at-the-statutory-rates-details" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_StatementLineItems" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesMinorityInterestAndIncomeLossFromEquityMethodInvestments-2" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate-2" xlink:type="arc"/>
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_IncomeTaxReconciliationIncomeTaxExpenseBenefitAtFederalStatutoryIncomeTaxRate-2" xlink:type="arc"/>
    <link:presentationArc order="3" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_IncomeTaxReconciliationNondeductibleExpenseAmortization-2" xlink:type="arc"/>
    <link:presentationArc order="4" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_IncomeTaxReconciliationForeignIncomeTaxRateDifferential-2" xlink:type="arc"/>
    <link:presentationArc order="5" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_IncomeTaxReconciliationChangeInEnactedTaxRate-2" xlink:type="arc"/>
    <link:presentationArc order="6" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_IncomeTaxReconciliationPriorYearIncomeTaxes-2" xlink:type="arc"/>
    <link:presentationArc order="7" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="dsgx_EffectiveIncomeTaxRateReconciliationIncreaseDecreaseInAccrualsForUncertainTaxPositions-2" xlink:type="arc"/>
    <link:presentationArc order="8" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_IncomeTaxReconciliationChangeInDeferredTaxAssetsValuationAllowance-2" xlink:type="arc"/>
    <link:presentationArc order="9" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_IncomeTaxReconciliationNondeductibleExpenseShareBasedCompensationCost-2" xlink:type="arc"/>
    <link:presentationArc order="10" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="dsgx_IncomeTaxReconciliationDeferredTaxCharges-2" xlink:type="arc"/>
    <link:presentationArc order="11" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_IncomeTaxReconciliationOtherAdjustments-2" xlink:type="arc"/>
    <link:presentationArc order="12" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_IncomeTaxExpenseBenefit-2" xlink:type="arc"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.descartes.com/20200131/role/statement-note-18-income-taxes-reconciliation-of-the-total-estimated-liability-associated-with-uncertain-tax-provisions-details" xlink:href="dsgx-20200131.xsd#statement-note-18-income-taxes-reconciliation-of-the-total-estimated-liability-associated-with-uncertain-tax-provisions-details" xlink:type="simple"/>
  <link:presentationLink xlink:role="http://www.descartes.com/20200131/role/statement-note-18-income-taxes-reconciliation-of-the-total-estimated-liability-associated-with-uncertain-tax-provisions-details" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="dsgx-20200131.xsd#dsgx_statement-statement-note-18-income-taxes-reconciliation-of-the-total-estimated-liability-associated-with-uncertain-tax-provisions-details" xlink:label="dsgx_statement-statement-note-18-income-taxes-reconciliation-of-the-total-estimated-liability-associated-with-uncertain-tax-provisions-details" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_UnrecognizedTaxBenefits" xlink:label="us-gaap_UnrecognizedTaxBenefits-4" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_UnrecognizedTaxBenefits" xlink:label="us-gaap_UnrecognizedTaxBenefits-5" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_UnrecognizedTaxBenefitsIncreasesResultingFromCurrentPeriodTaxPositions" xlink:label="us-gaap_UnrecognizedTaxBenefitsIncreasesResultingFromCurrentPeriodTaxPositions" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_UnrecognizedTaxBenefitsReductionsResultingFromLapseOfApplicableStatuteOfLimitations" xlink:label="us-gaap_UnrecognizedTaxBenefitsReductionsResultingFromLapseOfApplicableStatuteOfLimitations-n8" xlink:type="locator"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dsgx_statement-statement-note-18-income-taxes-reconciliation-of-the-total-estimated-liability-associated-with-uncertain-tax-provisions-details" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_StatementLineItems" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/periodStartLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_UnrecognizedTaxBenefits-4" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_UnrecognizedTaxBenefitsIncreasesResultingFromCurrentPeriodTaxPositions" xlink:type="arc"/>
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_UnrecognizedTaxBenefitsReductionsResultingFromLapseOfApplicableStatuteOfLimitations-n8" xlink:type="arc"/>
    <link:presentationArc order="3" preferredLabel="http://www.xbrl.org/2003/role/periodEndLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_UnrecognizedTaxBenefits-5" xlink:type="arc"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.descartes.com/20200131/role/statement-note-20-other-charges-other-charges-included-in-consolidated-statements-of-operations-details" xlink:href="dsgx-20200131.xsd#statement-note-20-other-charges-other-charges-included-in-consolidated-statements-of-operations-details" xlink:type="simple"/>
  <link:presentationLink xlink:role="http://www.descartes.com/20200131/role/statement-note-20-other-charges-other-charges-included-in-consolidated-statements-of-operations-details" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="dsgx-20200131.xsd#dsgx_statement-statement-note-20-other-charges-other-charges-included-in-consolidated-statements-of-operations-details" xlink:label="dsgx_statement-statement-note-20-other-charges-other-charges-included-in-consolidated-statements-of-operations-details" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_BusinessCombinationAcquisitionRelatedCosts" xlink:label="us-gaap_BusinessCombinationAcquisitionRelatedCosts" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_OtherNonoperatingExpense" xlink:label="us-gaap_OtherNonoperatingExpense-2" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_RestructuringCharges" xlink:label="us-gaap_RestructuringCharges" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dsgx_statement-statement-note-20-other-charges-other-charges-included-in-consolidated-statements-of-operations-details" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_StatementLineItems" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_BusinessCombinationAcquisitionRelatedCosts" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_RestructuringCharges" xlink:type="arc"/>
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_OtherNonoperatingExpense-2" xlink:type="arc"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.descartes.com/20200131/role/statement-note-21-supplemental-cash-flow-information-cash-flow-changes-in-operating-asset-and-liabilities-details" xlink:href="dsgx-20200131.xsd#statement-note-21-supplemental-cash-flow-information-cash-flow-changes-in-operating-asset-and-liabilities-details" xlink:type="simple"/>
  <link:presentationLink xlink:role="http://www.descartes.com/20200131/role/statement-note-21-supplemental-cash-flow-information-cash-flow-changes-in-operating-asset-and-liabilities-details" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="dsgx-20200131.xsd#dsgx_IncreaseDecreaseInOperatingLeaseLiabilities" xlink:label="dsgx_IncreaseDecreaseInOperatingLeaseLiabilities-1" xlink:type="locator"/>
    <link:loc xlink:href="dsgx-20200131.xsd#dsgx_statement-statement-note-21-supplemental-cash-flow-information-cash-flow-changes-in-operating-asset-and-liabilities-details" xlink:label="dsgx_statement-statement-note-21-supplemental-cash-flow-information-cash-flow-changes-in-operating-asset-and-liabilities-details" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_IncreaseDecreaseInAccountsPayable" xlink:label="us-gaap_IncreaseDecreaseInAccountsPayable-1" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_IncreaseDecreaseInAccountsReceivable" xlink:label="us-gaap_IncreaseDecreaseInAccountsReceivable-n8" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_IncreaseDecreaseInAccruedLiabilities" xlink:label="us-gaap_IncreaseDecreaseInAccruedLiabilities" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_IncreaseDecreaseInDeferredRevenue" xlink:label="us-gaap_IncreaseDecreaseInDeferredRevenue" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_IncreaseDecreaseInIncomeTaxes" xlink:label="us-gaap_IncreaseDecreaseInIncomeTaxes-1" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_IncreaseDecreaseInInventories" xlink:label="us-gaap_IncreaseDecreaseInInventories-n8" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_IncreaseDecreaseInOperatingCapital" xlink:label="us-gaap_IncreaseDecreaseInOperatingCapital-n8" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_IncreaseDecreaseInOtherReceivables" xlink:label="us-gaap_IncreaseDecreaseInOtherReceivables-n8" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets" xlink:label="us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets-n9" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dsgx_statement-statement-note-21-supplemental-cash-flow-information-cash-flow-changes-in-operating-asset-and-liabilities-details" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_StatementLineItems" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_IncreaseDecreaseInAccountsReceivable-n8" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_IncreaseDecreaseInOtherReceivables-n8" xlink:type="arc"/>
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2009/role/negatedTerseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets-n9" xlink:type="arc"/>
    <link:presentationArc order="3" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_IncreaseDecreaseInInventories-n8" xlink:type="arc"/>
    <link:presentationArc order="4" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_IncreaseDecreaseInAccountsPayable-1" xlink:type="arc"/>
    <link:presentationArc order="5" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_IncreaseDecreaseInAccruedLiabilities" xlink:type="arc"/>
    <link:presentationArc order="6" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_IncreaseDecreaseInIncomeTaxes-1" xlink:type="arc"/>
    <link:presentationArc order="7" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="dsgx_IncreaseDecreaseInOperatingLeaseLiabilities-1" xlink:type="arc"/>
    <link:presentationArc order="8" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_IncreaseDecreaseInDeferredRevenue" xlink:type="arc"/>
    <link:presentationArc order="9" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_IncreaseDecreaseInOperatingCapital-n8" xlink:type="arc"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.descartes.com/20200131/role/statement-consolidated-balance-sheets" xlink:href="dsgx-20200131.xsd#statement-consolidated-balance-sheets" xlink:type="simple"/>
  <link:presentationLink xlink:role="http://www.descartes.com/20200131/role/statement-consolidated-balance-sheets" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_AccountsPayableCurrent" xlink:label="us-gaap_AccountsPayableCurrent" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_AccountsReceivableNetAbstract" xlink:label="us-gaap_AccountsReceivableNetAbstract" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_AccountsReceivableNetCurrent" xlink:label="us-gaap_AccountsReceivableNetCurrent" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_AccruedIncomeTaxesCurrent" xlink:label="us-gaap_AccruedIncomeTaxesCurrent" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_AccruedIncomeTaxesNoncurrent" xlink:label="us-gaap_AccruedIncomeTaxesNoncurrent-2" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_AccruedLiabilitiesCurrent" xlink:label="us-gaap_AccruedLiabilitiesCurrent" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax" xlink:label="us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_AdditionalPaidInCapitalCommonStock" xlink:label="us-gaap_AdditionalPaidInCapitalCommonStock" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_Assets" xlink:label="us-gaap_Assets-3" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_AssetsCurrent" xlink:label="us-gaap_AssetsCurrent-3" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_AssetsCurrentAbstract" xlink:label="us-gaap_AssetsCurrentAbstract" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_CashAndCashEquivalentsAtCarryingValue" xlink:label="us-gaap_CashAndCashEquivalentsAtCarryingValue" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_CommitmentsAndContingencies" xlink:label="us-gaap_CommitmentsAndContingencies" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_CommonStockValue" xlink:label="us-gaap_CommonStockValue" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ContractWithCustomerLiabilityCurrent" xlink:label="us-gaap_ContractWithCustomerLiabilityCurrent" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_DeferredIncomeTaxAssetsNet" xlink:label="us-gaap_DeferredIncomeTaxAssetsNet-1" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_DeferredIncomeTaxLiabilitiesNet" xlink:label="us-gaap_DeferredIncomeTaxLiabilitiesNet" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_DeferredRevenueNoncurrent" xlink:label="us-gaap_DeferredRevenueNoncurrent-2" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_Goodwill" xlink:label="us-gaap_Goodwill" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_IntangibleAssetsNetExcludingGoodwill" xlink:label="us-gaap_IntangibleAssetsNetExcludingGoodwill" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_InventoryNet" xlink:label="us-gaap_InventoryNet" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_Liabilities" xlink:label="us-gaap_Liabilities-3" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_LiabilitiesAndStockholdersEquity" xlink:label="us-gaap_LiabilitiesAndStockholdersEquity-3" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_LiabilitiesCurrent" xlink:label="us-gaap_LiabilitiesCurrent-3" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_LiabilitiesCurrentAbstract" xlink:label="us-gaap_LiabilitiesCurrentAbstract" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_LongTermDebtNoncurrent" xlink:label="us-gaap_LongTermDebtNoncurrent" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_OperatingLeaseLiabilityCurrent" xlink:label="us-gaap_OperatingLeaseLiabilityCurrent" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_OperatingLeaseLiabilityNoncurrent" xlink:label="us-gaap_OperatingLeaseLiabilityNoncurrent-2" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_OperatingLeaseRightOfUseAsset" xlink:label="us-gaap_OperatingLeaseRightOfUseAsset" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_OtherAssetsNoncurrent" xlink:label="us-gaap_OtherAssetsNoncurrent" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_OtherReceivablesNetCurrent" xlink:label="us-gaap_OtherReceivablesNetCurrent" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_PrepaidExpenseAndOtherAssetsCurrent" xlink:label="us-gaap_PrepaidExpenseAndOtherAssetsCurrent" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_PropertyPlantAndEquipmentNet" xlink:label="us-gaap_PropertyPlantAndEquipmentNet" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_RetainedEarningsAccumulatedDeficit" xlink:label="us-gaap_RetainedEarningsAccumulatedDeficit" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_StatementOfFinancialPositionAbstract" xlink:label="us-gaap_StatementOfFinancialPositionAbstract" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_StockholdersEquity" xlink:label="us-gaap_StockholdersEquity-3" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_StockholdersEquityAbstract" xlink:label="us-gaap_StockholdersEquityAbstract" xlink:type="locator"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementOfFinancialPositionAbstract" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_StatementLineItems" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_AssetsCurrentAbstract" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AssetsCurrentAbstract" xlink:to="us-gaap_CashAndCashEquivalentsAtCarryingValue" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_AccountsReceivableNetAbstract" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AccountsReceivableNetAbstract" xlink:to="us-gaap_AccountsReceivableNetCurrent" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AccountsReceivableNetAbstract" xlink:to="us-gaap_OtherReceivablesNetCurrent" xlink:type="arc"/>
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AccountsReceivableNetAbstract" xlink:to="us-gaap_PrepaidExpenseAndOtherAssetsCurrent" xlink:type="arc"/>
    <link:presentationArc order="3" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AccountsReceivableNetAbstract" xlink:to="us-gaap_InventoryNet" xlink:type="arc"/>
    <link:presentationArc order="4" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AccountsReceivableNetAbstract" xlink:to="us-gaap_AssetsCurrent-3" xlink:type="arc"/>
    <link:presentationArc order="5" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AccountsReceivableNetAbstract" xlink:to="us-gaap_OtherAssetsNoncurrent" xlink:type="arc"/>
    <link:presentationArc order="6" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AccountsReceivableNetAbstract" xlink:to="us-gaap_PropertyPlantAndEquipmentNet" xlink:type="arc"/>
    <link:presentationArc order="7" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AccountsReceivableNetAbstract" xlink:to="us-gaap_OperatingLeaseRightOfUseAsset" xlink:type="arc"/>
    <link:presentationArc order="8" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AccountsReceivableNetAbstract" xlink:to="us-gaap_DeferredIncomeTaxAssetsNet-1" xlink:type="arc"/>
    <link:presentationArc order="9" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AccountsReceivableNetAbstract" xlink:to="us-gaap_IntangibleAssetsNetExcludingGoodwill" xlink:type="arc"/>
    <link:presentationArc order="10" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AccountsReceivableNetAbstract" xlink:to="us-gaap_Goodwill" xlink:type="arc"/>
    <link:presentationArc order="11" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AccountsReceivableNetAbstract" xlink:to="us-gaap_Assets-3" xlink:type="arc"/>
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_LiabilitiesCurrentAbstract" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LiabilitiesCurrentAbstract" xlink:to="us-gaap_AccountsPayableCurrent" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LiabilitiesCurrentAbstract" xlink:to="us-gaap_AccruedLiabilitiesCurrent" xlink:type="arc"/>
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LiabilitiesCurrentAbstract" xlink:to="us-gaap_OperatingLeaseLiabilityCurrent" xlink:type="arc"/>
    <link:presentationArc order="3" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LiabilitiesCurrentAbstract" xlink:to="us-gaap_AccruedIncomeTaxesCurrent" xlink:type="arc"/>
    <link:presentationArc order="4" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LiabilitiesCurrentAbstract" xlink:to="us-gaap_ContractWithCustomerLiabilityCurrent" xlink:type="arc"/>
    <link:presentationArc order="5" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LiabilitiesCurrentAbstract" xlink:to="us-gaap_LiabilitiesCurrent-3" xlink:type="arc"/>
    <link:presentationArc order="6" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LiabilitiesCurrentAbstract" xlink:to="us-gaap_LongTermDebtNoncurrent" xlink:type="arc"/>
    <link:presentationArc order="7" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LiabilitiesCurrentAbstract" xlink:to="us-gaap_OperatingLeaseLiabilityNoncurrent-2" xlink:type="arc"/>
    <link:presentationArc order="8" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LiabilitiesCurrentAbstract" xlink:to="us-gaap_DeferredRevenueNoncurrent-2" xlink:type="arc"/>
    <link:presentationArc order="9" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LiabilitiesCurrentAbstract" xlink:to="us-gaap_AccruedIncomeTaxesNoncurrent-2" xlink:type="arc"/>
    <link:presentationArc order="10" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LiabilitiesCurrentAbstract" xlink:to="us-gaap_DeferredIncomeTaxLiabilitiesNet" xlink:type="arc"/>
    <link:presentationArc order="11" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LiabilitiesCurrentAbstract" xlink:to="us-gaap_Liabilities-3" xlink:type="arc"/>
    <link:presentationArc order="12" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LiabilitiesCurrentAbstract" xlink:to="us-gaap_CommitmentsAndContingencies" xlink:type="arc"/>
    <link:presentationArc order="3" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_StockholdersEquityAbstract" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StockholdersEquityAbstract" xlink:to="us-gaap_CommonStockValue" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StockholdersEquityAbstract" xlink:to="us-gaap_AdditionalPaidInCapitalCommonStock" xlink:type="arc"/>
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StockholdersEquityAbstract" xlink:to="us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax" xlink:type="arc"/>
    <link:presentationArc order="3" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StockholdersEquityAbstract" xlink:to="us-gaap_RetainedEarningsAccumulatedDeficit" xlink:type="arc"/>
    <link:presentationArc order="4" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StockholdersEquityAbstract" xlink:to="us-gaap_StockholdersEquity-3" xlink:type="arc"/>
    <link:presentationArc order="5" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StockholdersEquityAbstract" xlink:to="us-gaap_LiabilitiesAndStockholdersEquity-3" xlink:type="arc"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.descartes.com/20200131/role/statement-consolidated-statements-of-operations-" xlink:href="dsgx-20200131.xsd#statement-consolidated-statements-of-operations-" xlink:type="simple"/>
  <link:presentationLink xlink:role="http://www.descartes.com/20200131/role/statement-consolidated-statements-of-operations-" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_AmortizationOfIntangibleAssets" xlink:label="us-gaap_AmortizationOfIntangibleAssets" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_CostOfGoodsAndServicesSold" xlink:label="us-gaap_CostOfGoodsAndServicesSold" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_CostsAndExpensesAbstract" xlink:label="us-gaap_CostsAndExpensesAbstract" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_CurrentIncomeTaxExpenseBenefit" xlink:label="us-gaap_CurrentIncomeTaxExpenseBenefit-1" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_DeferredIncomeTaxExpenseBenefit" xlink:label="us-gaap_DeferredIncomeTaxExpenseBenefit" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_EarningsPerShareAbstract" xlink:label="us-gaap_EarningsPerShareAbstract" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_EarningsPerShareBasic" xlink:label="us-gaap_EarningsPerShareBasic" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_EarningsPerShareDiluted" xlink:label="us-gaap_EarningsPerShareDiluted" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_GeneralAndAdministrativeExpense" xlink:label="us-gaap_GeneralAndAdministrativeExpense" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_GrossProfit" xlink:label="us-gaap_GrossProfit-3" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesMinorityInterestAndIncomeLossFromEquityMethodInvestments" xlink:label="us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesMinorityInterestAndIncomeLossFromEquityMethodInvestments-3" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_IncomeStatementAbstract" xlink:label="us-gaap_IncomeStatementAbstract" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_IncomeTaxExpenseBenefit" xlink:label="us-gaap_IncomeTaxExpenseBenefit-3" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_IncomeTaxExpenseBenefitContinuingOperationsAbstract" xlink:label="us-gaap_IncomeTaxExpenseBenefitContinuingOperationsAbstract" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_InterestExpense" xlink:label="us-gaap_InterestExpense-n8" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_InvestmentIncomeNet" xlink:label="us-gaap_InvestmentIncomeNet" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_NetIncomeLoss" xlink:label="us-gaap_NetIncomeLoss-3" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_OperatingExpenses" xlink:label="us-gaap_OperatingExpenses-3" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_OperatingIncomeLoss" xlink:label="us-gaap_OperatingIncomeLoss" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_OtherNonoperatingExpense" xlink:label="us-gaap_OtherNonoperatingExpense" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ResearchAndDevelopmentExpense" xlink:label="us-gaap_ResearchAndDevelopmentExpense" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax" xlink:label="us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_SellingAndMarketingExpense" xlink:label="us-gaap_SellingAndMarketingExpense" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding" xlink:label="us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_WeightedAverageNumberOfSharesOutstandingAbstract" xlink:label="us-gaap_WeightedAverageNumberOfSharesOutstandingAbstract" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_WeightedAverageNumberOfSharesOutstandingBasic" xlink:label="us-gaap_WeightedAverageNumberOfSharesOutstandingBasic" xlink:type="locator"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncomeStatementAbstract" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_StatementLineItems" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_CostOfGoodsAndServicesSold" xlink:type="arc"/>
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_GrossProfit-3" xlink:type="arc"/>
    <link:presentationArc order="3" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_CostsAndExpensesAbstract" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_CostsAndExpensesAbstract" xlink:to="us-gaap_SellingAndMarketingExpense" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_CostsAndExpensesAbstract" xlink:to="us-gaap_ResearchAndDevelopmentExpense" xlink:type="arc"/>
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_CostsAndExpensesAbstract" xlink:to="us-gaap_GeneralAndAdministrativeExpense" xlink:type="arc"/>
    <link:presentationArc order="3" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_CostsAndExpensesAbstract" xlink:to="us-gaap_OtherNonoperatingExpense" xlink:type="arc"/>
    <link:presentationArc order="4" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_CostsAndExpensesAbstract" xlink:to="us-gaap_AmortizationOfIntangibleAssets" xlink:type="arc"/>
    <link:presentationArc order="5" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_CostsAndExpensesAbstract" xlink:to="us-gaap_OperatingExpenses-3" xlink:type="arc"/>
    <link:presentationArc order="6" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_CostsAndExpensesAbstract" xlink:to="us-gaap_OperatingIncomeLoss" xlink:type="arc"/>
    <link:presentationArc order="7" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_CostsAndExpensesAbstract" xlink:to="us-gaap_InterestExpense-n8" xlink:type="arc"/>
    <link:presentationArc order="8" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_CostsAndExpensesAbstract" xlink:to="us-gaap_InvestmentIncomeNet" xlink:type="arc"/>
    <link:presentationArc order="9" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_CostsAndExpensesAbstract" xlink:to="us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesMinorityInterestAndIncomeLossFromEquityMethodInvestments-3" xlink:type="arc"/>
    <link:presentationArc order="4" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_IncomeTaxExpenseBenefitContinuingOperationsAbstract" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncomeTaxExpenseBenefitContinuingOperationsAbstract" xlink:to="us-gaap_CurrentIncomeTaxExpenseBenefit-1" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncomeTaxExpenseBenefitContinuingOperationsAbstract" xlink:to="us-gaap_DeferredIncomeTaxExpenseBenefit" xlink:type="arc"/>
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncomeTaxExpenseBenefitContinuingOperationsAbstract" xlink:to="us-gaap_IncomeTaxExpenseBenefit-3" xlink:type="arc"/>
    <link:presentationArc order="3" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncomeTaxExpenseBenefitContinuingOperationsAbstract" xlink:to="us-gaap_NetIncomeLoss-3" xlink:type="arc"/>
    <link:presentationArc order="5" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_EarningsPerShareAbstract" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_EarningsPerShareAbstract" xlink:to="us-gaap_EarningsPerShareBasic" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_EarningsPerShareAbstract" xlink:to="us-gaap_EarningsPerShareDiluted" xlink:type="arc"/>
    <link:presentationArc order="6" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_WeightedAverageNumberOfSharesOutstandingAbstract" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_WeightedAverageNumberOfSharesOutstandingAbstract" xlink:to="us-gaap_WeightedAverageNumberOfSharesOutstandingBasic" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_WeightedAverageNumberOfSharesOutstandingAbstract" xlink:to="us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding" xlink:type="arc"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.descartes.com/20200131/role/statement-note-8-property-and-equipment-property-and-equipment-details" xlink:href="dsgx-20200131.xsd#statement-note-8-property-and-equipment-property-and-equipment-details" xlink:type="simple"/>
  <link:presentationLink xlink:role="http://www.descartes.com/20200131/role/statement-note-8-property-and-equipment-property-and-equipment-details" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="dsgx-20200131.xsd#dsgx_EquipmentInstalledWithCustomersMember" xlink:label="dsgx_EquipmentInstalledWithCustomersMember" xlink:type="locator"/>
    <link:loc xlink:href="dsgx-20200131.xsd#dsgx_statement-statement-note-8-property-and-equipment-property-and-equipment-details" xlink:label="dsgx_statement-statement-note-8-property-and-equipment-property-and-equipment-details" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment" xlink:label="us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_AssetUnderConstructionMember" xlink:label="us-gaap_AssetUnderConstructionMember" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ComputerEquipmentMember" xlink:label="us-gaap_ComputerEquipmentMember" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_FurnitureAndFixturesMember" xlink:label="us-gaap_FurnitureAndFixturesMember" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_LeaseholdImprovementsMember" xlink:label="us-gaap_LeaseholdImprovementsMember" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_PropertyPlantAndEquipmentByTypeAxis" xlink:label="us-gaap_PropertyPlantAndEquipmentByTypeAxis" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_PropertyPlantAndEquipmentGross" xlink:label="us-gaap_PropertyPlantAndEquipmentGross" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_PropertyPlantAndEquipmentNet" xlink:label="us-gaap_PropertyPlantAndEquipmentNet-3" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_PropertyPlantAndEquipmentTypeDomain" xlink:label="us-gaap_PropertyPlantAndEquipmentTypeDomain" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dsgx_statement-statement-note-8-property-and-equipment-property-and-equipment-details" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_PropertyPlantAndEquipmentByTypeAxis" xlink:to="us-gaap_PropertyPlantAndEquipmentTypeDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_PropertyPlantAndEquipmentByTypeAxis" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_PropertyPlantAndEquipmentByTypeAxis" xlink:to="us-gaap_ComputerEquipmentMember" xlink:type="arc"/>
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_PropertyPlantAndEquipmentByTypeAxis" xlink:to="us-gaap_FurnitureAndFixturesMember" xlink:type="arc"/>
    <link:presentationArc order="3" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_PropertyPlantAndEquipmentByTypeAxis" xlink:to="us-gaap_LeaseholdImprovementsMember" xlink:type="arc"/>
    <link:presentationArc order="4" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_PropertyPlantAndEquipmentByTypeAxis" xlink:to="dsgx_EquipmentInstalledWithCustomersMember" xlink:type="arc"/>
    <link:presentationArc order="5" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_PropertyPlantAndEquipmentByTypeAxis" xlink:to="us-gaap_AssetUnderConstructionMember" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_StatementLineItems" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_PropertyPlantAndEquipmentGross" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment" xlink:type="arc"/>
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_PropertyPlantAndEquipmentNet-3" xlink:type="arc"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.descartes.com/20200131/role/statement-note-9-intangible-assets-intangible-assets-details" xlink:href="dsgx-20200131.xsd#statement-note-9-intangible-assets-intangible-assets-details" xlink:type="simple"/>
  <link:presentationLink xlink:role="http://www.descartes.com/20200131/role/statement-note-9-intangible-assets-intangible-assets-details" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="dsgx-20200131.xsd#dsgx_statement-statement-note-9-intangible-assets-intangible-assets-details" xlink:label="dsgx_statement-statement-note-9-intangible-assets-intangible-assets-details" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_CustomerRelationshipsMember" xlink:label="us-gaap_CustomerRelationshipsMember" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_DevelopedTechnologyRightsMember" xlink:label="us-gaap_DevelopedTechnologyRightsMember" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization" xlink:label="us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis" xlink:label="us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetsGross" xlink:label="us-gaap_FiniteLivedIntangibleAssetsGross" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain" xlink:label="us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetsNet" xlink:label="us-gaap_FiniteLivedIntangibleAssetsNet-3" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_NoncompeteAgreementsMember" xlink:label="us-gaap_NoncompeteAgreementsMember" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_TradeNamesMember" xlink:label="us-gaap_TradeNamesMember" xlink:type="locator"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dsgx_statement-statement-note-9-intangible-assets-intangible-assets-details" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis" xlink:to="us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis" xlink:to="us-gaap_CustomerRelationshipsMember" xlink:type="arc"/>
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis" xlink:to="us-gaap_DevelopedTechnologyRightsMember" xlink:type="arc"/>
    <link:presentationArc order="3" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis" xlink:to="us-gaap_TradeNamesMember" xlink:type="arc"/>
    <link:presentationArc order="4" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis" xlink:to="us-gaap_NoncompeteAgreementsMember" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_StatementLineItems" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_FiniteLivedIntangibleAssetsGross" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization" xlink:type="arc"/>
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_FiniteLivedIntangibleAssetsNet-3" xlink:type="arc"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.descartes.com/20200131/role/statement-note-18-income-taxes-income-loss-before-income-taxes-earned-by-tax-jurisdictions-details" xlink:href="dsgx-20200131.xsd#statement-note-18-income-taxes-income-loss-before-income-taxes-earned-by-tax-jurisdictions-details" xlink:type="simple"/>
  <link:presentationLink xlink:role="http://www.descartes.com/20200131/role/statement-note-18-income-taxes-income-loss-before-income-taxes-earned-by-tax-jurisdictions-details" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/country/2017/country-2017-01-31.xsd#country_CA" xlink:label="country_CA" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/country/2017/country-2017-01-31.xsd#country_US" xlink:label="country_US" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="dsgx-20200131.xsd#dsgx_OtherCountriesMember" xlink:label="dsgx_OtherCountriesMember" xlink:type="locator"/>
    <link:loc xlink:href="dsgx-20200131.xsd#dsgx_statement-statement-note-18-income-taxes-income-loss-before-income-taxes-earned-by-tax-jurisdictions-details" xlink:label="dsgx_statement-statement-note-18-income-taxes-income-loss-before-income-taxes-earned-by-tax-jurisdictions-details" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesMinorityInterestAndIncomeLossFromEquityMethodInvestments" xlink:label="us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesMinorityInterestAndIncomeLossFromEquityMethodInvestments" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_IncomeTaxAuthorityAxis" xlink:label="us-gaap_IncomeTaxAuthorityAxis" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_IncomeTaxAuthorityDomain" xlink:label="us-gaap_IncomeTaxAuthorityDomain" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dsgx_statement-statement-note-18-income-taxes-income-loss-before-income-taxes-earned-by-tax-jurisdictions-details" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncomeTaxAuthorityAxis" xlink:to="us-gaap_IncomeTaxAuthorityDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_IncomeTaxAuthorityAxis" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncomeTaxAuthorityAxis" xlink:to="country_CA" xlink:type="arc"/>
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncomeTaxAuthorityAxis" xlink:to="country_US" xlink:type="arc"/>
    <link:presentationArc order="3" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncomeTaxAuthorityAxis" xlink:to="dsgx_OtherCountriesMember" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_StatementLineItems" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesMinorityInterestAndIncomeLossFromEquityMethodInvestments" xlink:type="arc"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.descartes.com/20200131/role/statement-note-18-income-taxes-income-tax-expense-recovery-incurred-by-jurisdictions-details" xlink:href="dsgx-20200131.xsd#statement-note-18-income-taxes-income-tax-expense-recovery-incurred-by-jurisdictions-details" xlink:type="simple"/>
  <link:presentationLink xlink:role="http://www.descartes.com/20200131/role/statement-note-18-income-taxes-income-tax-expense-recovery-incurred-by-jurisdictions-details" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/country/2017/country-2017-01-31.xsd#country_CA" xlink:label="country_CA" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/country/2017/country-2017-01-31.xsd#country_US" xlink:label="country_US" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="dsgx-20200131.xsd#dsgx_OtherCountriesMember" xlink:label="dsgx_OtherCountriesMember" xlink:type="locator"/>
    <link:loc xlink:href="dsgx-20200131.xsd#dsgx_statement-statement-note-18-income-taxes-income-tax-expense-recovery-incurred-by-jurisdictions-details" xlink:label="dsgx_statement-statement-note-18-income-taxes-income-tax-expense-recovery-incurred-by-jurisdictions-details" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_CurrentIncomeTaxExpenseBenefit" xlink:label="us-gaap_CurrentIncomeTaxExpenseBenefit" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_DeferredIncomeTaxExpenseBenefit" xlink:label="us-gaap_DeferredIncomeTaxExpenseBenefit-2" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_IncomeTaxAuthorityAxis" xlink:label="us-gaap_IncomeTaxAuthorityAxis" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_IncomeTaxAuthorityDomain" xlink:label="us-gaap_IncomeTaxAuthorityDomain" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_IncomeTaxExpenseBenefit" xlink:label="us-gaap_IncomeTaxExpenseBenefit-2" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dsgx_statement-statement-note-18-income-taxes-income-tax-expense-recovery-incurred-by-jurisdictions-details" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncomeTaxAuthorityAxis" xlink:to="us-gaap_IncomeTaxAuthorityDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_IncomeTaxAuthorityAxis" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncomeTaxAuthorityAxis" xlink:to="country_CA" xlink:type="arc"/>
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncomeTaxAuthorityAxis" xlink:to="country_US" xlink:type="arc"/>
    <link:presentationArc order="3" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncomeTaxAuthorityAxis" xlink:to="dsgx_OtherCountriesMember" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_StatementLineItems" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_CurrentIncomeTaxExpenseBenefit" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_DeferredIncomeTaxExpenseBenefit-2" xlink:type="arc"/>
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_IncomeTaxExpenseBenefit-2" xlink:type="arc"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.descartes.com/20200131/role/statement-note-18-income-taxes-components-of-deferred-income-tax-assets-and-liabilities-details" xlink:href="dsgx-20200131.xsd#statement-note-18-income-taxes-components-of-deferred-income-tax-assets-and-liabilities-details" xlink:type="simple"/>
  <link:presentationLink xlink:role="http://www.descartes.com/20200131/role/statement-note-18-income-taxes-components-of-deferred-income-tax-assets-and-liabilities-details" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="dsgx-20200131.xsd#dsgx_DeferredTaxAssetsLiabilitesNet1" xlink:label="dsgx_DeferredTaxAssetsLiabilitesNet1-3" xlink:type="locator"/>
    <link:loc xlink:href="dsgx-20200131.xsd#dsgx_DeferredTaxAssetsNetBeforeValuationAllowance" xlink:label="dsgx_DeferredTaxAssetsNetBeforeValuationAllowance-3" xlink:type="locator"/>
    <link:loc xlink:href="dsgx-20200131.xsd#dsgx_statement-statement-note-18-income-taxes-components-of-deferred-income-tax-assets-and-liabilities-details" xlink:label="dsgx_statement-statement-note-18-income-taxes-components-of-deferred-income-tax-assets-and-liabilities-details" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_DeferredIncomeTaxLiabilities" xlink:label="us-gaap_DeferredIncomeTaxLiabilities-n10" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_DeferredTaxAssetsGross" xlink:label="us-gaap_DeferredTaxAssetsGross-3" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_DeferredTaxAssetsOperatingLossCarryforwards" xlink:label="us-gaap_DeferredTaxAssetsOperatingLossCarryforwards" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_DeferredTaxAssetsPropertyPlantAndEquipment" xlink:label="us-gaap_DeferredTaxAssetsPropertyPlantAndEquipment" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_DeferredTaxAssetsTaxCreditCarryforwardsResearch" xlink:label="us-gaap_DeferredTaxAssetsTaxCreditCarryforwardsResearch" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAccruedLiabilities" xlink:label="us-gaap_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAccruedLiabilities" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_DeferredTaxAssetsValuationAllowance" xlink:label="us-gaap_DeferredTaxAssetsValuationAllowance-n8" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_DeferredTaxLiabilitiesGoodwillAndIntangibleAssetsIntangibleAssets" xlink:label="us-gaap_DeferredTaxLiabilitiesGoodwillAndIntangibleAssetsIntangibleAssets-n8" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_DeferredTaxLiabilitiesOther" xlink:label="us-gaap_DeferredTaxLiabilitiesOther-n8" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_DeferredTaxLiabilitiesPropertyPlantAndEquipment" xlink:label="us-gaap_DeferredTaxLiabilitiesPropertyPlantAndEquipment-n8" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dsgx_statement-statement-note-18-income-taxes-components-of-deferred-income-tax-assets-and-liabilities-details" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_StatementLineItems" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAccruedLiabilities" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_DeferredTaxAssetsOperatingLossCarryforwards" xlink:type="arc"/>
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_DeferredTaxAssetsPropertyPlantAndEquipment" xlink:type="arc"/>
    <link:presentationArc order="3" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_DeferredTaxAssetsTaxCreditCarryforwardsResearch" xlink:type="arc"/>
    <link:presentationArc order="4" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_DeferredTaxAssetsGross-3" xlink:type="arc"/>
    <link:presentationArc order="5" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_DeferredTaxLiabilitiesGoodwillAndIntangibleAssetsIntangibleAssets-n8" xlink:type="arc"/>
    <link:presentationArc order="6" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_DeferredTaxLiabilitiesPropertyPlantAndEquipment-n8" xlink:type="arc"/>
    <link:presentationArc order="7" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_DeferredTaxLiabilitiesOther-n8" xlink:type="arc"/>
    <link:presentationArc order="8" preferredLabel="http://www.xbrl.org/2009/role/negatedTotalLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_DeferredIncomeTaxLiabilities-n10" xlink:type="arc"/>
    <link:presentationArc order="9" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="dsgx_DeferredTaxAssetsNetBeforeValuationAllowance-3" xlink:type="arc"/>
    <link:presentationArc order="10" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_DeferredTaxAssetsValuationAllowance-n8" xlink:type="arc"/>
    <link:presentationArc order="11" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="dsgx_DeferredTaxAssetsLiabilitesNet1-3" xlink:type="arc"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.descartes.com/20200131/role/statement-note-22-segmented-information-segmented-revenue-by-geographical-location-of-customer-details" xlink:href="dsgx-20200131.xsd#statement-note-22-segmented-information-segmented-revenue-by-geographical-location-of-customer-details" xlink:type="simple"/>
  <link:presentationLink xlink:role="http://www.descartes.com/20200131/role/statement-note-22-segmented-information-segmented-revenue-by-geographical-location-of-customer-details" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/country/2017/country-2017-01-31.xsd#country_CA" xlink:label="country_CA" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/country/2017/country-2017-01-31.xsd#country_US" xlink:label="country_US" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="dsgx-20200131.xsd#dsgx_statement-statement-note-22-segmented-information-segmented-revenue-by-geographical-location-of-customer-details" xlink:label="dsgx_statement-statement-note-22-segmented-information-segmented-revenue-by-geographical-location-of-customer-details" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/srt/2019/elts/srt-2019-01-31.xsd#srt_AsiaPacificMember" xlink:label="srt_AsiaPacificMember" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/srt/2019/elts/srt-2019-01-31.xsd#srt_SegmentGeographicalDomain" xlink:label="srt_SegmentGeographicalDomain" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/srt/2019/elts/srt-2019-01-31.xsd#srt_StatementGeographicalAxis" xlink:label="srt_StatementGeographicalAxis" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_EMEAMember" xlink:label="us-gaap_EMEAMember" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax" xlink:label="us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax-2" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dsgx_statement-statement-note-22-segmented-information-segmented-revenue-by-geographical-location-of-customer-details" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_StatementGeographicalAxis" xlink:to="srt_SegmentGeographicalDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="srt_StatementGeographicalAxis" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_StatementGeographicalAxis" xlink:to="country_US" xlink:type="arc"/>
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_StatementGeographicalAxis" xlink:to="us-gaap_EMEAMember" xlink:type="arc"/>
    <link:presentationArc order="3" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_StatementGeographicalAxis" xlink:to="country_CA" xlink:type="arc"/>
    <link:presentationArc order="4" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_StatementGeographicalAxis" xlink:to="srt_AsiaPacificMember" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_StatementLineItems" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax-2" xlink:type="arc"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.descartes.com/20200131/role/statement-note-22-segmented-information-segmented-revenue-by-revenue-type-details" xlink:href="dsgx-20200131.xsd#statement-note-22-segmented-information-segmented-revenue-by-revenue-type-details" xlink:type="simple"/>
  <link:presentationLink xlink:role="http://www.descartes.com/20200131/role/statement-note-22-segmented-information-segmented-revenue-by-revenue-type-details" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="dsgx-20200131.xsd#dsgx_ProfessionalServicesAndOtherMember" xlink:label="dsgx_ProfessionalServicesAndOtherMember" xlink:type="locator"/>
    <link:loc xlink:href="dsgx-20200131.xsd#dsgx_statement-statement-note-22-segmented-information-segmented-revenue-by-revenue-type-details" xlink:label="dsgx_statement-statement-note-22-segmented-information-segmented-revenue-by-revenue-type-details" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/srt/2019/elts/srt-2019-01-31.xsd#srt_ProductOrServiceAxis" xlink:label="srt_ProductOrServiceAxis" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/srt/2019/elts/srt-2019-01-31.xsd#srt_ProductsAndServicesDomain" xlink:label="srt_ProductsAndServicesDomain" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_LicenseMember" xlink:label="us-gaap_LicenseMember" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax" xlink:label="us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax-1" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ServiceMember" xlink:label="us-gaap_ServiceMember" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dsgx_statement-statement-note-22-segmented-information-segmented-revenue-by-revenue-type-details" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_ProductOrServiceAxis" xlink:to="srt_ProductsAndServicesDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="srt_ProductOrServiceAxis" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_ProductOrServiceAxis" xlink:to="us-gaap_ServiceMember" xlink:type="arc"/>
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_ProductOrServiceAxis" xlink:to="dsgx_ProfessionalServicesAndOtherMember" xlink:type="arc"/>
    <link:presentationArc order="3" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_ProductOrServiceAxis" xlink:to="us-gaap_LicenseMember" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_StatementLineItems" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax-1" xlink:type="arc"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.descartes.com/20200131/role/statement-note-22-segmented-information-longlived-assets-by-geographical-location-details" xlink:href="dsgx-20200131.xsd#statement-note-22-segmented-information-longlived-assets-by-geographical-location-details" xlink:type="simple"/>
  <link:presentationLink xlink:role="http://www.descartes.com/20200131/role/statement-note-22-segmented-information-longlived-assets-by-geographical-location-details" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/country/2017/country-2017-01-31.xsd#country_CA" xlink:label="country_CA" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/country/2017/country-2017-01-31.xsd#country_US" xlink:label="country_US" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="dsgx-20200131.xsd#dsgx_statement-statement-note-22-segmented-information-longlived-assets-by-geographical-location-details" xlink:label="dsgx_statement-statement-note-22-segmented-information-longlived-assets-by-geographical-location-details" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/srt/2019/elts/srt-2019-01-31.xsd#srt_AsiaPacificMember" xlink:label="srt_AsiaPacificMember" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/srt/2019/elts/srt-2019-01-31.xsd#srt_SegmentGeographicalDomain" xlink:label="srt_SegmentGeographicalDomain" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/srt/2019/elts/srt-2019-01-31.xsd#srt_StatementGeographicalAxis" xlink:label="srt_StatementGeographicalAxis" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_EMEAMember" xlink:label="us-gaap_EMEAMember" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_NoncurrentAssets" xlink:label="us-gaap_NoncurrentAssets" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dsgx_statement-statement-note-22-segmented-information-longlived-assets-by-geographical-location-details" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_StatementGeographicalAxis" xlink:to="srt_SegmentGeographicalDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="srt_StatementGeographicalAxis" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_StatementGeographicalAxis" xlink:to="country_US" xlink:type="arc"/>
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_StatementGeographicalAxis" xlink:to="us-gaap_EMEAMember" xlink:type="arc"/>
    <link:presentationArc order="3" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_StatementGeographicalAxis" xlink:to="country_CA" xlink:type="arc"/>
    <link:presentationArc order="4" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_StatementGeographicalAxis" xlink:to="srt_AsiaPacificMember" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_StatementLineItems" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_NoncurrentAssets" xlink:type="arc"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.descartes.com/20200131/role/statement-consolidated-statements-of-comprehensive-income" xlink:href="dsgx-20200131.xsd#statement-consolidated-statements-of-comprehensive-income" xlink:type="simple"/>
  <link:presentationLink xlink:role="http://www.descartes.com/20200131/role/statement-consolidated-statements-of-comprehensive-income" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ComprehensiveIncomeNetOfTax" xlink:label="us-gaap_ComprehensiveIncomeNetOfTax-3" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_NetIncomeLoss" xlink:label="us-gaap_NetIncomeLoss" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax" xlink:label="us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_OtherComprehensiveIncomeLossNetOfTax" xlink:label="us-gaap_OtherComprehensiveIncomeLossNetOfTax-3" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_OtherComprehensiveIncomeLossTaxAbstract" xlink:label="us-gaap_OtherComprehensiveIncomeLossTaxAbstract" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_StatementOfIncomeAndComprehensiveIncomeAbstract" xlink:label="us-gaap_StatementOfIncomeAndComprehensiveIncomeAbstract" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementOfIncomeAndComprehensiveIncomeAbstract" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_StatementLineItems" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_NetIncomeLoss" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_OtherComprehensiveIncomeLossTaxAbstract" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_OtherComprehensiveIncomeLossTaxAbstract" xlink:to="us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_OtherComprehensiveIncomeLossTaxAbstract" xlink:to="us-gaap_OtherComprehensiveIncomeLossNetOfTax-3" xlink:type="arc"/>
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_OtherComprehensiveIncomeLossTaxAbstract" xlink:to="us-gaap_ComprehensiveIncomeNetOfTax-3" xlink:type="arc"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.descartes.com/20200131/role/statement-consolidated-statements-of-shareholders-equity" xlink:href="dsgx-20200131.xsd#statement-consolidated-statements-of-shareholders-equity" xlink:type="simple"/>
  <link:presentationLink xlink:role="http://www.descartes.com/20200131/role/statement-consolidated-statements-of-shareholders-equity" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_AccumulatedOtherComprehensiveIncomeMember" xlink:label="us-gaap_AccumulatedOtherComprehensiveIncomeMember" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_AdditionalPaidInCapitalMember" xlink:label="us-gaap_AdditionalPaidInCapitalMember" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationAndExerciseOfStockOptions" xlink:label="us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationAndExerciseOfStockOptions-2" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" xlink:label="us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue-2" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_CommonStockMember" xlink:label="us-gaap_CommonStockMember" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_CumulativeEffectOfNewAccountingPrincipleInPeriodOfAdoption" xlink:label="us-gaap_CumulativeEffectOfNewAccountingPrincipleInPeriodOfAdoption" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_EquityComponentDomain" xlink:label="us-gaap_EquityComponentDomain" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_NetIncomeLoss" xlink:label="us-gaap_NetIncomeLoss" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent" xlink:label="us-gaap_OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_RetainedEarningsMember" xlink:label="us-gaap_RetainedEarningsMember" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_StatementEquityComponentsAxis" xlink:label="us-gaap_StatementEquityComponentsAxis" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_StatementOfStockholdersEquityAbstract" xlink:label="us-gaap_StatementOfStockholdersEquityAbstract" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_StockIssuedDuringPeriodValueAcquisitions" xlink:label="us-gaap_StockIssuedDuringPeriodValueAcquisitions" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_StockIssuedDuringPeriodValueNewIssues" xlink:label="us-gaap_StockIssuedDuringPeriodValueNewIssues" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_StockIssuedDuringPeriodValueStockOptionsExercised" xlink:label="us-gaap_StockIssuedDuringPeriodValueStockOptionsExercised-2" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_StockholdersEquity" xlink:label="us-gaap_StockholdersEquity-4" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_StockholdersEquity" xlink:label="us-gaap_StockholdersEquity-5" xlink:type="locator"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementOfStockholdersEquityAbstract" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementEquityComponentsAxis" xlink:to="us-gaap_EquityComponentDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_StatementEquityComponentsAxis" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementEquityComponentsAxis" xlink:to="us-gaap_CommonStockMember" xlink:type="arc"/>
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementEquityComponentsAxis" xlink:to="us-gaap_AdditionalPaidInCapitalMember" xlink:type="arc"/>
    <link:presentationArc order="3" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementEquityComponentsAxis" xlink:to="us-gaap_AccumulatedOtherComprehensiveIncomeMember" xlink:type="arc"/>
    <link:presentationArc order="4" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementEquityComponentsAxis" xlink:to="us-gaap_RetainedEarningsMember" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_StatementLineItems" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/periodStartLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_StockholdersEquity-4" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_StockIssuedDuringPeriodValueStockOptionsExercised-2" xlink:type="arc"/>
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_StockIssuedDuringPeriodValueNewIssues" xlink:type="arc"/>
    <link:presentationArc order="3" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_StockIssuedDuringPeriodValueAcquisitions" xlink:type="arc"/>
    <link:presentationArc order="4" preferredLabel="http://www.xbrl.org/2003/role/periodEndLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_StockholdersEquity-5" xlink:type="arc"/>
    <link:presentationArc order="5" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue-2" xlink:type="arc"/>
    <link:presentationArc order="6" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationAndExerciseOfStockOptions-2" xlink:type="arc"/>
    <link:presentationArc order="7" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_CumulativeEffectOfNewAccountingPrincipleInPeriodOfAdoption" xlink:type="arc"/>
    <link:presentationArc order="8" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent" xlink:type="arc"/>
    <link:presentationArc order="9" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_NetIncomeLoss" xlink:type="arc"/>
  </link:presentationLink>
</link:linkbase>
</XBRL>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>GRAPHIC
<SEQUENCE>13
<FILENAME>annualinformationform.jpg
<TEXT>
begin 644 annualinformationform.jpg
M_]C_X  02D9)1@ ! 0$ 8 !@  #_X1$&17AI9@  34T *@    @ ! $[  (
M   4   (2H=I  0    !   (7IR=  $    H   0UNH<  <   @,    /@
M   <Z@    @
M
M
M
M
M
M
M
M
M
M
M
M
M
M
M
M
M
M
M
M
M
M
M
M
M
M
M
M
M
M
M
M
M
M
M
M
M
M
M
M
M
M
M
M
M                                                 $AA;G-O;BP@
M2F%M97,@36%R<V@   60 P "    %   $*R0!  "    %   $,"2D0 "
M S<X  "2D@ "     S<X  #J'  '   (#   "*      '.H    (
M
M
M
M
M
M
M
M
M
M
M
M
M
M
M
M
M
M
M
M
M
M
M
M
M
M
M
M
M
M
M
M
M
M
M
M
M
M
M
M
M
M
M
M
M
M                               R,#$W.C T.C(T(#$V.C$Y.C,X #(P
M,3<Z,#0Z,C0@,38Z,3DZ,S@   !( &$ ;@!S &\ ;@ L "  2@!A &T 90!S
M "  30!A '( <P!H    _^$+)FAT=' Z+R]N<RYA9&]B92YC;VTO>&%P+S$N
M,"\ /#]X<&%C:V5T(&)E9VEN/2?ON[\G(&ED/2=7-4TP37!#96AI2'IR95-Z
M3E1C>FMC.60G/SX-"CQX.GAM<&UE=&$@>&UL;G,Z>#TB861O8F4Z;G,Z;65T
M82\B/CQR9&8Z4D1&('AM;&YS.G)D9CTB:'1T<#HO+W=W=RYW,RYO<F<O,3DY
M.2\P,B\R,BUR9&8M<WEN=&%X+6YS(R(^/')D9CI$97-C<FEP=&EO;B!R9&8Z
M86)O=70](G5U:60Z9F%F-6)D9#4M8F$S9"TQ,61A+6%D,S$M9#,S9#<U,3@R
M9C%B(B!X;6QN<SID8STB:'1T<#HO+W!U<FPN;W)G+V1C+V5L96UE;G1S+S$N
M,2\B+SX\<F1F.D1E<V-R:7!T:6]N(')D9CIA8F]U=#TB=75I9#IF868U8F1D
M-2UB83-D+3$Q9&$M860S,2UD,S-D-S4Q.#)F,6(B('AM;&YS.GAM<#TB:'1T
M<#HO+VYS+F%D;V)E+F-O;2]X87 O,2XP+R(^/'AM<#I#<F5A=&5$871E/C(P
M,3<M,#0M,C14,38Z,3DZ,S@N-S<W/"]X;7 Z0W)E871E1&%T93X\+W)D9CI$
M97-C<FEP=&EO;CX\<F1F.D1E<V-R:7!T:6]N(')D9CIA8F]U=#TB=75I9#IF
M868U8F1D-2UB83-D+3$Q9&$M860S,2UD,S-D-S4Q.#)F,6(B('AM;&YS.F1C
M/2)H='1P.B\O<'5R;"YO<F<O9&,O96QE;65N=',O,2XQ+R(^/&1C.F-R96%T
M;W(^/')D9CI397$@>&UL;G,Z<F1F/2)H='1P.B\O=W=W+G<S+F]R9R\Q.3DY
M+S R+S(R+7)D9BUS>6YT87@M;G,C(CX\<F1F.FQI/DAA;G-O;BP@2F%M97,@
M36%R<V@\+W)D9CIL:3X\+W)D9CI397$^#0H)"0D\+V1C.F-R96%T;W(^/"]R
M9&8Z1&5S8W)I<'1I;VX^/"]R9&8Z4D1&/CPO>#IX;7!M971A/@T*(" @(" @
M(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @
M(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @
M(" @( H@(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @
M(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @
M(" @(" @(" @(" @(" @"B @(" @(" @(" @(" @(" @(" @(" @(" @(" @
M(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @
M(" @(" @(" @(" @(" @(" @(" @(" @(" *(" @(" @(" @(" @(" @(" @
M(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @
M(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @( H@(" @(" @
M(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @
M(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @
M(" @"B @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @
M(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @
M(" @(" @(" @(" @(" *(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @
M(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @
M(" @(" @(" @(" @(" @(" @(" @(" @( H@(" @(" @(" @(" @(" @(" @
M(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @
M(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @"B @(" @(" @
M(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @
M(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @
M(" *(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @
M(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @
M(" @(" @(" @(" @( H@(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @
M(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @
M(" @(" @(" @(" @(" @(" @(" @(" @"B @(" @(" @(" @(" @(" @(" @
M(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @
M(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" *(" @(" @(" @
M(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @
M(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @
M( H@(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @
M(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @
M(" @(" @(" @(" @"B @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @
M(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @
M(" @(" @(" @(" @(" @(" @(" @(" *(" @(" @(" @(" @(" @(" @(" @
M(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @
M(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @( H@(" @(" @(" @
M(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @
M(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @
M"B @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @
M(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @
M(" @(" @(" @(" *(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @
M(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @
M(" @(" @(" @(" @(" @(" @(" @( H@(" @(" @(" @(" @(" @(" @(" @
M(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @
M(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @"B @(" @(" @(" @
M(" @(" @(" @(" @(" @(" \/WAP86-K970@96YD/2=W)S\^_]L 0P '!04&
M!00'!@4&" <'" H1"PH)"0H5#Q ,$1@5&AD8%1@7&QXG(1L=)1T7&"(N(B4H
M*2LL*QH@+S,O*C(G*BLJ_]L 0P$'" @*"0H4"PL4*AP8'"HJ*BHJ*BHJ*BHJ
M*BHJ*BHJ*BHJ*BHJ*BHJ*BHJ*BHJ*BHJ*BHJ*BHJ*BHJ*BHJ*BHJ_\  $0@
M?@,L P$B  (1 0,1 ?_$ !\   $% 0$! 0$!           ! @,$!08'" D*
M"__$ +40  (! P,"! ,%!00$   !?0$" P $$042(3%!!A-180<B<10R@9&A
M""-"L<$54M'P)#-B<H()"A87&!D:)28G*"DJ-#4V-S@Y.D-$149'2$E*4U15
M5E=865IC9&5F9VAI:G-T=79W>'EZ@X2%AH>(B8J2DY25EI>8F9JBHZ2EIJ>H
MJ:JRL[2UMK>XN;K"P\3%QL?(R<K2T]35UM?8V=KAXN/DY>;GZ.GJ\?+S]/7V
M]_CY^O_$ !\!  ,! 0$! 0$! 0$        ! @,$!08'" D*"__$ +41  (!
M @0$ P0'!00$  $"=P ! @,1! 4A,08205$'87$3(C*!"!1"D:&QP0DC,U+P
M%6)RT0H6)#3A)?$7&!D:)B<H*2HU-C<X.3I#1$5&1TA)2E-455976%E:8V1E
M9F=H:6IS='5V=WAY>H*#A(6&AXB)BI*3E)66EYB9FJ*CI*6FIZBIJK*SM+6V
MM[BYNL+#Q,7&Q\C)RM+3U-76U]C9VN+CY.7FY^CIZO+S]/7V]_CY^O_:  P#
M 0 "$0,1 #\ ^D:*\8_X3/Q#_P!!.3_OA?\ "C_A,_$/_03D_P"^%_PH ]GH
MKQC_ (3/Q#_T$Y/^^%_PH_X3/Q#_ -!.3_OA?\* /9Z*\8_X3/Q#_P!!.3_O
MA?\ "C_A,_$/_03D_P"^%_PH ]GHKQC_ (3/Q#_T$Y/^^%_PH_X3/Q#_ -!.
M3_OA?\* /9Z*\8_X3/Q#_P!!.3_OA?\ "C_A,_$/_03D_P"^%_PH ]GHKQC_
M (3/Q#_T$Y/^^%_PH_X3/Q#_ -!.3_OA?\* /9Z*\8_X3/Q#_P!!.3_OA?\
M"C_A,_$/_03D_P"^%_PH ]GHKQC_ (3/Q#_T$Y/^^%_PH_X3/Q#_ -!.3_OA
M?\* /9Z*\8_X3/Q#_P!!.3_OA?\ "C_A,_$/_03D_P"^%_PH ]GHKQC_ (3/
MQ#_T$Y/^^%_PH_X3/Q#_ -!.3_OA?\* /9Z*\8_X3/Q#_P!!.3_OA?\ "C_A
M,_$/_03D_P"^%_PH ]GHKQC_ (3/Q#_T$Y/^^%_PH_X3/Q#_ -!.3_OA?\*
M/9Z*\8_X3/Q#_P!!.3_OA?\ "C_A,_$/_03D_P"^%_PH ]GHKQC_ (3/Q#_T
M$Y/^^%_PH_X3/Q#_ -!.3_OA?\* /9Z*\8_X3/Q#_P!!.3_OA?\ "C_A,_$/
M_03D_P"^%_PH ]GHKQC_ (3/Q#_T$Y/^^%_PH_X33Q#_ -!.3_OA?\* /9Z*
M\7_X33Q#_P!!-_\ OA?\*#XU\0_]!.3_ +X7_"@#VC-%>*_\)MXB'_,3?_OA
M?\*#XV\1?]!-_P#OA?\ "@#VJBO%/^$V\1_]!-_^^%_PI#XV\1_]!-_^^%_P
MH ]LHKQ+_A-_$?\ T$W_ .^%_P */^$X\1_]!-_^^%_PH ]MHKQ'_A./$?\
MT$W_ .^%_P *3_A./$G_ $%'_P"_:_X4 >WT5X>?'/B0?\Q1_P#OA?\ "D_X
M3KQ)_P!!1_\ OA?\* /<:,UX:?'7B3_H*2?]\+_A1_PG7B7_ *"DG_?"_P"%
M 'N5%>%_\)UXE_Z"LG_?M?\ "C_A._$O_05D_P"_:_X4 >Z45X5_PG?B;_H*
MR?\ ?"_X4A\>>)A_S%9/^^%_PH ]VHKP?_A//$W_ $%9/^^%_P */^$\\3?]
M!:3_ +X7_"@#WBBO!_\ A/?$_P#T%9/^^%_PI/\ A/?$_P#T%9/^^%_PH ]Y
MHKP;_A/O$_\ T%9/^^%_PI/^$^\3_P#06D_[]K_A0![U17@G_"?>*/\ H+2?
M]^U_PI/^$_\ %'_06D_[]K_A0![Y17@1\?\ BC_H+2?]^U_PH_X6!XH_Z"TG
M_?M?\* /?:*\!_X6!XH_Z"TG_?M?\*3_ (6!XI_Z"TG_ '[7_"@#W^BOG[_A
M8/BG_H+R?]\)_A0?B#XI_P"@O)_WPG^% 'T#17S[_P +!\4_]!>3_OVO^%!^
M(7BK_H+R?]\)_A0!]!45\^?\+"\4_P#07D_[X3_"D_X6'XJ_Z"\G_?"_X4 ?
M0E%?/7_"P_%7_08D_P"_:?X4G_"P_%?_ $&)/^_:?X4 ?0U%?/!^(GBO_H,2
M?]^T_P *!\1?%?\ T&)?^_:?_$T ?0^:*^=S\1O%G_08E_[]Q_\ Q-'_  L;
MQ9_T&)?^_<?_ ,30!]$45\[?\+&\6?\ 09E_[]Q__$TA^(_BS_H,R_\ ?M/_
M (F@#Z*HKYT_X6/XL_Z#,O\ W[3_ .)I/^%D>+?^@Q+_ -^T_P#B: /HRBOG
M,_$CQ;_T&9?^_:?_ !--/Q(\6C_F,R_]^T_^)H ^CJ*^<?\ A9/BW_H,R_\
M?M/_ (FD_P"%D^+O^@S+_P!^X_\ XF@#Z/HKYO\ ^%E>+O\ H,R_]^X__B:/
M^%E>+O\ H,R_]^X__B: /I"BOF[_ (67XO\ ^@U+_P!^X_\ XFD_X67XO_Z#
M4O\ W[C_ /B: /I*BOFS_A9?B_\ Z#4O_?N/_P")I/\ A9GB_P#Z#4O_ '[C
M_P#B: /I2BOFL_$SQA_T&I?^_<?_ ,32?\++\8?]!N3_ +]1_P#Q- 'TK17S
M3_PLSQA_T&Y/^_4?_P 32'XF>,/^@W)_WZC_ /B: /I>BOFC_A9OC#_H-R?]
M^H__ (FD_P"%F^,/^@W)_P!^H_\ XF@#Z8HKYF/Q-\8_]!R3_OS'_P#$TG_"
MSO&/_0<D_P"_,?\ \30!]-45\R'XG^,O^@Y+_P!^H_\ XFD/Q/\ &6?^0Y)_
MWYC_ /B: /IRBOF/_A9_C+_H.2_]^H__ (FD_P"%H>,O^@Y*/^V4?_Q- 'T[
M17S"?BAXS_Z#LO\ WZC_ /B:3_A:'C/_ *#DO_?J/_XF@#<HHHH **** "BB
MB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH ****
M "BBB@ I#2TAH *0]*6D/2@!IZ4AZ4IZ4AZ4 (*.YH%'<T -I#TI:0]* $HH
MHH 1NM--.;K330 TT4&B@!*2EI* $--;I3C36Z4 -/2@]:#TH/6@ IIIU--
M!VI*7M24 (>M(>M*>M(>M "&FFG&FF@ I*6DH ;2&EI#0 E!HH- #:2EI* $
MH-%!H ;VIHZT[M31UH #0*#0* $IO:G4WM0 E)2TE "&D/2E-(>E #:*** $
MI/6EI/6@!O<TE+W-)0 'I333CTIIH #0*#0* &TAI:0T )24M)0 AI#2FD-
M"&FGK3C33UH *0TM(: &FB@T4 >D4444 %%%% !1110 4444 %%%% !1110
M4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4AI:0T %(>E+
M2'I0 T]*0]*4]*0]* $%'<T"CN: &TAZ4M(>E "4444 (W6FFG-UIIH ::*#
M10 E)2TE "&FMTIQIK=* &GI0>M!Z4'K0 4TTZFF@ [4E+VI* $/6D/6E/6D
M/6@!#333C330 4E+24 -I#2TAH 2@T4&@!M)2TE "4&B@T -[4T=:=VIHZT
M!H%!H% "4WM3J;VH 2DI:2@!#2'I2FD/2@!M%%% "4GK2TGK0 WN:2E[FDH
M#TIIIQZ4TT !H%!H% #:0TM(: $I*6DH 0TAI32&@!#33UIQIIZT %(:6D-
M#310:* /2**** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH ***
M* "BBB@ HHHH **** "BBB@ HHHH *0TM(: "D/2EI#TH :>E(>E*>E(>E "
M"CN:!1W- #:0]*6D/2@!**** $;K5[1$TR35HUUR22.RPV]HP<@XXZ ]ZHMU
MIIH ],@\(^#KK19-6AN+QK.,,6DW$8QUXVYKF;K0-.UG6([/P7(]P!"9)3.2
MN"#CN!ZBNDT+_DCU_P#[LU8_PM_Y&R7_ *]7_P#0EIM>_;R%>T+^=OQ.=TSP
M]?ZOJDVGV:(;B$,7#. !@X//U-2Z1X4U37)+F.PCC9K5@DNZ0#!.?\#7HGA:
M\\/3^+;Z+2=,FMKU5D\V9Y"P<;QG@L>IP>E9W@0QB/Q3Y\;2Q;COC3JX_>9
M]S4IZ?(NVK]3CM;\(:MH%DEUJ,<:Q,XC!20-R03_ $-1^$])M];\3VMA>[_)
ME#[MAP>$)'/X5:\2/HSVL/\ 9&B7FG.'^=YV8AACH,DU)\._^1ZL/I)_Z+:J
MCJR7L=!>>%_ UOK!TBXU"\MKS*@9;C) (&XKCN*Y;Q3X1N?#FK0VPD\^&Y/[
MB7&,G."#Z$9'YUM^,?#6KZQX_N?L-A.T4IC G,9$8^103NZ<5K?$F\@^WZ'I
MX</<1S"1_51D 9^O/Y4HJ_+YL'I?T.<_X5CXC_YXV_\ W^%96E^#]9UBZN(;
M*V!%O(8Y97<*BL.HSW_"O1?&LFAIK,0U;0;W49O(&V6!G"A=S<<,.<Y_.N=\
M,ZW!8>%[FPUW1[N;2+B9L30J2 >,JV"",8ZYS0M09S>N^$=6\.P)-J,4?DR-
ML62.0,"<9QZ]O2KUE\-_$5[9K<"WC@##<J32;6(^G;\<5T>H^']'L(M$U73+
MFX32Y]0B+VMPS;.3][#<CH>N>#5#XGVVJR^*H66*>2W,2BV\M20&[@8_BS^/
M2C;[[!O]QQTFC7T6N#2)(-MZ91%Y>X'YCTY''>I]?\-:EX<EA75(E3S@2C(X
M8''7^8_.NO\  &CWL_C*ZU#7!)YUA&"[3G+;V7 R3_LY_2MKQCI=WJW@*2:]
MDMY[ZQE:?=;/O786.1G Z*1_WS2>D4P6LFCAM.^'VO:KIT-[:10F&9=R%I0"
M1]*J2>#-;BUZ#2)K41W5PI:+<XVN "20PX[5Z!'9Z1?_  W\/V^O74UK"\JB
M.2(@?/\ /@$D' Z\U@?%BXNCK-G:2VYCM;>(^1*6W>;G&XY]L 8_'O3E[LK>
M=A1U5_(H_P#"K?$O_/&W_P"_XJG8> -=U+[3]EBA/V:=K>3=*!AUZ_SK?U<G
M_A2.D?\ 7S_[-)5WP6UHOPKU(ZC:2WMM]J;S((20S\1],$'KS3M9R\A]O,X?
M6/!VL:'<6D%Y K2WC%84A?>6(QQ@?45J?\*N\3&W$GV> /C/D^>N[_#]:?\
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
MI$WQ4\6F'8-113_?%O'D_P#CN/TK%LO%FMZ;J]QJEG?LM[<J5EF=%<N,@_Q
MCL*Z0?#:/[4FE2>(+9->>+S!I_D,5Z9VF7IG'M_C4.F_#V&[TFPN=1UM=/N-
M0G>VAMVM&?,BL5VE@>.1WHZBZ'/:/XIUG0'N&TF],'VG_6CRU=7_  8$=S3M
M&\6:UX?N)I=)O3;^<=TD812C'_=(P/P K;M/AM?7=EKCK=QFYTB5HS B%A,5
M&3AL\<=.*J:[X'N= \*:=K-U<@O?, ;;R\&/*EADYY.!TQ1>VOI^.P;Z>OX;
ME#7O%^N>)%2/5[YIHD.Y8E4(@/KA0,GW-3:)X\\1>'[/['INH%;922L4D:N%
MSZ9&1]!Q6AKOP^FT#2-.U"]OT$=S(D=T!$2;0LH;D DM@9[#]:?J7@C1M/\
M#L6KCQ6LL-TK_91_9\@\YESE>N5Y&,D4;7#>QSNH>)M8U368M4O[UYKR!E:)
MV5<(5.1A<8'//2H=8UO4/$&H&]U>X^T7&T)OV*O Z#"@"NDU;P%!9V6DRZ9K
M2ZA/J\@6TA^RM%O!P"VXDXP2.N.M2W'PY@_TZTTOQ#;W^KZ?$9;FQ6W9, ?>
M"N>&(SCI^5)Z+T_I@M=NO](X8]*Z33_B)XITG3H;'3]4\FV@7;&GV>)MH^I4
MFM:7X87@TG1-0AO5EAU-X5EQ$<VPEQM)Y^89..W./6N6O])&G>*9=(DE\T0W
M7V=I%&W< V,XYQ5I-OE_K^M1:6YBX_C?Q"WB!=;.H?\ $Q2+R5F\F/A/3;MQ
MW]*JZ9XGUC1]6GU/3;UH+NXW>;($4A]QR<J01UYZ5Z!XJ\!>']!M+WR-,\0S
MM# 72Z3RV@4XXW'@X!Z\5@V7P\MS;:<NL>((--U#5$#V=F;=I-P;[NY@<+GW
M_P#K5*\OZN4_,YJU\1ZO8ZY+K%I?20W\SL\DJ #>6.3E<8()[8Q6EK'Q#\3:
MYISV&H:CNMI !(B0HF_!SR0,UHVGPZ1-/O[KQ!K*:4+*]^Q.!:M,&; ((VD'
M!W#M4]G\*+VZ\2ZIHS:E"DUC"LJ.(RRR[ONCJ-OOU_&EI:W]=PU3O_6]OS.8
MU/Q9K>L:/;:7J-[YUE:[?)B\I%V[5VCD $\'')K%KKKCX?WMGX"D\2WL_D%9
M=@M&B.XC?LR3GCG/&*Y&GU8N@AI#2FD- "&FGK3C33UH *0TM(: &FB@T4 >
MD4444 %%%% !1110 4444 %%%)F@!:*3-&: %HHHH **** "BBB@ HHHH **
M** "BBB@ HHHH **** "BBB@ I#2T&@!*0]*6D/2@!IZ4AZ4IZ4AH 04=S10
M: &TAZ4M(>E "44M)0 C=:::<W6FF@!IHH-% "4E%% "&FMTIQIK4 -/2@]:
M#TH- !333J:: #M24O:DH 0]:0]:4TAZT (:::<:0T )24M)0 VD-%!H 2@T
M4AH L:>]K'J5N^H+(UJLJF98P"S*#R!DBO0E^*UNWB:2:;283IKH8C((!]J,
M>.%)W8QN[=*\TI*/(#L;+QI;Z+HD-IHRW FM]5:[C,JJ%:$J5V-@GD@X/\ZT
M;[X@:5<^);K48;:[2&72&L438@*N6R#][&W]?:O/*2AZ_P!>5@ZW_K>YWMS\
M1UN_#>E07-O+)J=A>13R2'&R81YQDYSN(QGBEOO&/A](]=NM)AU!K[6HC'(E
MP$$<61AB"#D]:X#M31UH>H+30](L_B3IFERZ5:VFE-)86=OY,DDJ@3'=]\J
MVW!(!Y_2L]?$/A2Y\+)H=]'JZ00WLEQ"UND6=I+;0=S=<-S7#FBAZ[_UK<5K
M&GI<VDVOB1)[S[:VG12ET\H)YQ .4R"=OIG\<5UUYXW\/R?$.Q\2VT.I80,M
MS'(D?_//8NP!O?G)KSW--[4[O3R'W\SNF^(,5UX#OM"OHIWN'8+;3  CRPX8
M*QSGCD#&>U5?&'CVYUO5"=*NKR#3BD8-M*0 64YR0"1U KCJ2EV'<]'_ .$W
M\,OXBC\4RV>I?VPD6#;*4\AI-FW.[.<8]OPI-,^*ATO2M,ACBE>5+J66_4HN
MR5'=F^0YR"-V>W2O.#2&@1WMMX\L-$L]470!?&>YOTN[=KM0< $%E<AR3GD>
MI!HNO'UCK>G:7%K\-S)-!J1O+H11J49/FPBY;/<#GMW-<!10M/Z[6_R0GK_7
MK_F>B:I\2-/US3]=L=0TMH8KX;K>6 9<NN-AD!; X50=OIWKG-4\0VE]X'T3
M18HYEN-/>5I791L8,Q(VG.>_<"N=I*5M+?UH5<[W4_&>B+9^'3HD>HM<Z$X,
M8NDC5)5R"V2K$@_*.W>IO^$U\,Z=J&JZYHMMJ1U;4HG3RKC8(86<@LV0<GD9
M'].WG?<TVF]59^?X[B6EK?U8])T[XGV^F:EHKQPW+V5MIT=G>Q,JY=EY#H-V
M#@],XZFN+U?5H+_QA<ZM"DBP37AG56 W!2V<$9QG\:RCTI"*:;4E(72W]=CK
M?'/C67Q'KL\VEW5_!I\L2H;:60J#@<Y56(YK4A\8>&=2;1=0U^VU)=2T>)(P
MMJ$,4X0Y4G)!'/)KSTT"DM%H-Z[GI%M\6I+2QU&:V@DCU&[U,704JK1>3M5?
M+))SG"XR!4;^/]'MM6U_4=+74TGU:U41^:JGR9QGG=OSMZ8].F,5YS2&E:W]
M>5@>O]>=SO-7^)+^(?".JV.KQM]OO)XFB\A,0QHFWCEB0<@GOR:X&EI*+)!T
ML(:0TII#3 0TT]:<::>M !2&EI#0 TT4&B@#N_[9T[_G]C_[Z-']LZ=_S^1?
M]]&N %** .^_MG3O^?R+_OHT?VSIW_/Y%_WT:X+BE% '>?VQI_\ S^1_]]&C
M^V-/_P"?N/\ [Z-<)2C% '=_VQI__/W%_P!]&C^U[#_G[B_[Z-<+@4H H [G
M^U[#_G[B_P"^C1_:UA_S]Q?]]&N'Q2@4 =O_ &M8?\_<7YFC^UK#_G[B_,UQ
M(%.'TH [3^U;#M=Q_F:7^U;'_GZC_,UQ/>G4 =I_:MC_ ,_4?YFC^U++_GZC
M_,UQ@IPQ0!V/]J67_/U'^9I1JEE_S]1_F:XVE% '8_VI9?\ /U'^9H_M.R_Y
M^H_S-<>*=Q0!U_\ :5E_S]1_F:/[2LO^?F/\S7(4HH Z[^TK+_GXC_,T?VC9
M_P#/Q'^9KDQBE% '5_VC:?\ /RG_ 'T:/[1M/^?E/^^JY2B@#J_[1M?^?E/^
M^C1_:%K_ ,_"?]]&N6'2E% '4?VA:_\ /PGYTOV^U_Y[I^=<MWIU '3_ &^U
M_P">Z4?;[7_GNM<R*44 =)]NM?\ GNM!O;8C_7+7.&E'W: .@-Y;XXF2D-W!
M_P ]EK IPZ4 ;OVN#_GJM)]J@/\ RU6L6@4 ;7VF#_GJM(;B#'^L6L@4HH U
MOM$/_/1:3[1#_?6LNEH TFGB[.M(9HS_ !K6?10!?,L?]\4OFI_?%4>]+0!;
M\Q/[U'F)_>JH.E.'2@"QO7UI&8'H:A%** ),CUHS3*6@!U-H'6G4 -Q28/I3
MZ6@",HQ[4FQ_2IQVIU %7RW_ +M'E/\ W35H=:6@"GY3_P!PT>5)_<-7:44
M4/(D_N-2>1+V1JT1TIPZ4 9GV>;^XU)]GG_YYM6I3J ,C[-/_P \VI/LT_\
MSS:MFB@#&-I/_P \FI/LD_\ SR:ML4M &&;.X[1-2?8KG_GBU;PI>: , V5U
M_P \&I/L5U_SP:NCH% '-&PNC_RP>C[!=8_U#UTU% ',?8+K_G@_Y4G]GW?_
M #P?\JZBB@#ESI]W_P ^[_D*:=/N^UN_Y5U5% '*?V==][=_^^11_9UW_P ^
MTG_?(KJZ* .3_LZ[_P"?:3\A2#3;W/\ Q[2?D*ZVB@#DO[-O?^?:3\A3?[,O
M?^?63\A77T4 <A_9M[_SZR?D*0Z9>_\ /K)^0KL** ...F7O_/K)^0I/[+O?
M^?63\A7944 <:=+O?^?63\A33I=]_P ^LGY"NTHH XO^RK[_ )]9/R%)_95]
M_P ^DG_?(KM:* .)_LJ^_P"?23_OD4'2K[_GTE_[Y%=M10!PYTF__P"?27_O
MD4ATF_S_ ,>DO_?(KN:* .&_LG4/^?27_OD4G]D:A_SZ2?\ ?(KNJ* .$.CZ
MA_SZ2?\ ?(I/[(U'_GSD_P"^17>44 >9THK[.Q10!\98I1TK[,HH ^-*45]E
M44 ?&U+^%?9%% 'QP.E*.E?8U% 'QV*6OL.B@#X\H[U]AT4 ?'P^M*/K7V!1
M0!\@?C2BOKZB@#Y"%._SUKZ[HH ^1/\ /6E'^>:^NJ* /D<4HKZWHH ^2:*^
MMJ* /DH4X5]9T4 ?)F.:7%?66** /DZE'6OK"B@#Y0Q3A]VOJVB@#Y2I1TKZ
MLHH ^5:!7U510!\KBEKZGQ1B@#Y9HKZFHH ^6LTM?4E% 'RX#3LBOJ'%&* /
MEX?6G#ZU]/XHQ0!\PTHKZ=Q1B@#YCI?\]:^FZ,?YS0!\R#K3L?YQ7TSBC% '
MS-C_ #BE_P ]*^F,44 ?-(Z?_6IU?2E&* /FL=:=7TE1B@#YMI1Q7TC@>E&!
MZ4 ?-XIPKZ.Q1@>E 'SC2U]&XHQ0!\YTM?1=% 'SL!17T31B@#YW%**^A\44
M ?/6:45]"44 ?/G^>E'^>E?0>*,4 ?/G^>E'^>E?0>*,4 ?/G^>E'^>E?0>*
M,4 ?/G^>E'^>E?0>*,4 ?/G^>E'^>E?0>*,4 ?/G^>E'^>E?0>*,4 ?/G^>E
M'^>E?0>*,4 ?/G^>E'^>E?0>*,4 ?/G^>E'^>E?0>*,4 ?/G^>E'^>E?0>*,
M4 ?/G^>E'^>E?0>*,4 ?/G^>E'^>E?0>*,4 ?/G^>E'^>E?0>*,4 ?/G^>E'
*^>E?0>*,4 ?_V0$!

end
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>GRAPHIC
<SEQUENCE>14
<FILENAME>descartes_logo.gif
<TEXT>
begin 644 descartes_logo.gif
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
MB0JPLH;(<"2R*E'RQB0;^^# (CNHA8E44(H<UL<^!8(A16S61(I 48H)R<
M)M>H7^1+(UI<CP)L14$3A3$D*T <B3; O8 )1!$)4&1'UMA&AY"# I0$E10X
M9J(9BN0-)CI 2<0A,UW"Q&1#<B)#'KD0)I;(#EF,("<[\L5/@L0#V2,1'52I
MQA*UTB&?4$#OUH,'6I;(EB&I@(G:09()3***_( '3=H )6$NA)@*&>,WD[G%
M97*DF2,9PR1)1/\"].F$E6YT"#!.A$.(W%$DDRF1$T@F$B 4# 1KHV9(H+&+
M;<+(G0J!9T)XX$EZ:M*>&\&G2#1 @DO-8B< A4@- F&B&(2MEB.! L[R<$+_
M6<-$ROAE7Z+@!2UA-"$:/4@'TE2B3WB4'YOT8D='X@X3;8 2T*I)2B$"!A-%
M(@$&A:E(2E!";>TA%B"1@Z5(I )?_+(?)U#%EGZ*D* :A ;:)!$(^K>13"(5
MI!H1J4@L(3]^P, 01+3)5!^2@0V8KDO>,Y$ 2)*&!98(!B;06(4P<@,3"<--
M,9&73QUI(DC61R J+%$>.F+7I':R1'YHB$0+T@$\5!%3VR#$9&,RV(?_V,)$
MG<AJB>Z @PGX]K? )4!@P=4/,J"S6VJHZ6H/4@0384,FNN 36P\BN48](B%?
M,A$OZFB1TN(U(U^T06^!2]XHC*![$BE#%F+TAW409+FKM&9 'V( $SGP(=][
M@@MZ0('^^K>_/9C$8BOR%T-DBT0H<,0)-*(%$\DB)G8((IBF:Y#J\L,$&I"
MAB6 !1I<0 \GZ@,?ZZI,I2Y*O_]-,04FT0;N1N0'@H21"LR 6)C4UB'1+1$H
M=#LH&VC$!S>B),*8P(K92@3$):H$3'X "(NVD[,EVD 62$!E$LB 8/5J5"36
M1MH2GW90*LM(!JR (U><@CXN/LF-&V(#$YV"_\=\.L-&JO"IXY+("J,P)$0X
M6B)'O.0*J(CE6J%LJD!\%R/>-?&@?, 1(,@ 1SVX@YO@FY$U,R2[)#(!G,'D
M8XR$BQHFXI8K&E81/I.HTRSI (CIM=F)0'%+=8@:I1.2Z"_S*<P;R84GQ@JC
M5>QM)99>""A,)(Y-P^((%DBVLI<M@Q1X) 1GX)W;UB.*%TH4$2:BA4M,,"L*
M%Z2 .$-8#Y#1"I'4FIDF$@2RE[WL:\@@?+,^2#BT\ 4[\P,$4(TW18*MD"V8
MZ*3X-1$8<+#A@FOX"A/PIT<T, 11LEH26)0H$4QDAI:\R,F#=K6)/D "%Y!
M424R!$G.?4\3G8'@!O\O>!-(IN_9QJ+.S'H! JI)HFL^A .P7%1!$UNB ;?D
M"L#HVHF ,!$UF(@:S4-)'+3)ZHQ+!(HFX( $<)#!$H&@B^@E<3T5O9XBJY8C
M/N*%OYGE@!:AA-\(.<?%7%!3GI,(G"[QP"V.&X$0/20-)AJ$'%0BAVN@S-L$
M@>)U!]('(?-#%4GW",E#NE28M$$]"",Z">4;D3R82,2;AOM+I''<<D?D"H\N
M43!.TI<', 'CTB7T>CS;#P)TS5YU"LGB\]IXF#1#Z"1"1\LC@G:#+"*N)$IM
MYF/2%P" L$3ODX@F3(2*!>^>(<M'&7LT7B+6]R,%>>^%[+V,[A(YLR6;807_
M"]>S@1&>G?(,^0LR+)J%%;QTGC/Q@8DD,1%&##W-&OE+<Z4__:=WUB#85B(-
M$''/)Q"S!UZU!Q,E4#HE<B0IT7L$(0!.I@;>]'8TP0LFL@43801T4#!/ #8>
MT1<2R'_]QR[_5Q!C($>-\F %:(#<5W+>5Q.W52*7,'DU-U\* 0VP8"(.H @5
MN!Z:-Q+%IQD"80<F(@H2(8(GT@@3!$.*Y!A0X JH9RJ -Q!NU1?R5T4O  T?
M<8 8H5>DIQ#&M$)Y]H#HMQ#E$$ E(EL2=5 B80>:P"DC]EG]P&W5EX3.XPQ+
M:%;I=QVOLQEC("0D6((P<X*350<6Q00,=52FU7TD__)]2:0#\*)G!($&AD4B
M@$!7YT<B.3!<![$#<U!1CT.)"_$]A202.U Z(# -GE@0(K!/)%(8%$$%<M0[
ML* &[L<0Z\"'9=(/1G!3@TB(D6.(%?(*358B@\>(AW817X1$_M,/"54'S; 0
M#58BJ@!L)4("71 ""="-W&@$3? #Q@ )/74BA8!5$_$]!]"-[-B.[G@"OB)1
MW(8I*- .58 9#^ #ZE%%Q=!V$T$)]88S@4 +S;"( V$$BX )/  #// 09A",
M2Z)Z442$_5 )Z-0"LZ2,7,</I<"-[OB1"0"/JT4%E\@/+Z %F?!'!=$+(6,B
M2F:#DZ,"Q>  -$F3Q7 $(/\ ?"<2#7;W?B0B P[@!34YE$/I!3E0!#]#"4&$
M,"^0#:)@ F\ "8@@2B:":L0E $)S(E_@!=Z #4(P!3JP"NH <ORP"Q3"$&X
MD1%)?21B?07A#8+&!;F(22_(>"5" ;5 E'I)DSGP8!&Q N  (Q;@#$*0"A4P
M!6P ?)B2!/ZH9D,S)#@C"HD4+2A3<1&A _:V)58P:24C$(20<[,2>PK!".,7
MC%4H$&Y5(7)PB=J2?'2Y=;9F*D0@$2(0:I!I+RT0!S2G)0QD+TOP+!?Q/8.R
M"1+! ?/P"ZQB"_:C$51 9H\))2BP8&_4#^$P23C#?Z?9#ZE9$ [U6$:#?P_A
MA<S_B#(NU212H VLH@(^IQ+C,"M9D K?,FMP@#+)0!&C@(A@ @.<T(H8T0FG
M-RC4X CH>!!-P(#7*7W9R0PFL@QE$I@EH@Y7 )X.@9F+H@\?T9VSP@D4<0*Z
M8 %\@@JZV1)X\ $#4*(F>J(E*@@NL U_4 2)T';Q5@H?L $H6J,V^@&:5A',
MP "@"2-/H ,9^1$=0 P,< 29@@*<$ < $P)\UG1#4IJ--!'EL $T.@ ?H# +
M<0A'0*(E^@)OD'4280Y<N@$@L'<L,Z,VFJ8F^@&I0%S], %#P 1DN2U., V-
MB1)\T00>0 !\VJ=^F@$9T 0KT(("L0(>D %^FJB*VJ<>_]"3$R$!B4 &W< #
MZ, &JE -J7 #@%(2#R %"R -Z: '>& %#/ &]] +6)00?^$)4"(#;* #;P &
M-S ,ER "Y( +") )*: &H) '>Q!D_#";$U$#@,JG'F!VTRD!B&JL9:!O - %
M>TH B)JJ':$(A[JHV,JH'*!O8N (D" )T8 $^% (4S #(I!X*@&FJN$15>5D
M 1 (]L 'N+"<#@$ 6(  P6 *<=(I_D.H=.&O>)BN-*&N#9$(6>E72$ +(F"0
MJ@HP\?@9DO)> !MO%*L0 +NNQ-</$+"/_$ "D." &!NR(OM92;(>XW &CCJR
M*JL:?\%13- &U"JA*SNS>/$74V4  GPPH#2[LY8! "7@ T' 93P[M)9Q!;A
MM$C[&!>;M$S[%4O;M% ;M5([M51;M59[M5B;M5J[M5S;M5[[M6 ;MF([MF1;
AMF9[MFB;MFJ[MFS;MF[[MG ;MW([MW1;MW9[MS<1$  [

end
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>GRAPHIC
<SEQUENCE>15
<FILENAME>logisticstechplatform.gif
<TEXT>
begin 644 logisticstechplatform.gif
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
MSAJ#C4K46$HQ3;;R$5I-S68VK?6?NB[BW=,]MIF1C>DNX(/9V$7P=G=9)T?
M8@E+L(<3^*1GM/%YD@ZH0G@NX^UOOZ\O2W[-$LJMU!&F.W"P3"&QBVUL>=-;
MT[C(Q;([?6!]_]5;GO^ @S\RI TX>()GD#0XJW?*"*+YE'B.=7C2%F.5Y)@!
MJ<'=]5N=^DK"41K ;P P@ 6<5QM_/-,%[L'(\_WIF89BH2UPP!3J)@,'P!:'
M1C:C, ][26]S4N?RLI*ABH )5TSVW.CNM?]N-(T*"$&LL.&V<R;Q8B0@W;0N
M?;JF"4""-$^=V=K-ZA>NGG+Q+(H;]JBVJU(-]H.?BZ)F&(C&T)X\.Q[&#*Y0
M1W#C_E:!XF@,31!3$;)1"B$\XA%Q$),_#)$!:K 0\()'-@D0H.;#YWNU;PZ;
M R18Z-PXH-H.Q>&J=YJ*'G9T,IS_W"@)\]O1D_Y?3H5J!6"#/F9QUA#BN;/_
M)L8 ^,#G'M,D((":>R#UJ;.9QZ&(_]5# 0=KS.&'T)R"'8;P(TYX(A7?%7-'
M=BY:%QY7L5O1YS%F,1[6D %!-V)11#TYH@D:$AYFP WVD0V[$A[8P T98&--
M=WZ$1W@DL 61T'[XIEJ?=@"A\ %#  =RT *>8 !:,'Q%@ TR$#P)\",05 +'
MYPE&0'GELGS"] &PMC$(F(#Q(A3BP0TF\$^5Q6@F)8$X8@::T%D>D(5:N(5-
M4 0>@'LB2'@Y0 !=$ D8P'XHB&]8%0HL, 7;L'^.D"H'X E3(!Y3X 0VDR!P
ML 364 @L$"M"2$8#R CUQU'LPV1*V!Z#L0W_X&%[_W1N4DAT;O(?CO@$[[9"
M+?0&T^!2%7 -7QAX\_9TZ8=^.9!^&8 /['==:8AXX^0.#I <VF /-7-U+3 %
M%*0%3B!G' !D06$(7A=;@CB(@+ "V-!PQ0)$B4@BBH(-16 (TZ1H0^=*H3(@
MCCALL\2)<?"%3A>*NH=^F48"X!@%#H"&4K>*GC9.&" ')1 'UF  M!@V<Y ;
M<R '#9, 2P!Y1*9 US9;D_0!*R(?/8>(R3@:NS$0VV &2^16)91][$8-CN@%
MU"! 2^=22% !7FAFW$AOZ;>1)+B1"4".Y>A^:X9+CN  !F  ,#1_+5 "%5("
MCJ JE" '"6  QW=3E7=DU?]@ )?$A!<E:P.9%Z.4'LIB"",E0@LIC0WYD!)Y
MC6]@D=J8D1^WD> XE7ZP!:@ DN;H::I%-$M@" +G#HEC ', "PE@,ZF"""6P
M!)B0!Q_P=>#%9V1P,8TBD#_Y&,Q4+ WH7E0CA2=%,-E2C0)46AYPD4XG>%(Y
ME:4(CB:(E6=X> <F!VY('W9@ (G4 F!)BZJ2 &:0#?4Q!?FHC\HW6ZV6 )C0
M1I-2ER.R*/[@A*H$4(U&A5L3,X!Y>Q2)! 10 QZ0C5#9C8<YE220 X* #VH
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
M;&G?%(:9G-C2[.!V[MAF;=[6[-MJ#=R.^7O#O5![K.2P0IH;Y.4$_R$/X5
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
M@@& 8R?G* #2S/9#<"C (W>""Q-YPC0%]*-K"FC%"@YR%[*A125+*AP3=:
MNO&CBQKI6YBZ= (P;3$?YUB%3%22CP$4T1\JP.%,[M2+QN&I3O\(P0G.P2,F
MWN4?F5N=H1 5MP<MA8R$L^(6X3+#&;I.9MMXQ!AJAZHG4,,+2!A#*8H@ QD4
MP03 6T0&9."*%!@O!ZZPQAV"-:SK5: (%<C!:B91A!280!LI2$$<3(  $G0/
M 3(0PAV^90)3EJ\)<0"?"2:Q@0V\KSCQDY^[F'.=#?\X\#K8*0("AV"' 6Z#
M.A#$QP0/YL /V"$!D9C@ >R1!SE\P'].F((]V(,)#V(B :'0%R(HEH=\.6 0
M*V29$<@0!\(L"))$J6%>R : ?_BH ">A:-KD\8\,^6 ']:#:3W1PCE'DS6Q+
MX <?"K"+9@@)HEQ$ 4\.DL6>S"A*%#W)@_R1CV:<0P7\T(%,(A13H'PI3/\0
M8RL4Z0]H[&(>UAB%.;C6$SK*:9!U@LN*ZH*"I2Z%D)OJW$'X4,<( <I+])B!
M!HRXT$Y),C#;:,(B+LD8+[#*,I,YQ2D>\2MQN:(4&\B KC0AA%CE(#3#PH2Q
M-&&(ZF6@"46PU392$ 49;*#_"23(@Q $NZUG>2L;'B#!,N]PKB9<2YK .48U
MY5<_&,!A"IHHP13@ !T%&J)?_Z).$1)0S@7FBP4?@* CS D'.Y2@8!>SASL2
MT$$,AD(+(G0 (H9@C1(@8A!?(.B 4B&#&"H4K6],)%%DBA:R"4F\0AK 15&0
M1 6422D^^L%/-$(37PBI&>5P!H=6ZJ.6;O$?,-UB ,8[7@A9@QXP4@!(Z>%>
M[W9)J&'*G$O]08[R_F,7 Y 15!LW5<A9HQZC$)(Y=F$#-Q*2)UW]QXKR&Z$0
MU,(<Y(5&/;:;UIX YAK^X(8KGO#65:VJ!HNHP2E*@P11].8&0M@ 9C*PB%ZZ
M(C4W_R  :J+ F2@TN34(0 UF/' '$O2F?+:Y0VZ&@YK?] 9\K;G#:%/  M.V
MJWX"P(YV6' =[VP'%=C)!0L,< Q4\*<[_[,S"S# 'PP4D#\)<( <JD,Q \AA
M@RQH07@2X(1!</ #7Z!N=56FA1C*<+LUQ(L_)F2.EHK1!V(C-0KJ <AY\ ,
MR("1"^)F#@C%5"4:,!(]=+""$'SUO@K([Z;XJQ(?X+#48N-:TG9@ 3+!32]
M$4I>=M#%+?9)27ZL\)VB.J<]PF4%JB8'C#IQEZVJA,3!ME->*H<" /1"4"%X
M,8,BA(T9^\,$.%85J^S-JD7DF\>D? ,2"'"*R;R!  ,G0/\.<E#P')" !'X@
M@,(=_G"(&V=[VQMMQ8OC =.>ECGT0ZW^8( *D-L+%3WH <A1@8$>8$#E&(C$
MRC%P@)<?0.8S#T4+OA"*4-R\!21L 1F&L 1'?&&@U150"6*(UI\V=(O6H",T
M\N /'<Q-D"Y%R!&A=HY=B*D9S2BC2IYMIROJ^B?XS1M_7XI#)]9-)8),R+,#
MP"4O61%F=YJ! G[ ]B5 X 0[04:%ZN:/IDGU<4.-"X52(F)Q^VDF9+/!U*\(
MU#P(K=?M]E1@_@%OA'@ D_?F/!*0\(8:(*$&*3B%%P3^!@2<(@H,'W@.&'[P
MAA]<X0:'^,.!27&%%X?B%I=F%S+_7DTUP\LYJ*B7&HQ_?)(GG^0H9[[+70[S
M [ACY@>H^<ZKWX*=.P#2E/B")RK-0CA@OMUW<E X[F*->?2#).!0$I7"T8P9
M&-$:9EW"#C2%D%ADW1HD><C9YI&'?L"AC( :PMFUR2.J*'$B>5  <) 1)@H!
MCZB'>IB[J".'O0@JN7.B%:"0I5D3LJD%<'L0#8@+?L@1P=NC5 ,DN" )=A.U
M(R*Q%3"'9NBH-1E! &BD&UH:&Z*\OK \S,N&"F ,5M$Q>UL$SWL#)#Q")#P]
M@2,XUALX$H#"AJL]*KR]]\$]WI,FY/@]X+LF>"$^XRL^Y#.^DE.^E$LYYWNY
MF(,^F:LY_^K#OIVCM"^PN>[[/@Z@! XP@"7X%,IS$"(*AW!H$@4(AZ=9.WXX
MAW- !A+Q@1L!&G/X 7Y8@A4  '-P-7_H!W,XAQ_@@W0@@EW0@'DXG "P !\
MAQ7+(9:*D*PQ!QO@ W*0AR5(!P^K!3Y0@4OQ@4%J!A7 &QWH&:E*L/2"@(H8
M1A39@7,8 !_@@Q\XG G\AWD@G!99A</)H\&3AUA !GX( ;.(HYD(Q7-(!SX(
M@$+Q$XVHA:!H17&X$6L AQ.XP25 @5'8A9V0-1[T"3Z\!CO(@!RK 6K@O-#S
M/"7\O#<0!28\/8)K."F,0BJL/6!JR-W+PBS<0BYL%R\4/H\[OO_](4,S/,,T
M5,,UC+Z9:X$WA$,XE$,YO,,!^8 B<!U.^:F8^J+Q&@ BR,9.LX8=R)'Q"@"9
M"(?_^@&@08@9P$DAV06@H1/Q*H#XTIQ4] F%&*]\2 @+(##YNAP4*(?Q,@<4
MT8O*^2_Q@@8063'RZH>E@!H;6#%GH <Z<C$]@IP0"!*P+ "?^@=S%)(_RIH_
M48D0H*/Q(@=KL(&4$J]=$,MZY N%V@8[. 4B? (>NS> !,@E1,*!@TR"@SV$
M5,B%M+W<F[B&W$R(E*84*"TNU#B+_,)Z$<,Q5#Z40T,T?+Z/E#GI$TF2Q#Z3
M-,D!&00'\(=M( Q-RXNNZT'W<B*^N!/_K"$V-9F)%= !4Z.:N?NA?$C.3?&'
M>4C.A.@;X,290C&U$72O$$!.%# KC6B;>D"!GNI-IG2BZN2C\,P'-8FIO[,&
M(C"'>62B+=I.Z9P[],-.X'2I%0C/\?R))6C.[IR2P9P9?["#%$@5(K0WQ^PW
M@33()CQ("+7,RXRXAR2."NU,X_"]T)S(BH07C$2^C5R^CE0YD)P^=WC-D93-
MV>R^ 7$ A"*,A>JZWG3),*'.W_2NM+-1!'NBH5JV\W0PHFC/E@S.JI//+<J#
M'9@!H)D'"[B23NNTW_RI]Z)'H-*O*GW. 6U):[B!?>0\(PS(Q\P!R:3,")U"
M*DPXS4S3V\,]_RS$4.+0T VUIHX3/N*K4XQ$A?TIP^5;3>>#OM8\@!9PA]C$
M/D^@0TKC .IR D.X$P71+DY1D"RU4MY<'4@BSQKMT4CUKDOUB16PRIALQA>C
M44G-U.WR"W\H@C&@AG[TQ\94PL>$T#(E 31%4UF]S-O@I0Q8@PI8!UY=!RGX
MU5_MU0I8 UZ*'C,#S3CMPCF]R _%4SPUP^;KR)E;PU"@/IR[UI*<0SFDA% @
M ^SJ"TCE%/&;U.T255(]UWJDNOKS!9?X@1N<.E(U5W1ED,$H@FE0U1UCE59]
M3,A\4%AM/=F;0C3U@^W) >+PEF'-@BR0@EM0!DE@A4XH@(CM!(JE6/\B@ 9H
M(().D(1B, 8IR((U(-9T@=-DI1^.&TTP_- >4 ,SC(3D:SY'4#DR<((R* ,@
MN%DPR%F=S5D@J-DRD"[NDT-OS4W!D%?+NT >--IY75I*'55'6COS7!U+95JJ
MO3Q0*5 O4,Q\^\<%74("\-=_A4):-=-:0MAUX -EN!% !$2!F MHJ%A68 4B
M( )DJ%MD>(9Q( 9O& =D& =)$(=U$%D$(-F2E=,.=0Y[^5 R'#GEBP1'F-F:
M!0-2T(<8J-Q?^(4.Z  FV-S,[=P."(+,!84V  ,@  1$\ 1'D &B'0P8H]JI
M)5)R'=(8G2$9U53>I#IW,UJEK=JTLH93N('_::@!4?C'-U@$!FU0KVT])R0
M/VA>/ZBE.SB%7%V'+% &5@@'= @'85S;MFW;B87;N)U;NKU;O/T!\_T!<O@!
M22"'99""-?@ -"M<93W<YC Y/-V?D(L$.?!9,  &?< " (Z&RAW@&(@&)OB%
MS4U@S_7<( @""FB'>,C9(H#1G]A->[S2Y1R_)FK:P32;'>1=!*-'^912 IW2
M\8-==&U4O]F%0!B&+/C=X$4"/Q %/^!7"'7>YRW;#$C8+.@#8J (=$ '"'B2
M[5W;BNA>B:W83@C?N;7;NR4&\TU?<ICB]9UB')B GF6!,)#?-*O(.OTX/.48
MFR5=/; $+'@'+(@!_RRPA%](8P*NW 1F LU=8 9NX 9^X#I J&R 40M.$/F<
ML=BM5$#9@0].6@&[P=W-U$>J.J8XB!6P ,'LE-J51'JP  #X$*0#84]1D,%P
M$S<YAT#H Y!=@PSXW2@8@VG( 52.@ALXA6495E^]!58X 6DX 7#HAF (AE'8
MY5TN8K8]XNY5XD[(6/&]V[X]WRA&WRDFAP"0!&4@A0F(Y@E@@S)P@&1]EXT;
M31@08S#0@PC@ 7 .9S,&8')V8P*.8P668P;^7#N^8PJ0A2(P@ST^B#Y>.A2@
MJ5:@*3[X&4=*9'](1$%:M@L,*Y?$D0HK5]V54JBC*0"(/YAQ$'+873O"B_]"
M^4NJRF0LU613Y89F\.1SR$1$W+I=.(%@@ "7$(AP" 1T.(%=*(=RB 5G6(43
MF&E;!@=PX&4(R&E?9ELD%F:,)6:['0=DCN)EGN( "(!A8 -I7FHV8 ,@@(0R
M< *IKK-<J&JKKFJIIEF;!09@L 0>>(=WX(%O!F<S+NMR!N WAF-TIN/,;>=V
MIH!WWH9LV.._"!6MU$NN[# =$&%)!F@CM5U,E=0RPI'V0UHN>=K:O4"CC$F[
MB!0%B&C=]:]\8,JF<@&0 %4H#6'9!=*EO8LFR420WKJM2QO2W@73-NU8*(=5
M<(:8INF:OF6<UFDCYNE@5N*?;F*['6IE+NJC#H#_*UYJX&;JIN9JXBYN2V"#
M"(B =TANY@YG<09G<AYGM#9GM8YCMF9GMX9KN&X#HL4+&7/4+9*'4O,O/BBU
MISL(4ZU1(]4(O_[K?L;=2\WL48BP*LW@][Y1#EZZ9:,37Q ;>B"<9IALB*:Z
MJ-4(<E  @V"B%0B+LWI.A=8O]PYA,GK==GN=GV@J1 SIT2;MM#EMTY8&:7!I
MUI;IF;;I;NB&V)9M(^[I)*Y8C,5M9-A;W2YJ9B:'3U $:0AN'>>""> "'_]Q
M(&=N(1=KYRYR+."!LT;KM$9G=5Y@T'5K!W9@N+Z C! ,VH6+N_@JL-N<=[0
M/N@'B+!.#8@*>AC!@S@'_R*PAGR("A10G9'2, "P@-/QB268@9#H"KP@;$<:
M<SZ@!^5<NCRP<SG?G.ET/"R?3N_*'#M:@OCRA9N*$J98@7Z("I%@-_?RKZ=9
M$PU3@%[8'(U8 7K@ T1VKX0(<[-!B+L8<PO@FLKA!TO&Y$RU\&LH@ P_!]%N
MA@' ]0[W\!"GKY@F\9H^\13/Z15'XA9W<6(>WV-&9AJO\:.6!*76<6GF<2"O
M=B&_]K$F<N<^\B1/8^JN[G2F8RC7;G*'@BK@Y+RH9_W2\N?4 0X3KP% @;73
M ,(!2[N[BW.  )+H2M59 @5 !L(1KT[ BWY +R$)APF$B_ENOR4(-O$R!Q7P
M(?\=X!#Q@I$#^Z)PZ#0ZRB'>W*H[\1$+'/"$((+_&@ YR;N2]Y&]O M?L/<?
M83<=LKMZH) A,9038)P.LP!^H/@"*[<LE?42J_5;YW /WX582.T1!W9;1G%>
M%F)B+_9@/O9A%E]E1X:AIO$ 8.:C_H1GD/9HIG:PMW8?Q_;DUG8C1_*S5N,E
M7^LF;VOLMF-RUVX:$"2961!UWQ0M9Z)Y(), Z(=^( <]82+_:D=TT]@[@9%F
ML($9H(<<::D[(2\5F($00?"#F!"[FP%^(!P(4?CR.@@Q.@$+0 $5R"FP6P'"
MZ02R4@$..;!_>)MY_(<-/(>ET@O$$S P<FP+O!, <('_'4 !?E@11%%SPJ$'
M4@L!"W@0L3&( #R'\K:  3 '+5KP7&^1<)@!0SF<=+CGCFZ&$R K<R0"U1G0
MUS%5%<APT>;P 2CZEZ:O55!ZF[[I70YBG?9E8Y?Z809J)[YZK._M3P (99 F
M$"QHD,L$+@H7,HS@\.%#'A%X4*QHB8<E+!HW8HG1,09(D$Q&DNS I -*E$$Z
M!&GID@+,F!1>P+OF[Q\V;/_^7=OI\R?0GGP4[/CGSQH !?2L'5TB3L$,?RC,
M@5MA].82?_[.00C!]-\.!0%N6E- +H16?T,M[*1G=LG.)1 4U+L)88 \?RO
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
MI>!.0M-4JG*5K>R@"++1KIQ8]U0Y^:P\4*!7/ZW  N,H !'X4 \UK@  R"@
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
M*. 4:@I>27(CLKYHC/)IM$XLQ<:F#FPATV$K;PHI?W2K/UQ@!8:LR%X@IFE
M0<9AN4:I#:2#,>S#V&W2E7J21J 4"% D5FZ(&%1!(4"?SJ+$EHUEE(E!.ZQG
M#S*LPQ[K JPF<_AIQ3:MTV(BQ%D#.33@[>58MC*2?O@/MT8M/[1"*WP#(6 .
MYE@ V5I /,D#@YJK#:SLVD("S-:;!$D0%B2!%<!#3'TF$]Q=WN'=EKD$%%#D
MT%+ L!:M>QZKX3+ !<2!&:SDTS:NXWJ6<VC%#/2E7_[HH@9HL?@8/QR%-<B5
MD:;_&X'4@LBT51RB;,HZZ-JN;3JX@-M*B&1VDMQV!!;H Q8D%\!Y"&C&0!O0
M01N 9$MT0!L$[D@6[N%"(IY:@[,^KO(N+TO"3 &LEH_.(X V*G_TQ^8:!3^D
M0SJLK MTKPOT OCV0C^>;>DV)Z>F;NJZ  Y(Q/(Y9.QR2W(=04OUFWB.91%<
MP.#4 >]V !U80?"*Y.#6J<(5K_&.0!78!-,RKP(O,.GIA 5 %"(E$F!N+,<B
M@X_]P/5Z3 B$P IL< =S\ :'L RAK3C$H;GZ OIN;R]< 95:"]S*+$=XQ$?\
M0@C  S12)+CHVP6D1!N @/_20#4*KS86*P$;KPA\!>(I_T<",S 3-ZU6S ,R
M)*KT4K LKLWF=DK5&:87 8D\F*_:HN_:NH QD,([K.L#P7 ,AT1R*8$(B$ A
MT( IC:4_7$ EJ,3?6L$1N*K@*FQJ%C&R$NSB(MX2-S$A*Z]:1+ J7NW^5'"!
M^D<&KX .H$ ]3+(D3[(E)YN;C R4GBX8J^[J)@,IX&&]H3$IQ< O_((2-!\4
MU#$3U'$B6,,.^UT'N&DAF($;[/%I)AP1'^X"&.\"T$ VB!"?)F\A%_/C;D:O
M6*[^,&K6:NW:],-Q6," @.#)^H#G=?$7I^[V<F_WIH$94P0IQW"WK+$,Y,$1
MR&]*),(_T'%+),(YVT(1X. +#/_NPA)O\?9RTK(F<UB=Q&&7,?\SM-KDCRIR
M)P@F(Z\-V_##5?#!UN7B<M:"DF)SN8*Q]F[OZFY".MQ#S+ZOA@!.-&#!.8<T
M#9Q$$.CP[U[ .>/Q$;0!>PKPT1+P OPR)<KHF?DS0-_T?6)<'F">QKY6;&'4
MCRDIA<U /Q2U41LU4<_ #%C%9C@HE%+TZJYN]VZ""UR!)>1A./]-3(D$P$5#
M)7SU2*"H.E_ T#Y7+G.0 +-E$<=T(U1!Y-)TCN*T7$<K /0TULIB(W^NLK@
MIFFQ7R/'#*1L"FNO]WZO"_#"/NB!^X8S!2U7280F6(K !>BP.PMKB01!.[!G
M'_MQ3,?_- V8 3<,\ER/=J#J!3E,,!6GS04;:+* VE7<Y5_+T#SPP?EJ<V%W
M;R]0M2Z$,CAS],T&#L$!KQ70@@@L 3S8@A6X00!KMM'ZL2\GJQ+DQ! R'FE7
M=[3Z SV 86H;RR/1E@W,0!3"BPL=Q0ID0FVK[FWC-E6GP]OUMM_\-H>,J,^Z
MP1&X=1Z P"VK*(NBB'/'],.J"T^0T# 3LW47^&QF6@ L*C,W<U[K-9+Z  #P
M0S\0]81/N%)?N%+3 VVCKC83=F&'+_B^@C=+Y7LW=GSS7=^B1!M8@378P@@(
M\5FSJ%KS\L/&] 54@9@%N,06H8'W.'WZ@P[HV(*G38.#;NA.__-BGJQC3G0G
M2_6'A^\KO (DQ*W?8!ES_2R7 >\1*/=RU[,]\[)_=S8(0%Q* J1H^SB:K^-1
M6(!/\P]0_QB0J=O)>O%3H_!@.[GW@GAN4T%&<+2)<S6*^VY+S"DN,W=SPS2R
M=O8OFX$9O/69ISFDJ^/&S8,/+/)%52^<Q_E NB%C;JK*WCF>?R_X;@(_ZD*?
ME[)C\]TUWM1RZW([*-Q+(VVB)_H"C,"8\VF+1;JNU^>B$$%LR5:F(RDUD^OI
M<GA%>_AMCSJIJP O)(,+EG)'*-=(,-<UFC5,#*N7?[FLASFR-AR0$/BNASM-
M\HQ%O?EL:3J29RH</BGJ&KL+'#N>@__X)KQ"/PK#)E1E&F-9H*?XP04P*\GX
M6M-Z9P=ACNOX@(L[PH]['O1",Y=A=]-6W&RZNCNI8WYZ"GMOO.<C^/8CQ_/"
M/<BM1P0<AWC(5X;F#KX$T>HR?QLKHJN"HM=Z%<2G@"<QN">\S6.B/-1"&3:X
M@R/I- \DDS*F4Z/P^6YO]W(OJ4_U)H0OQZO *VS"/6@U2(C\9W9 5_HLUG/9
MX;!Z#W[9L;[ (1S"6N-S9S>"%3#'=%,<==\\VW<B6:  II\[@ 3 =^>#!N C
MDL^Y'+H  %@ AU_\AP,  "R]J"][/T:Y"ES!+VSUU,.#%8A );A!*/5=&XB!
ML!9Z3&0V^97_I"HT'"8P@-@;[W,KNKJ8@5'8=-NG/M3&#,^WC0_( QS5V@[
MS2XNZ))'W:W9@)VG;B^$<?>J0*>%K^$W?3Y2 >U64/P:0A7002)((TK4 ?2C
M!#72 /37 4S40<(>@BQD=M@? HJHPB& ?\/% >&%OL K>C3Z0R7VJ>JW_SAB
MG#^XP,,/B+)$73W$C0KX_9QM1BL A*\02^19F^=BA3]K2P  "+&0GPL-2R:&
M -#/7T8=*CAV]*A"EYX8(TDR8?+KR))"5A)5@=?!C15:F$2 *N3/$ @K=D9<
MX';D!0A;/6UA4@)%%0U:5@I=L&*FT1%,%Q947<# ZH(+9N+X^_<5_UO8L%_)
MEC5[%FU:M6O9MG7[%FY<N7/IUK5[EZZU%2I^]"7W%W"  /S^ :@5H%8M%-9F
M[%BR0MQ >AK\[7 \#X %@_3FY0&@P1H*C!HLK%A"ST*OCQQ;<<R4I&2,7R:C
M';$%3XD5EVV$0A%AS?<V$8EH+*$A(L_0.$<N5 $!1?<%&C*8-])]I J-JEBS
M:K7E[QJVLF+%7S-O'F]Z]>O9MW?_'K[=C/[D^?(+F)S@ /2L[2"7V(<5\K!
MG#R6\"&//,3!B!\ *$H' ']"D.>ASQA2@3X7Y%EBM8Y:^5"%3-+ 8B0F8C#)
MI"-"2.2(0I: )Y%"<@.A"'C@*8*&=AJAY?\(*T18XH@BH)A.A!=HP)&&.*!@
M@ $KBJBBD$864*6[!1JQQ0PS,@(++/'^.0^]^,0<D\PRS3S3+FODP>\O_0)H
MY9\5 / %A1WRZ8^/)4(0Z$ & 3 H'0O^D2>U'?@ #0 7!NUE(@LZ5.'#2.^)
MYL03463B""7<2,0.;. 9P18MW(A'C$1NA.>0()BJ(A$0JMBFD0LPL<*-(V08
MT@RDFJ3IIRJKLB*;\*[Q1YLON?SR/#2579;99IV53X=: G.S%GH>THN>=%:P
M!EL?!EK0&GY4 (VA&:ZU:"( >E&S%WZ6\*>>#B/]\)Y*9K/4I#HR=:.#4X.@
M X0\9)@"BA%H!*'_$2CR .$0$>( H1U51% BCBI$:&0Z**;4317LJ,HJ*FW"
M ^\?KZXQ*]EG55Z9Y9;?\XHLA78(H$W!$DLL$PL 4,$''UK1F1!Q?&G(%SX
MX*/HAC9Q0>?,7&BH%1?HV=GHJ>7],)-,J-#GTDLW9:>#-A)IHX,@VK@@D1':
M:6=3M66Y0.U81WCA!09ZND 5!F)MA,F>K(2[.^RVP08\\X)%.667%5^<\<;5
M@ID?-Q%++(">+?=!:!N$]H5S&WRQP89T1'>!]%Y,W\1T%51+G375/6QM7CZH
MP,/$2SNXO8[;@P"%][*#:">(("B(N!T*7BB>;E7H9I)Y!O+&BLGNN*M*_ZIM
MPO/RJS!-3MSQ[KW_'DV82_9J!E_TN[F6RRT7A_W-.>\<]'1<&)WT^DUW81./
M6M-_WDSXX$,7M$-1!YAP.P/ZSG?"HX "*=# %QB/;A%<7O,H>!5?->(W12 +
MX398'C"%"7PA%.$(V[.E)<P ?0!27_O8][[/?0YTH:O?#$O'$=4\"E+S^L8E
M,D$( 0[P@ @,WA 7V$ '2A")3*H;!:-GP>DM0 1:*HOX_C&6#YZ,A%G4XA;?
M,I^OY,,'*E0?YEKH0AB&CGXT= 'K'K6_>7V(#UF[1!(*"$0#!B&!P2NB$1T(
MP20RL7F^LM(1K*'!F)G%BMSCXB(9R47Q920??/](WPK9ASGXQ3"&\E/C&GNQ
M"4]>+8>Q(T36"$''VQ7P@'@D(@,;B#SC^3&"@*Q@E49@!6Q@\9!IP64C>=E+
M1VJ@%V-L81DQF4E-TO!TG]0?:]X(1SZ,\D-I"&(J5\G'X1T1B1,$I!-I"0(S
M6(.*OA3G.!<9SG\PY')E=&$Q17=,^YVNC<V,W3/Y< D^I &501RB'JUIQ =F
MDP%+E*4@+Z"$+)6LBK<,$_;(V5"'@F\)*! 'YL@(PS/&+XTS--T-Y17*2&7"
MF82(XSVGJ<I]]K./V=0F$[F9%1$4P@SA^8H_L+?+A]X4IRH+IT)TX )U%M.8
M[GPG#E^'M:S][W\B_9__-*FY3U;R4:7+$V@@H=<=#!YT6#/-Z5:YRKB,8,9]
M%T5C1M_)41Q^]*A(]=__+,#4LN51>$]]I4H#.M G6N4"(,!&-K!AAK6 J:N!
M%:R9_'%"%W3NC.W<Y$;-&D^CKA6I2+U$&D"A.Z?&M9]1K>M4F==2*SE,/-9+
MI$V11=K!GA:U<ME2S*RA PN #H:*1>9&B<I,M*8ULFR59O#@*M=_TI6S@;1@
M548@%6N<C&1A*1Q:3)M:YS[W<3&;SPG3@5&A<K*Q5^M?UG";5*2F88APS2PL
M)2C+SF8E*87(QC^XP5"&0A>^\;U+1JRA 7KT@JS8K:U''\O=W/[O$FTU*1''
M_QO5X';VB1<X0I:VL:6QG*6Y\I7PA \YW7JTXKJ,S6Y1Y_G?R-J3#TFX+$I_
M"] #<X<[&%1"6+*:/5U&F,(QANZ6:+R$>,E/!:6C[5DC)5)"_-C#DK7 ')V*
M4O+&\L1/E!C%KK'>*F;/M(J4\92?ZT6$(G0%.[  ZCJI F5JMQ5*?::8@PS
M-A39FB7^HWFQ@C%O:NEP9WEO:6%,93MSU9Q;LD8(^L$'+]=V7F0N<V0M0(4S
M$QBJ1XZE73%FBSB<AV1D,0]Y$ ?".U\:OEZ9;C[4E3_'#KK,A0:>;Q5=-U,_
MCX(JSI)?<;E:3+\:UM)=B [X88']\:\5:X4LJ -L@?][\#.SFCUPK%YJ!KX2
M;I>NCO6R[0RS^?AC!2@  $AMR]U=@]H"?+" &.0Z5Q,K,7JJ& $-= ,>#HJ%
MV>F^,P?/ IZ,7",$]=@9I"+;75";.<US)6] 54&E@([;"IB(0Q&0*SY+JQOA
MF!Z6L_52IZ.UXG_^#;4%ADP%6>PQI0#E=ZS(78@X_,,.VS-GPDE.95RV>*;T
MS8,\4(":D5X"YB#.MK8I/N1[I#F"L QH(\9MFX''P1H*-?BDYXS(HI<<Z?'5
MM)[FD0\4-,C6VO[O#L70CG]Z^Q"'X+@(K ""$!#\&@U^=Y-)6^>DGUW"<YX/
MM[RR9PW4 P4SZ$<_++,#>D"MX0)YA\*0: "/'BF!&_XH M#-H-#KF9O%9D?[
MXN5[=+-X<>WSN:4_[!!R?W #$X4L0C9H6OB"+U?915<\XTD?V ?#Y=D)#4\V
MP$[P;+Q^6 L5SVJ5/?+1EQ[WJ+W]EPQ/YXR<OH-RV7WNB4_A@T\1<2_>);I+
M6WSGYQ3X;V&^I+$X\F=?__IT1@^E =NEZ#\?_%K\?IVG#V7DH@7[Z=\>8+F?
-.$J''_[QEW_\ P( .P$!

end
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>16
<FILENAME>R38.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.20.1</span><table class="report" border="0" cellspacing="2" id="idp6912109312">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Note 9 - Intangible Assets (Tables)<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Jan. 31, 2020</div></th></tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_TableTextBlock', window );"><strong>Notes Tables</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock', window );">Schedule of Finite-Lived Intangible Assets [Table Text Block]</a></td>
<td class="text"><div style="display: inline; font-family: times new roman; font-size: 10pt"><table cellpadding="0" cellspacing="0" style="border-collapse: collapse; font: 10pt Times New Roman, Times, Serif; min-; min-width: 700px;"> <tr style="vertical-align: bottom; background-color: White"> <td style="text-align: right">&nbsp;</td> <td style="font-weight: bold">&nbsp;</td> <td style="border-top: Black 1pt solid; font-weight: bold; text-align: left">&nbsp;</td> <td style="border-top: Black 1pt solid; font-weight: bold; text-align: right"><div style="display: inline; font-family: Times New Roman, Times, Serif; font-size: 10pt"><div style="display: inline; font-weight: bold;">January 31,</div></div></td> <td style="border-top: Black 1pt solid; white-space: nowrap; font-weight: bold; text-align: left">&nbsp;</td> <td style="border-top: Black 1pt solid">&nbsp;</td> <td style="border-top: Black 1pt solid; text-align: left">&nbsp;</td> <td style="border-top: Black 1pt solid; text-align: right"><div style="display: inline; font-family: Times New Roman, Times, Serif; font-size: 10pt">January 31,</div></td> <td style="border-top: Black 1pt solid; white-space: nowrap; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: White"> <td style="text-align: right; padding-bottom: 1pt">&nbsp;</td> <td style="font-weight: bold">&nbsp;</td> <td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: right">2020</td> <td style="white-space: nowrap; border-bottom: Black 1pt solid; font-weight: bold; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid">&nbsp;</td> <td style="border-bottom: Black 1pt solid; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid; text-align: right">2019</td> <td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td>Cost</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right">&nbsp;</td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right">&nbsp;</td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: White"> <td style="width: 68%; text-align: left; padding-left: 12pt">Customer agreements and relationships</td> <td style="width: 2%; font-weight: bold">&nbsp;</td> <td style="width: 1%; font-weight: bold; text-align: left">&nbsp;</td> <td style="width: 12%; font-weight: bold; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">226,514</div></td> <td style="white-space: nowrap; width: 1%; font-weight: bold; text-align: left">&nbsp;</td> <td style="width: 2%">&nbsp;</td> <td style="width: 1%; text-align: left">&nbsp;</td> <td style="width: 12%; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">177,224</div></td> <td style="white-space: nowrap; width: 1%; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="text-align: left; padding-left: 12pt">Existing technology</td> <td style="font-weight: bold">&nbsp;</td> <td style="font-weight: bold; text-align: left">&nbsp;</td> <td style="font-weight: bold; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">262,614</div></td> <td style="white-space: nowrap; font-weight: bold; text-align: left">&nbsp;</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">184,641</div></td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: White"> <td style="text-align: left; padding-left: 12pt">Trade names</td> <td style="font-weight: bold">&nbsp;</td> <td style="font-weight: bold; text-align: left">&nbsp;</td> <td style="font-weight: bold; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">8,582</div></td> <td style="white-space: nowrap; font-weight: bold; text-align: left">&nbsp;</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">7,754</div></td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="text-align: left; padding-bottom: 1pt; padding-left: 12pt">Non-compete covenants</td> <td style="font-weight: bold">&nbsp;</td> <td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">9,985</div></td> <td style="white-space: nowrap; border-bottom: Black 1pt solid; font-weight: bold; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid">&nbsp;</td> <td style="border-bottom: Black 1pt solid; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">6,173</div></td> <td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: White"> <td>&nbsp;</td> <td style="font-weight: bold">&nbsp;</td> <td style="font-weight: bold; text-align: left">&nbsp;</td> <td style="font-weight: bold; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">507,695</div></td> <td style="white-space: nowrap; font-weight: bold; text-align: left">&nbsp;</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">375,792</div></td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="text-align: left">Accumulated amortization</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right">&nbsp;</td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right">&nbsp;</td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: White"> <td style="text-align: left; padding-left: 12pt">Customer agreements and relationships</td> <td style="font-weight: bold">&nbsp;</td> <td style="font-weight: bold; text-align: left">&nbsp;</td> <td style="font-weight: bold; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">98,241</div></td> <td style="white-space: nowrap; font-weight: bold; text-align: left">&nbsp;</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">82,028</div></td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="text-align: left; padding-left: 12pt">Existing technology</td> <td style="font-weight: bold">&nbsp;</td> <td style="font-weight: bold; text-align: left">&nbsp;</td> <td style="font-weight: bold; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">142,757</div></td> <td style="white-space: nowrap; font-weight: bold; text-align: left">&nbsp;</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">110,051</div></td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: White"> <td style="text-align: left; padding-left: 12pt">Trade names</td> <td style="font-weight: bold">&nbsp;</td> <td style="font-weight: bold; text-align: left">&nbsp;</td> <td style="font-weight: bold; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">5,124</div></td> <td style="white-space: nowrap; font-weight: bold; text-align: left">&nbsp;</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">4,456</div></td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="text-align: left; padding-bottom: 1pt; padding-left: 12pt">Non-compete covenants</td> <td style="font-weight: bold">&nbsp;</td> <td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">4,617</div></td> <td style="white-space: nowrap; border-bottom: Black 1pt solid; font-weight: bold; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid">&nbsp;</td> <td style="border-bottom: Black 1pt solid; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">3,065</div></td> <td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: White"> <td style="padding-bottom: 1pt">&nbsp;</td> <td style="font-weight: bold">&nbsp;</td> <td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">250,739</div></td> <td style="white-space: nowrap; border-bottom: Black 1pt solid; font-weight: bold; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid">&nbsp;</td> <td style="border-bottom: Black 1pt solid; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">199,600</div></td> <td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="padding-bottom: 1pt">Net</td> <td style="font-weight: bold">&nbsp;</td> <td style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">256,956</div></td> <td style="border-bottom: Black 1.5pt solid; white-space: nowrap; font-weight: bold; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1.5pt solid">&nbsp;</td> <td style="border-bottom: Black 1.5pt solid; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1.5pt solid; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">176,192</div></td> <td style="border-bottom: Black 1.5pt solid; white-space: nowrap; text-align: left">&nbsp;</td> </tr> </table></div><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of assets, excluding financial assets and goodwill, lacking physical substance with a finite life, by either major class or business segment.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 30<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=66006027&amp;loc=d3e16323-109275<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 30<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=66006027&amp;loc=d3e16265-109275<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>nonnum:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_TableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_TableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>17
<FILENAME>R34.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.20.1</span><table class="report" border="0" cellspacing="2" id="idp6902054992">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Note 4 - Fair Value Measurements (Tables)<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Jan. 31, 2020</div></th></tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_TableTextBlock', window );"><strong>Notes Tables</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ScheduleOfDerivativeAssetsAtFairValueTableTextBlock', window );">Schedule of Derivative Assets at Fair Value [Table Text Block]</a></td>
<td class="text"><div style="display: inline; font-family: times new roman; font-size: 10pt"><table cellpadding="0" cellspacing="0" style="border-collapse: collapse; font: 10pt Times New Roman, Times, Serif; min-; min-width: 700px;"> <tr style="vertical-align: bottom; background-color: White"> <td style="padding-bottom: 1pt">&nbsp;</td> <td style="font-weight: bold">&nbsp;</td> <td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; font-weight: bold; text-align: left">&nbsp;</td> <td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; font-weight: bold; text-align: right"><div style="display: inline; font-family: Times New Roman, Times, Serif; font-size: 10pt"><div style="display: inline; font-weight: bold;">Fair Value of Derivatives Designated as Hedge Instruments</div></div></td> <td style="border-top: Black 1pt solid; white-space: nowrap; border-bottom: Black 1pt solid; font-weight: bold; text-align: left">&nbsp;</td> <td style="border-top: Black 1pt solid; font-weight: bold; border-bottom: Black 1pt solid">&nbsp;</td> <td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; font-weight: bold; text-align: left">&nbsp;</td> <td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; font-weight: bold; text-align: right"><div style="display: inline; font-family: Times New Roman, Times, Serif; font-size: 10pt"><div style="display: inline; font-weight: bold;">Fair Value of Derivatives Not Designated As Hedge Instruments</div></div></td> <td style="border-top: Black 1pt solid; white-space: nowrap; border-bottom: Black 1pt solid; font-weight: bold; text-align: left">&nbsp;</td> <td style="border-top: Black 1pt solid; font-weight: bold; border-bottom: Black 1pt solid">&nbsp;</td> <td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; font-weight: bold; text-align: left">&nbsp;</td> <td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; font-weight: bold; text-align: right"><div style="display: inline; font-family: Times New Roman, Times, Serif; font-size: 10pt"><div style="display: inline; font-weight: bold;">Fair Value</div></div></td> <td style="border-top: Black 1pt solid; white-space: nowrap; border-bottom: Black 1pt solid; font-weight: bold; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="text-align: left">Derivative assets:</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right">&nbsp;</td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right">&nbsp;</td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right">&nbsp;</td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: White"> <td style="width: 55%; text-align: left; padding-bottom: 1pt">Equity contracts</td> <td style="width: 2%; font-weight: bold">&nbsp;</td> <td style="border-bottom: Black 1.5pt solid; width: 1%; font-weight: bold; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1.5pt solid; width: 11%; font-weight: bold; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">&#x2013;</div></td> <td style="border-bottom: Black 1.5pt solid; white-space: nowrap; width: 1%; font-weight: bold; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1.5pt solid; width: 2%; font-weight: bold">&nbsp;</td> <td style="border-bottom: Black 1.5pt solid; width: 1%; font-weight: bold; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1.5pt solid; width: 11%; font-weight: bold; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">5,656</div></td> <td style="border-bottom: Black 1.5pt solid; white-space: nowrap; width: 1%; font-weight: bold; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1.5pt solid; width: 2%; font-weight: bold">&nbsp;</td> <td style="border-bottom: Black 1.5pt solid; width: 1%; font-weight: bold; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1.5pt solid; width: 11%; font-weight: bold; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">5,656</div></td> <td style="border-bottom: Black 1.5pt solid; white-space: nowrap; width: 1%; font-weight: bold; text-align: left">&nbsp;</td> </tr> </table></div><div style="display: inline; font-family: times new roman; font-size: 10pt"><table cellpadding="0" cellspacing="0" style="border-collapse: collapse; font: 10pt Times New Roman, Times, Serif; min-; min-width: 700px;"> <tr style="vertical-align: bottom; background-color: White"> <td style="padding-bottom: 1pt">&nbsp;</td> <td style="font-weight: bold">&nbsp;</td> <td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; font-weight: bold; text-align: left">&nbsp;</td> <td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; font-weight: bold; text-align: right"><div style="display: inline; font-family: Times New Roman, Times, Serif; font-size: 10pt"><div style="display: inline; font-weight: bold;">Fair Value of Derivatives Designated as Hedge Instruments</div></div></td> <td style="border-top: Black 1pt solid; white-space: nowrap; border-bottom: Black 1pt solid; font-weight: bold; text-align: left">&nbsp;</td> <td style="border-top: Black 1pt solid; font-weight: bold; border-bottom: Black 1pt solid">&nbsp;</td> <td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; font-weight: bold; text-align: left">&nbsp;</td> <td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; font-weight: bold; text-align: right"><div style="display: inline; font-family: Times New Roman, Times, Serif; font-size: 10pt"><div style="display: inline; font-weight: bold;">Fair Value of Derivatives Not Designated As Hedge Instruments</div></div></td> <td style="border-top: Black 1pt solid; white-space: nowrap; border-bottom: Black 1pt solid; font-weight: bold; text-align: left">&nbsp;</td> <td style="border-top: Black 1pt solid; font-weight: bold; border-bottom: Black 1pt solid">&nbsp;</td> <td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; font-weight: bold; text-align: left">&nbsp;</td> <td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; font-weight: bold; text-align: right"><div style="display: inline; font-family: Times New Roman, Times, Serif; font-size: 10pt"><div style="display: inline; font-weight: bold;">Fair Value</div></div></td> <td style="border-top: Black 1pt solid; white-space: nowrap; border-bottom: Black 1pt solid; font-weight: bold; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="text-align: left">Derivative assets:</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right">&nbsp;</td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right">&nbsp;</td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right">&nbsp;</td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: White"> <td style="width: 55%; text-align: left; padding-bottom: 1pt">Equity contracts</td> <td style="width: 2%; font-weight: bold">&nbsp;</td> <td style="border-bottom: Black 1.5pt solid; width: 1%; font-weight: bold; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1.5pt solid; width: 11%; font-weight: bold; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">&#x2013;</div></td> <td style="border-bottom: Black 1.5pt solid; white-space: nowrap; width: 1%; font-weight: bold; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1.5pt solid; width: 2%">&nbsp;</td> <td style="border-bottom: Black 1.5pt solid; width: 1%; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1.5pt solid; width: 11%; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">2,794</div></td> <td style="border-bottom: Black 1.5pt solid; white-space: nowrap; width: 1%; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1.5pt solid; width: 2%">&nbsp;</td> <td style="border-bottom: Black 1.5pt solid; width: 1%; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1.5pt solid; width: 11%; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">2,794</div></td> <td style="border-bottom: Black 1.5pt solid; white-space: nowrap; width: 1%; text-align: left">&nbsp;</td> </tr> </table></div><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ScheduleOfDerivativeAssetsAtFairValueTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of derivative assets at fair value.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ScheduleOfDerivativeAssetsAtFairValueTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>nonnum:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_TableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_TableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>18
<FILENAME>R30.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.20.1</span><table class="report" border="0" cellspacing="2" id="idp6891872480">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Note 22 - Segmented Information<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Jan. 31, 2020</div></th></tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DisclosureTextBlockAbstract', window );"><strong>Notes to Financial Statements</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_SegmentReportingDisclosureTextBlock', window );">Segment Reporting Disclosure [Text Block]</a></td>
<td class="text"><div style="display: inline; font-family: times new roman; font-size: 10pt"><div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"><div style="display: inline; font-weight: bold;">Note <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">22</div> - Segmented Information</div></div> <div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0">&nbsp;</div> <div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">We review our operating results, assess our performance, make decisions about resources, and generate discrete financial information at the single enterprise level. Accordingly, we have determined that we operate in <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">one</div> reportable business segment providing logistics technology solutions. The following tables provide our disaggregated revenue information by geographic location of customer and revenue type:</div> <div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&nbsp;</div> <div> <table cellpadding="0" cellspacing="0" style="border-collapse: collapse; font: 10pt Times New Roman, Times, Serif; min-width: 700px;">  <tr style="vertical-align: bottom; background-color: White"> <td style="font-style: italic">Year Ended</td> <td style="font-weight: bold">&nbsp;</td> <td style="border-top: Black 1pt solid; font-weight: bold; text-align: left">&nbsp;</td> <td style="border-top: Black 1pt solid; font-weight: bold; text-align: right"><div style="display: inline; font-family: Times New Roman, Times, Serif; font-size: 10pt"><div style="display: inline; font-weight: bold;">January 31,</div></div></td> <td style="border-top: Black 1pt solid; white-space: nowrap; font-weight: bold; text-align: left">&nbsp;</td> <td style="border-top: Black 1pt solid">&nbsp;</td> <td style="border-top: Black 1pt solid; text-align: left">&nbsp;</td> <td style="border-top: Black 1pt solid; text-align: right"><div style="display: inline; font-family: Times New Roman, Times, Serif; font-size: 10pt">January 31,</div></td> <td style="border-top: Black 1pt solid; white-space: nowrap; text-align: left">&nbsp;</td> <td style="border-top: Black 1pt solid">&nbsp;</td> <td style="border-top: Black 1pt solid; text-align: left">&nbsp;</td> <td style="border-top: Black 1pt solid; text-align: right"><div style="display: inline; font-family: Times New Roman, Times, Serif; font-size: 10pt">January 31,</div></td> <td style="border-top: Black 1pt solid; white-space: nowrap; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: White"> <td style="padding-bottom: 1pt">&nbsp;</td> <td style="font-weight: bold">&nbsp;</td> <td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: right">2020</td> <td style="white-space: nowrap; border-bottom: Black 1pt solid; font-weight: bold; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid">&nbsp;</td> <td style="border-bottom: Black 1pt solid; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid; text-align: right">2019</td> <td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid">&nbsp;</td> <td style="border-bottom: Black 1pt solid; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid; text-align: right">2018</td> <td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td>Revenues</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right">&nbsp;</td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right">&nbsp;</td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right">&nbsp;</td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: White"> <td style="width: 55%; text-align: left; padding-left: 12pt">United States</td> <td style="width: 2%; font-weight: bold">&nbsp;</td> <td style="width: 1%; font-weight: bold; text-align: left">&nbsp;</td> <td style="width: 11%; font-weight: bold; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">202,814</div></td> <td style="white-space: nowrap; width: 1%; font-weight: bold; text-align: left">&nbsp;</td> <td style="width: 2%">&nbsp;</td> <td style="width: 1%; text-align: left">&nbsp;</td> <td style="width: 11%; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">165,115</div></td> <td style="white-space: nowrap; width: 1%; text-align: left">&nbsp;</td> <td style="width: 2%">&nbsp;</td> <td style="width: 1%; text-align: left">&nbsp;</td> <td style="width: 11%; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">133,263</div></td> <td style="white-space: nowrap; width: 1%; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="text-align: left; padding-left: 12pt">Europe, Middle-East and Africa</td> <td style="font-weight: bold">&nbsp;</td> <td style="font-weight: bold; text-align: left">&nbsp;</td> <td style="font-weight: bold; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">82,596</div></td> <td style="white-space: nowrap; font-weight: bold; text-align: left">&nbsp;</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">80,094</div></td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">77,576</div></td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: White"> <td style="padding-left: 12pt">Canada</td> <td style="font-weight: bold">&nbsp;</td> <td style="font-weight: bold; text-align: left">&nbsp;</td> <td style="font-weight: bold; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">27,304</div></td> <td style="white-space: nowrap; font-weight: bold; text-align: left">&nbsp;</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">18,167</div></td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">15,667</div></td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="text-align: left; padding-bottom: 1pt; padding-left: 12pt">Asia Pacific</td> <td style="font-weight: bold">&nbsp;</td> <td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">13,077</div></td> <td style="white-space: nowrap; border-bottom: Black 1pt solid; font-weight: bold; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid">&nbsp;</td> <td style="border-bottom: Black 1pt solid; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">11,795</div></td> <td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid">&nbsp;</td> <td style="border-bottom: Black 1pt solid; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">10,933</div></td> <td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: White"> <td style="padding-bottom: 1pt">&nbsp;</td> <td style="font-weight: bold">&nbsp;</td> <td style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">325,791</div></td> <td style="border-bottom: Black 1.5pt solid; white-space: nowrap; font-weight: bold; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1.5pt solid">&nbsp;</td> <td style="border-bottom: Black 1.5pt solid; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1.5pt solid; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">275,171</div></td> <td style="border-bottom: Black 1.5pt solid; white-space: nowrap; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1.5pt solid">&nbsp;</td> <td style="border-bottom: Black 1.5pt solid; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1.5pt solid; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">237,439</div></td> <td style="border-bottom: Black 1.5pt solid; white-space: nowrap; text-align: left">&nbsp;</td> </tr>  </table> </div> <div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&nbsp;</div> <div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0">&nbsp;</div> <div> <table cellpadding="0" cellspacing="0" style="border-collapse: collapse; font: 10pt Times New Roman, Times, Serif; min-width: 700px;">  <tr style="vertical-align: bottom; background-color: White"> <td style="font-style: italic">Year Ended</td> <td style="font-weight: bold">&nbsp;</td> <td style="border-top: Black 1pt solid; font-weight: bold; text-align: left">&nbsp;</td> <td style="border-top: Black 1pt solid; font-weight: bold; text-align: right"><div style="display: inline; font-family: Times New Roman, Times, Serif; font-size: 10pt"><div style="display: inline; font-weight: bold;">January 31,</div></div></td> <td style="border-top: Black 1pt solid; white-space: nowrap; font-weight: bold; text-align: left">&nbsp;</td> <td style="border-top: Black 1pt solid">&nbsp;</td> <td style="border-top: Black 1pt solid; text-align: left">&nbsp;</td> <td style="border-top: Black 1pt solid; text-align: right"><div style="display: inline; font-family: Times New Roman, Times, Serif; font-size: 10pt">January 31,</div></td> <td style="border-top: Black 1pt solid; white-space: nowrap; text-align: left">&nbsp;</td> <td style="border-top: Black 1pt solid">&nbsp;</td> <td style="border-top: Black 1pt solid; text-align: left">&nbsp;</td> <td style="border-top: Black 1pt solid; text-align: right"><div style="display: inline; font-family: Times New Roman, Times, Serif; font-size: 10pt">January 31,</div></td> <td style="border-top: Black 1pt solid; white-space: nowrap; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: White"> <td style="padding-bottom: 1pt">&nbsp;</td> <td style="font-weight: bold">&nbsp;</td> <td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: right">2020</td> <td style="white-space: nowrap; border-bottom: Black 1pt solid; font-weight: bold; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid">&nbsp;</td> <td style="border-bottom: Black 1pt solid; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid; text-align: right">2019</td> <td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid">&nbsp;</td> <td style="border-bottom: Black 1pt solid; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid; text-align: right">2018</td> <td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td>Revenues</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right">&nbsp;</td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right">&nbsp;</td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right">&nbsp;</td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: White"> <td style="width: 55%; padding-left: 12pt">Services</td> <td style="width: 2%; font-weight: bold">&nbsp;</td> <td style="width: 1%; font-weight: bold; text-align: left">&nbsp;</td> <td style="width: 11%; font-weight: bold; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">284,654</div></td> <td style="white-space: nowrap; width: 1%; font-weight: bold; text-align: left">&nbsp;</td> <td style="width: 2%">&nbsp;</td> <td style="width: 1%; text-align: left">&nbsp;</td> <td style="width: 11%; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">241,543</div></td> <td style="white-space: nowrap; width: 1%; text-align: left">&nbsp;</td> <td style="width: 2%">&nbsp;</td> <td style="width: 1%; text-align: left">&nbsp;</td> <td style="width: 11%; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">204,376</div></td> <td style="white-space: nowrap; width: 1%; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="text-align: left; padding-left: 12pt">Professional services and other</td> <td style="font-weight: bold">&nbsp;</td> <td style="font-weight: bold; text-align: left">&nbsp;</td> <td style="font-weight: bold; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">33,555</div></td> <td style="white-space: nowrap; font-weight: bold; text-align: left">&nbsp;</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">27,774</div></td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">24,918</div></td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: White"> <td style="padding-bottom: 1pt; padding-left: 12pt">Licenses</td> <td style="font-weight: bold">&nbsp;</td> <td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">7,582</div></td> <td style="white-space: nowrap; border-bottom: Black 1pt solid; font-weight: bold; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid">&nbsp;</td> <td style="border-bottom: Black 1pt solid; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">5,854</div></td> <td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid">&nbsp;</td> <td style="border-bottom: Black 1pt solid; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">8,145</div></td> <td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="padding-bottom: 1pt">&nbsp;</td> <td style="font-weight: bold">&nbsp;</td> <td style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">325,791</div></td> <td style="border-bottom: Black 1.5pt solid; white-space: nowrap; font-weight: bold; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1.5pt solid">&nbsp;</td> <td style="border-bottom: Black 1.5pt solid; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1.5pt solid; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">275,171</div></td> <td style="border-bottom: Black 1.5pt solid; white-space: nowrap; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1.5pt solid">&nbsp;</td> <td style="border-bottom: Black 1.5pt solid; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1.5pt solid; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">237,439</div></td> <td style="border-bottom: Black 1.5pt solid; white-space: nowrap; text-align: left">&nbsp;</td> </tr>  </table> </div> <div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><div style="display: inline; font-weight: bold;">&nbsp;</div></div> <div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">License revenues are derived from perpetual licenses granted to our customers to use our software products. Services revenues are comprised of ongoing transactional and/or subscription fees for use of our services and products by our customers and maintenance, which include revenues associated with maintenance and support of our services and products. Professional services and other revenues are comprised of professional services revenues from consulting, implementation and training services related to our services and products, hardware revenues and other revenues.</div> <div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&nbsp;</div> <div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">The following table provides information by geographic area of operation for our long-lived assets. Long-lived assets represent property and equipment and intangible assets that are attributed to geographic areas.</div> <div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&nbsp;</div> <div> <table cellpadding="0" cellspacing="0" style="border-collapse: collapse; font: 10pt Times New Roman, Times, Serif; min-width: 700px;">  <tr style="vertical-align: bottom; background-color: White"> <td>&nbsp;</td> <td style="font-weight: bold">&nbsp;</td> <td style="border-top: Black 1pt solid; font-weight: bold; text-align: left">&nbsp;</td> <td style="border-top: Black 1pt solid; font-weight: bold; text-align: right"><div style="display: inline; font-family: Times New Roman, Times, Serif; font-size: 10pt"><div style="display: inline; font-weight: bold;">January 31,</div></div></td> <td style="border-top: Black 1pt solid; white-space: nowrap; font-weight: bold; text-align: left">&nbsp;</td> <td style="border-top: Black 1pt solid">&nbsp;</td> <td style="border-top: Black 1pt solid; text-align: left">&nbsp;</td> <td style="border-top: Black 1pt solid; text-align: right"><div style="display: inline; font-family: Times New Roman, Times, Serif; font-size: 10pt">January 31,</div></td> <td style="border-top: Black 1pt solid; white-space: nowrap; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: White"> <td style="padding-bottom: 1pt">&nbsp;</td> <td style="font-weight: bold">&nbsp;</td> <td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: right">2020</td> <td style="white-space: nowrap; border-bottom: Black 1pt solid; font-weight: bold; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid">&nbsp;</td> <td style="border-bottom: Black 1pt solid; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid; text-align: right">2019</td> <td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="font-weight: normal; text-align: left">Total long-lived assets</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right">&nbsp;</td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right">&nbsp;</td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: White"> <td style="width: 68%; text-align: left; padding-left: 7.5pt">United States</td> <td style="width: 2%; font-weight: bold">&nbsp;</td> <td style="width: 1%; font-weight: bold; text-align: left">&nbsp;</td> <td style="width: 12%; font-weight: bold; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">114,980</div></td> <td style="white-space: nowrap; width: 1%; font-weight: bold; text-align: left">&nbsp;</td> <td style="width: 2%">&nbsp;</td> <td style="width: 1%; text-align: left">&nbsp;</td> <td style="width: 12%; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">119,958</div></td> <td style="white-space: nowrap; width: 1%; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="text-align: left; padding-left: 7.5pt">Europe, Middle-East and Africa</td> <td style="font-weight: bold">&nbsp;</td> <td style="font-weight: bold; text-align: left">&nbsp;</td> <td style="font-weight: bold; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">31,299</div></td> <td style="white-space: nowrap; font-weight: bold; text-align: left">&nbsp;</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">28,433</div></td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: White"> <td style="padding-left: 7.5pt">Canada</td> <td style="font-weight: bold">&nbsp;</td> <td style="font-weight: bold; text-align: left">&nbsp;</td> <td style="font-weight: bold; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">111,264</div></td> <td style="white-space: nowrap; font-weight: bold; text-align: left">&nbsp;</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">40,413</div></td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="padding-bottom: 1pt; padding-left: 7.5pt">Asia-Pacific</td> <td style="font-weight: bold">&nbsp;</td> <td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">13,144</div></td> <td style="white-space: nowrap; border-bottom: Black 1pt solid; font-weight: bold; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid">&nbsp;</td> <td style="border-bottom: Black 1pt solid; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">&#x2013;</div></td> <td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: White"> <td style="padding-bottom: 1pt">&nbsp;</td> <td style="font-weight: bold">&nbsp;</td> <td style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">270,687</div></td> <td style="border-bottom: Black 1.5pt solid; white-space: nowrap; font-weight: bold; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1.5pt solid">&nbsp;</td> <td style="border-bottom: Black 1.5pt solid; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1.5pt solid; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">188,804</div></td> <td style="border-bottom: Black 1.5pt solid; white-space: nowrap; text-align: left">&nbsp;</td> </tr>  </table> </div></div><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DisclosureTextBlockAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DisclosureTextBlockAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_SegmentReportingDisclosureTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The entire disclosure for reporting segments including data and tables. Reportable segments include those that meet any of the following quantitative thresholds a) it's reported revenue, including sales to external customers and intersegment sales or transfers is 10 percent or more of the combined revenue, internal and external, of all operating segments b) the absolute amount of its reported profit or loss is 10 percent or more of the greater, in absolute amount of 1) the combined reported profit of all operating segments that did not report a loss or 2) the combined reported loss of all operating segments that did report a loss c) its assets are 10 percent or more of the combined assets of all operating segments.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -URI http://asc.fasb.org/topic&amp;trid=2134510<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_SegmentReportingDisclosureTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>nonnum:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>19
<FILENAME>R13.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.20.1</span><table class="report" border="0" cellspacing="2" id="idp6902061024">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Note 5 - Trade Receivables<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Jan. 31, 2020</div></th></tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DisclosureTextBlockAbstract', window );"><strong>Notes to Financial Statements</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_LoansNotesTradeAndOtherReceivablesDisclosureTextBlock', window );">Loans, Notes, Trade and Other Receivables Disclosure [Text Block]</a></td>
<td class="text"><div style="display: inline; font-family: times new roman; font-size: 10pt"><div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"><div style="display: inline; font-weight: bold;">Note <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">5</div> &#x2013; Trade Receivables</div></div> <div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0">&nbsp;</div> <div> <table cellpadding="0" cellspacing="0" style="border-collapse: collapse; font: 10pt Times New Roman, Times, Serif; min-width: 700px;">  <tr style="vertical-align: bottom; background-color: White"> <td>&nbsp;</td> <td style="font-weight: bold">&nbsp;</td> <td style="border-top: Black 1pt solid; font-weight: bold; text-align: left">&nbsp;</td> <td style="border-top: Black 1pt solid; font-weight: bold; text-align: right"><div style="display: inline; font-family: Times New Roman, Times, Serif; font-size: 10pt"><div style="display: inline; font-weight: bold;">January 31,</div></div></td> <td style="border-top: Black 1pt solid; white-space: nowrap; font-weight: bold; text-align: left">&nbsp;</td> <td style="border-top: Black 1pt solid">&nbsp;</td> <td style="border-top: Black 1pt solid; text-align: left">&nbsp;</td> <td style="border-top: Black 1pt solid; text-align: right"><div style="display: inline; font-family: Times New Roman, Times, Serif; font-size: 10pt">January 31,</div></td> <td style="border-top: Black 1pt solid; white-space: nowrap; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: White"> <td style="padding-bottom: 1pt">&nbsp;</td> <td style="font-weight: bold">&nbsp;</td> <td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: right">2020</td> <td style="white-space: nowrap; border-bottom: Black 1pt solid; font-weight: bold; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid">&nbsp;</td> <td style="border-bottom: Black 1pt solid; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid; text-align: right">2019</td> <td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="width: 68%; text-align: left">Trade receivables</td> <td style="width: 2%; font-weight: bold">&nbsp;</td> <td style="width: 1%; font-weight: bold; text-align: left">&nbsp;</td> <td style="width: 12%; font-weight: bold; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">37,121</div></td> <td style="white-space: nowrap; width: 1%; font-weight: bold; text-align: left">&nbsp;</td> <td style="width: 2%">&nbsp;</td> <td style="width: 1%; text-align: left">&nbsp;</td> <td style="width: 12%; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">33,350</div></td> <td style="white-space: nowrap; width: 1%; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: White"> <td style="text-align: left; padding-bottom: 1pt">Less: Allowance for doubtful accounts</td> <td style="font-weight: bold">&nbsp;</td> <td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">(2,003</div></td> <td style="white-space: nowrap; border-bottom: Black 1pt solid; font-weight: bold; text-align: left">)</td> <td style="border-bottom: Black 1pt solid">&nbsp;</td> <td style="border-bottom: Black 1pt solid; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">(1,857</div></td> <td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">)</td> </tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="padding-bottom: 1pt">&nbsp;</td> <td style="font-weight: bold">&nbsp;</td> <td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">35,118</div></td> <td style="white-space: nowrap; border-bottom: Black 1pt solid; font-weight: bold; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid">&nbsp;</td> <td style="border-bottom: Black 1pt solid; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">31,493</div></td> <td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&nbsp;</td> </tr>  </table> </div> <div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&nbsp;</div> <div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">Included in accounts receivable are unbilled receivables in the amount of <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">$1.4</div> million as at <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"> January 31, 2020 (</div><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">$1.0</div> million as at <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"> January 31, 2019). </div>For the years ended <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"> January 31, 2020, </div><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">2019</div> and <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">2018,</div> bad debt expense was <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">$0.6</div> million, <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">$1.2</div> million and <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">$0.8</div> million, respectively.</div></div><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DisclosureTextBlockAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DisclosureTextBlockAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LoansNotesTradeAndOtherReceivablesDisclosureTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The entire disclosure for claims held for amounts due a entity, excluding financing receivables. Examples include, but are not limited to, trade accounts receivables, notes receivables, loans receivables. Includes disclosure for allowance for credit losses.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 310<br> -SubTopic 10<br> -URI http://asc.fasb.org/subtopic&amp;trid=2196772<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LoansNotesTradeAndOtherReceivablesDisclosureTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>nonnum:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>20
<FILENAME>R17.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.20.1</span><table class="report" border="0" cellspacing="2" id="idp6891827456">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Note 9 - Intangible Assets<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Jan. 31, 2020</div></th></tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DisclosureTextBlockAbstract', window );"><strong>Notes to Financial Statements</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_IntangibleAssetsDisclosureTextBlock', window );">Intangible Assets Disclosure [Text Block]</a></td>
<td class="text"><div style="display: inline; font-family: times new roman; font-size: 10pt"><div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"><div style="display: inline; font-weight: bold;">Note <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">9</div> - Intangible Assets</div></div> <div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"><div style="display: inline; font-weight: bold;">&nbsp;</div></div> <div> <table cellpadding="0" cellspacing="0" style="border-collapse: collapse; font: 10pt Times New Roman, Times, Serif; min-width: 700px;">  <tr style="vertical-align: bottom; background-color: White"> <td style="text-align: right">&nbsp;</td> <td style="font-weight: bold">&nbsp;</td> <td style="border-top: Black 1pt solid; font-weight: bold; text-align: left">&nbsp;</td> <td style="border-top: Black 1pt solid; font-weight: bold; text-align: right"><div style="display: inline; font-family: Times New Roman, Times, Serif; font-size: 10pt"><div style="display: inline; font-weight: bold;">January 31,</div></div></td> <td style="border-top: Black 1pt solid; white-space: nowrap; font-weight: bold; text-align: left">&nbsp;</td> <td style="border-top: Black 1pt solid">&nbsp;</td> <td style="border-top: Black 1pt solid; text-align: left">&nbsp;</td> <td style="border-top: Black 1pt solid; text-align: right"><div style="display: inline; font-family: Times New Roman, Times, Serif; font-size: 10pt">January 31,</div></td> <td style="border-top: Black 1pt solid; white-space: nowrap; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: White"> <td style="text-align: right; padding-bottom: 1pt">&nbsp;</td> <td style="font-weight: bold">&nbsp;</td> <td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: right">2020</td> <td style="white-space: nowrap; border-bottom: Black 1pt solid; font-weight: bold; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid">&nbsp;</td> <td style="border-bottom: Black 1pt solid; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid; text-align: right">2019</td> <td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td>Cost</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right">&nbsp;</td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right">&nbsp;</td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: White"> <td style="width: 68%; text-align: left; padding-left: 12pt">Customer agreements and relationships</td> <td style="width: 2%; font-weight: bold">&nbsp;</td> <td style="width: 1%; font-weight: bold; text-align: left">&nbsp;</td> <td style="width: 12%; font-weight: bold; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">226,514</div></td> <td style="white-space: nowrap; width: 1%; font-weight: bold; text-align: left">&nbsp;</td> <td style="width: 2%">&nbsp;</td> <td style="width: 1%; text-align: left">&nbsp;</td> <td style="width: 12%; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">177,224</div></td> <td style="white-space: nowrap; width: 1%; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="text-align: left; padding-left: 12pt">Existing technology</td> <td style="font-weight: bold">&nbsp;</td> <td style="font-weight: bold; text-align: left">&nbsp;</td> <td style="font-weight: bold; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">262,614</div></td> <td style="white-space: nowrap; font-weight: bold; text-align: left">&nbsp;</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">184,641</div></td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: White"> <td style="text-align: left; padding-left: 12pt">Trade names</td> <td style="font-weight: bold">&nbsp;</td> <td style="font-weight: bold; text-align: left">&nbsp;</td> <td style="font-weight: bold; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">8,582</div></td> <td style="white-space: nowrap; font-weight: bold; text-align: left">&nbsp;</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">7,754</div></td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="text-align: left; padding-bottom: 1pt; padding-left: 12pt">Non-compete covenants</td> <td style="font-weight: bold">&nbsp;</td> <td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">9,985</div></td> <td style="white-space: nowrap; border-bottom: Black 1pt solid; font-weight: bold; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid">&nbsp;</td> <td style="border-bottom: Black 1pt solid; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">6,173</div></td> <td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: White"> <td>&nbsp;</td> <td style="font-weight: bold">&nbsp;</td> <td style="font-weight: bold; text-align: left">&nbsp;</td> <td style="font-weight: bold; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">507,695</div></td> <td style="white-space: nowrap; font-weight: bold; text-align: left">&nbsp;</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">375,792</div></td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="text-align: left">Accumulated amortization</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right">&nbsp;</td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right">&nbsp;</td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: White"> <td style="text-align: left; padding-left: 12pt">Customer agreements and relationships</td> <td style="font-weight: bold">&nbsp;</td> <td style="font-weight: bold; text-align: left">&nbsp;</td> <td style="font-weight: bold; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">98,241</div></td> <td style="white-space: nowrap; font-weight: bold; text-align: left">&nbsp;</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">82,028</div></td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="text-align: left; padding-left: 12pt">Existing technology</td> <td style="font-weight: bold">&nbsp;</td> <td style="font-weight: bold; text-align: left">&nbsp;</td> <td style="font-weight: bold; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">142,757</div></td> <td style="white-space: nowrap; font-weight: bold; text-align: left">&nbsp;</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">110,051</div></td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: White"> <td style="text-align: left; padding-left: 12pt">Trade names</td> <td style="font-weight: bold">&nbsp;</td> <td style="font-weight: bold; text-align: left">&nbsp;</td> <td style="font-weight: bold; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">5,124</div></td> <td style="white-space: nowrap; font-weight: bold; text-align: left">&nbsp;</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">4,456</div></td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="text-align: left; padding-bottom: 1pt; padding-left: 12pt">Non-compete covenants</td> <td style="font-weight: bold">&nbsp;</td> <td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">4,617</div></td> <td style="white-space: nowrap; border-bottom: Black 1pt solid; font-weight: bold; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid">&nbsp;</td> <td style="border-bottom: Black 1pt solid; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">3,065</div></td> <td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: White"> <td style="padding-bottom: 1pt">&nbsp;</td> <td style="font-weight: bold">&nbsp;</td> <td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">250,739</div></td> <td style="white-space: nowrap; border-bottom: Black 1pt solid; font-weight: bold; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid">&nbsp;</td> <td style="border-bottom: Black 1pt solid; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">199,600</div></td> <td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="padding-bottom: 1pt">Net</td> <td style="font-weight: bold">&nbsp;</td> <td style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">256,956</div></td> <td style="border-bottom: Black 1.5pt solid; white-space: nowrap; font-weight: bold; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1.5pt solid">&nbsp;</td> <td style="border-bottom: Black 1.5pt solid; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1.5pt solid; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">176,192</div></td> <td style="border-bottom: Black 1.5pt solid; white-space: nowrap; text-align: left">&nbsp;</td> </tr>  </table> </div> <div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"><div style="display: inline; font-weight: bold;">&nbsp;</div></div> <div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">Intangible assets related to our acquisitions are recorded at their fair value at the acquisition date. The change in intangible assets during the year ended <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"> January 31, 2020 </div>is primarily due to the acquisitions of Visual Compliance, CORE, STEPcom and BestTransport, partially offset by amortization. The balance of the change in intangible assets is due to foreign currency translation.</div> <div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&nbsp;</div> <div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">Intangible assets with a finite life are amortized into income over their useful lives. Amortization expense for existing intangible assets is expected to be <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">$257.0</div> million over the following periods: <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">$52.7</div> million for <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">2021,</div> <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">$48.3</div> million for <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">2022,</div> <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">$40.7</div> million for <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">2023,</div> <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">$28.9</div> million for <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">2024,</div> <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">$25.9</div> million for <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">2025</div> and <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">$60.5</div> million thereafter. Expected future amortization expense is subject to fluctuations in foreign exchange rates and assumes <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">no</div> future adjustments to acquired intangible assets.</div></div><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DisclosureTextBlockAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DisclosureTextBlockAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IntangibleAssetsDisclosureTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The entire disclosure for all or part of the information related to intangible assets.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 350<br> -URI http://asc.fasb.org/topic&amp;trid=2144416<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IntangibleAssetsDisclosureTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>nonnum:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>21
<FILENAME>R86.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.20.1</span><table class="report" border="0" cellspacing="2" id="idp6938578720">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Note 17 - Stock-based Compensation Plans Summary of Performance Share Units Activity (Details) - USD ($)<br> $ / shares in Units, $ in Millions</strong></div></th>
<th class="th" colspan="3">12 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Jan. 31, 2020</div></th>
<th class="th"><div>Jan. 31, 2019</div></th>
<th class="th"><div>Jan. 31, 2018</div></th>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingNumber', window );">Vested or expected to vest, shares (in shares)</a></td>
<td class="nump">1,127,822<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageExercisePrice', window );">Vested or expected to vest, weighted-average exercise price (in dollars per share)</a></td>
<td class="nump">$ 26.82<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageRemainingContractualTerm1', window );">Vested or expected to vest, weighted-average remaining contractual life (Year)</a></td>
<td class="text">4 years 219 days<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingAggregateIntrinsicValue', window );">Vested or expected to vest, aggregate intrinsic value</a></td>
<td class="nump">$ 20.2<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AwardTypeAxis=us-gaap_PerformanceSharesMember', window );">Performance Shares [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsOutstandingNumber', window );">Number of Units Outstanding (in shares)</a></td>
<td class="nump">530,383<span></span>
</td>
<td class="nump">440,520<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue', window );">Weighted-Average Grant Date Fair Value, PSU (in dollars per share)</a></td>
<td class="nump">$ 18.02<span></span>
</td>
<td class="nump">$ 15.91<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsOutstandingWeightedAverageRemainingContractualTerms', window );">Weighted-Average Remaining Contractual, PSU (Year)</a></td>
<td class="text">5 years<span></span>
</td>
<td class="text">5 years 182 days<span></span>
</td>
<td class="text">6 years 36 days<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsAggregateIntrinsicValueOutstanding', window );">Aggregate Intrinsic Value, PSU</a></td>
<td class="nump">$ 28.2<span></span>
</td>
<td class="nump">$ 16.6<span></span>
</td>
<td class="nump">$ 11.9<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod', window );">Number of PSUs Granted (in shares)</a></td>
<td class="nump">53,729<span></span>
</td>
<td class="nump">54,351<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue', window );">PSUs Granted, Weighted-Average Granted Date Fair Value (in dollars per share)</a></td>
<td class="nump">$ 53.65<span></span>
</td>
<td class="nump">$ 35.23<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardSharesIssuedInPeriod', window );">Performance units issued (in shares)</a></td>
<td class="nump">45,762<span></span>
</td>
<td class="nump">35,512<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_dsgx_ShareBasedCompensationArrangementByShareBasedPaymentAwardUnitsIssuedInPeriodWeightedAverageGrantDateFairValue', window );">Performance units issued, weighted-average granted date fair value (in dollars per share)</a></td>
<td class="nump">$ 23.24<span></span>
</td>
<td class="nump">$ 19.59<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsOutstandingNumber', window );">Number of Units Outstanding (in shares)</a></td>
<td class="nump">629,874<span></span>
</td>
<td class="nump">530,383<span></span>
</td>
<td class="nump">440,520<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue', window );">Weighted-Average Grant Date Fair Value, PSU (in dollars per share)</a></td>
<td class="nump">$ 21.19<span></span>
</td>
<td class="nump">$ 18.02<span></span>
</td>
<td class="nump">$ 15.91<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingNumber', window );">Vested or expected to vest, shares (in shares)</a></td>
<td class="nump">629,874<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageExercisePrice', window );">Vested or expected to vest, weighted-average exercise price (in dollars per share)</a></td>
<td class="nump">$ 21.19<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageRemainingContractualTerm1', window );">Vested or expected to vest, weighted-average remaining contractual life (Year)</a></td>
<td class="text">5 years<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingAggregateIntrinsicValue', window );">Vested or expected to vest, aggregate intrinsic value</a></td>
<td class="nump">$ 28.2<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_dsgx_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsExercisable', window );">Exercisable, number of units (in shares)</a></td>
<td class="nump">521,794<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_dsgx_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsExercisableWeightedAverageGrantDateFairValue', window );">Exercisable, PSU weighted-average granted date fair value (in dollars per share)</a></td>
<td class="nump">$ 16.45<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_dsgx_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsExercisableWeightedAverageRemainingContractualTerm', window );">Exercisable, Weighted-Average Remaining Contractual, PSU (Year)</a></td>
<td class="text">4 years 109 days<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_dsgx_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsAggregateIntrinsicValueExercisable', window );">Exercisable, Aggregate Intrinsic Value, PSU</a></td>
<td class="nump">$ 23.4<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dsgx_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsAggregateIntrinsicValueExercisable">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Intrinsic value of equity-based compensation awards exercisable. Excludes stock and unit options.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dsgx_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsAggregateIntrinsicValueExercisable</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dsgx_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dsgx_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsExercisable">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The number of units exercisable other than stock (or unit) option plans (for example, phantom stock or unit plan, stock or unit appreciation rights plan, performance target plan).</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dsgx_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsExercisable</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dsgx_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dsgx_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsExercisableWeightedAverageGrantDateFairValue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The weighted average fair value of exercisable awards on equity-based plans excluding option plans (for example, phantom stock or unit plan, stock or unit appreciation rights plan, revenue or profit achievement stock award plan) for which the employer is contingently obligated to issue equity instruments or transfer assets to an employee who has not yet satisfied service or performance criteria necessary to gain title to proceeds from the sale of the award or underlying shares or units.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dsgx_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsExercisableWeightedAverageGrantDateFairValue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dsgx_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>num:perShareItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dsgx_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsExercisableWeightedAverageRemainingContractualTerm">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Weighted average remaining contractual term for vested portions of equity instruments other than options outstanding and currently exercisable or convertible, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents the reported fact of one year, five months, and thirteen days.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dsgx_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsExercisableWeightedAverageRemainingContractualTerm</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dsgx_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:durationItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dsgx_ShareBasedCompensationArrangementByShareBasedPaymentAwardUnitsIssuedInPeriodWeightedAverageGrantDateFairValue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Represents the weighted average grant date fair value of units issued during the period.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dsgx_ShareBasedCompensationArrangementByShareBasedPaymentAwardUnitsIssuedInPeriodWeightedAverageGrantDateFairValue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dsgx_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>num:perShareItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The number of grants made during the period on other than stock (or unit) option plans (for example, phantom stock or unit plan, stock or unit appreciation rights plan, performance target plan).</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(2)(iii)(1)<br> -URI http://asc.fasb.org/extlink&amp;oid=116856206&amp;loc=d3e5070-113901<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The weighted average fair value at grant date for nonvested equity-based awards issued during the period on other than stock (or unit) option plans (for example, phantom stock or unit plan, stock or unit appreciation rights plan, performance target plan).</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(2)(iii)(1)<br> -URI http://asc.fasb.org/extlink&amp;oid=116856206&amp;loc=d3e5070-113901<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>num:perShareItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Per share or unit weighted-average fair value of nonvested award under share-based payment arrangement. Excludes share and unit options.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(2)(i)-(ii)<br> -URI http://asc.fasb.org/extlink&amp;oid=116856206&amp;loc=d3e5070-113901<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>num:perShareItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsOutstandingWeightedAverageRemainingContractualTerms">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Weighted average remaining contractual term for equity-based awards excluding options, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents the reported fact of one year, five months, and thirteen days.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (e)(1)<br> -URI http://asc.fasb.org/extlink&amp;oid=116856206&amp;loc=d3e5070-113901<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsOutstandingWeightedAverageRemainingContractualTerms</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:durationItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsOutstandingNumber">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Number of equity instruments other than options outstanding, including both vested and non-vested instruments.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(ii)<br> -URI http://asc.fasb.org/extlink&amp;oid=116856206&amp;loc=d3e5070-113901<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(i)<br> -URI http://asc.fasb.org/extlink&amp;oid=116856206&amp;loc=d3e5070-113901<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsOutstandingNumber</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingAggregateIntrinsicValue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount by which current fair value of underlying stock exceeds exercise price of fully vested and expected to vest options outstanding. Includes, but is not limited to, unvested options for which requisite service period has not been rendered but that are expected to vest based on achievement of performance condition, if forfeitures are recognized when they occur.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (e)<br> -URI http://asc.fasb.org/extlink&amp;oid=116856206&amp;loc=d3e5070-113901<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingAggregateIntrinsicValue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingNumber">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Number of fully vested and expected to vest options outstanding that can be converted into shares under option plan. Includes, but is not limited to, unvested options for which requisite service period has not been rendered but that are expected to vest based on achievement of performance condition, if forfeitures are recognized when they occur.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (e)(1)<br> -URI http://asc.fasb.org/extlink&amp;oid=116856206&amp;loc=d3e5070-113901<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingNumber</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageExercisePrice">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Weighted-average exercise price, at which grantee can acquire shares reserved for issuance, for fully vested and expected to vest options outstanding. Includes, but is not limited to, unvested options for which requisite service period has not been rendered but that are expected to vest based on achievement of performance condition, if forfeitures are recognized when they occur.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (e)(1)<br> -URI http://asc.fasb.org/extlink&amp;oid=116856206&amp;loc=d3e5070-113901<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageExercisePrice</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>num:perShareItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardSharesIssuedInPeriod">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Number of shares issued under share-based payment arrangement.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -URI http://asc.fasb.org/extlink&amp;oid=116856206&amp;loc=d3e5070-113901<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardSharesIssuedInPeriod</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsAggregateIntrinsicValueOutstanding">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Intrinsic value of outstanding award under share-based payment arrangement. Excludes share and unit options.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsAggregateIntrinsicValueOutstanding</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageRemainingContractualTerm1">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Weighted average remaining contractual term for fully vested and expected to vest options outstanding, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents reported fact of one year, five months, and thirteen days. Includes, but is not limited to, unvested options for which requisite service period has not been rendered but that are expected to vest based on achievement of performance condition, if forfeitures are recognized when they occur.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (e)(1)<br> -URI http://asc.fasb.org/extlink&amp;oid=116856206&amp;loc=d3e5070-113901<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageRemainingContractualTerm1</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:durationItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AwardTypeAxis=us-gaap_PerformanceSharesMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AwardTypeAxis=us-gaap_PerformanceSharesMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>22
<FILENAME>R76.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.20.1</span><table class="report" border="0" cellspacing="2" id="idp6917182080">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Note 15 - Share Capital (Details Textual) - USD ($)<br> $ / shares in Units, $ in Millions</strong></div></th>
<th class="th" colspan="1"></th>
<th class="th" colspan="1"></th>
<th class="th" colspan="3">12 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Jun. 10, 2019</div></th>
<th class="th"><div>Jun. 06, 2018</div></th>
<th class="th"><div>Jan. 31, 2020</div></th>
<th class="th"><div>Jan. 31, 2019</div></th>
<th class="th"><div>Jan. 31, 2018</div></th>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_SharesIssuedPricePerShare', window );">Shares Issued, Price Per Share</a></td>
<td class="nump">$ 35.50<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_StockIssuedDuringPeriodSharesNewIssues', window );">Stock Issued During Period, Shares, New Issues</a></td>
<td class="nump">6,900,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">6,900,000<span></span>
</td>
<td class="text"> <span></span>
</td>
<td class="text"> <span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_dsgx_OverallotmentOption', window );">Over-Allotment Option</a></td>
<td class="nump">15.00%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_StockIssuedDuringPeriodValueNewIssues', window );">Stock Issued During Period, Value, New Issues</a></td>
<td class="nump">$ 245.0<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_dsgx_ProceedsFromIssuanceOfCommonStockNet', window );">Proceeds from Issuance of Common Stock, Net</a></td>
<td class="nump">236.6<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ProceedsFromStockOptionsExercised', window );">Proceeds from Stock Options Exercised</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 1.5<span></span>
</td>
<td class="nump">$ 0.5<span></span>
</td>
<td class="nump">$ 1.0<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_SubsidiarySaleOfStockAxis=dsgx_ShelfProspectusMember', window );">Shelf Prospectus [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_dsgx_ShelfProspectusPeriod', window );">Shelf Prospectus Period</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">2 years 30 days<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_dsgx_ShelfProspectusMaximumAmount', window );">Shelf Prospectus, Maximum Amount</a></td>
<td class="nump">$ 505.0<span></span>
</td>
<td class="nump">$ 750.0<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dsgx_OverallotmentOption">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Percentage of rights given to the underwriter to sell additional shares over the initial allotment.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dsgx_OverallotmentOption</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dsgx_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>num:percentItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dsgx_ProceedsFromIssuanceOfCommonStockNet">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The cash inflow from the additional capital contribution to the entity, net of expenses associated with the offering.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dsgx_ProceedsFromIssuanceOfCommonStockNet</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dsgx_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dsgx_ShelfProspectusMaximumAmount">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The maximum amount related to the shelf prospectus.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dsgx_ShelfProspectusMaximumAmount</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dsgx_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dsgx_ShelfProspectusPeriod">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The duration of the shelf prospectus.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dsgx_ShelfProspectusPeriod</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dsgx_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:durationItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ProceedsFromStockOptionsExercised">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of cash inflow from exercise of option under share-based payment arrangement.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2A<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=116856206&amp;loc=SL79508275-113901<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 14<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=118932676&amp;loc=d3e3255-108585<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ProceedsFromStockOptionsExercised</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_SharesIssuedPricePerShare">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Per share or per unit amount of equity securities issued.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_SharesIssuedPricePerShare</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>num:perShareItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StockIssuedDuringPeriodSharesNewIssues">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Number of new stock issued during the period.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(29))<br> -URI http://asc.fasb.org/extlink&amp;oid=6877327&amp;loc=d3e13212-122682<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -URI http://asc.fasb.org/extlink&amp;oid=109259400&amp;loc=d3e21463-112644<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.3-04)<br> -URI http://asc.fasb.org/extlink&amp;oid=27012166&amp;loc=d3e187085-122770<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(28))<br> -URI http://asc.fasb.org/extlink&amp;oid=6877327&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StockIssuedDuringPeriodSharesNewIssues</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StockIssuedDuringPeriodValueNewIssues">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Equity impact of the value of new stock issued during the period. Includes shares issued in an initial public offering or a secondary public offering.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.3-04)<br> -URI http://asc.fasb.org/extlink&amp;oid=27012166&amp;loc=d3e187085-122770<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -URI http://asc.fasb.org/extlink&amp;oid=109259400&amp;loc=d3e21463-112644<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(29))<br> -URI http://asc.fasb.org/extlink&amp;oid=6877327&amp;loc=d3e13212-122682<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(28))<br> -URI http://asc.fasb.org/extlink&amp;oid=6877327&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StockIssuedDuringPeriodValueNewIssues</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_SubsidiarySaleOfStockAxis=dsgx_ShelfProspectusMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_SubsidiarySaleOfStockAxis=dsgx_ShelfProspectusMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>23
<FILENAME>R72.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.20.1</span><table class="report" border="0" cellspacing="2" id="idp6909382112">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Note 13 - Leases - Components of Operating Lease Expense (Details)<br> $ in Thousands</strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th">
<div>Jan. 31, 2020 </div>
<div>USD ($)</div>
</th></tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_OperatingLeaseCost', window );">Operating lease cost</a></td>
<td class="nump">$ 4,902<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShortTermLeaseCost', window );">Short-term lease cost</a></td>
<td class="nump">866<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_LeaseCost', window );">Total operating lease cost</a></td>
<td class="nump">5,768<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_OperatingLeasePayments', window );">Operating cash outflows from operating leases included in measurement of lease liabilities</a></td>
<td class="nump">4,150<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability', window );">Increase in ROU asset from non-cash activities, including lease modifications and new leases</a></td>
<td class="nump">$ 6,439<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_OperatingLeaseWeightedAverageRemainingLeaseTerm1', window );">Weighted average remaining lease term (years) (Year)</a></td>
<td class="text">4 years 109 days<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_OperatingLeaseWeightedAverageDiscountRatePercent', window );">Weighted average discount rate (%)</a></td>
<td class="nump">2.80%<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LeaseCost">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of lease cost recognized by lessee for lease contract.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 20<br> -Section 50<br> -Paragraph 4<br> -URI http://asc.fasb.org/extlink&amp;oid=77888426&amp;loc=SL77918686-209980<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 20<br> -Section 55<br> -Paragraph 53<br> -URI http://asc.fasb.org/extlink&amp;oid=77888399&amp;loc=SL77918982-209971<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LeaseCost</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OperatingLeaseCost">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of single lease cost, calculated by allocation of remaining cost of lease over remaining lease term. Includes, but is not limited to, single lease cost, after impairment of right-of-use asset, calculated by amortization of remaining right-of-use asset and accretion of lease liability.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 20<br> -Section 55<br> -Paragraph 53<br> -URI http://asc.fasb.org/extlink&amp;oid=77888399&amp;loc=SL77918982-209971<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 20<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=77888426&amp;loc=SL77918686-209980<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OperatingLeaseCost</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OperatingLeasePayments">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of cash outflow from operating lease, excluding payments to bring another asset to condition and location necessary for its intended use.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 20<br> -Section 45<br> -Paragraph 5<br> -Subparagraph (c)<br> -URI http://asc.fasb.org/extlink&amp;oid=77888419&amp;loc=SL77918643-209977<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 20<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (g)(1)<br> -URI http://asc.fasb.org/extlink&amp;oid=77888426&amp;loc=SL77918686-209980<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OperatingLeasePayments</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OperatingLeaseWeightedAverageDiscountRatePercent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Weighted average discount rate for operating lease calculated at point in time.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 20<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (g)(4)<br> -URI http://asc.fasb.org/extlink&amp;oid=77888426&amp;loc=SL77918686-209980<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 20<br> -Section 55<br> -Paragraph 53<br> -URI http://asc.fasb.org/extlink&amp;oid=77888399&amp;loc=SL77918982-209971<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OperatingLeaseWeightedAverageDiscountRatePercent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>num:percentItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OperatingLeaseWeightedAverageRemainingLeaseTerm1">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Weighted average remaining lease term for operating lease, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents reported fact of one year, five months, and thirteen days.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 20<br> -Section 55<br> -Paragraph 53<br> -URI http://asc.fasb.org/extlink&amp;oid=77888399&amp;loc=SL77918982-209971<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 20<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (g)(3)<br> -URI http://asc.fasb.org/extlink&amp;oid=77888426&amp;loc=SL77918686-209980<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OperatingLeaseWeightedAverageRemainingLeaseTerm1</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:durationItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of increase in right-of-use asset obtained in exchange for operating lease liability.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 20<br> -Section 55<br> -Paragraph 53<br> -URI http://asc.fasb.org/extlink&amp;oid=77888399&amp;loc=SL77918982-209971<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 20<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (g)(2)<br> -URI http://asc.fasb.org/extlink&amp;oid=77888426&amp;loc=SL77918686-209980<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShortTermLeaseCost">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of short-term lease cost, excluding expense for lease with term of one month or less.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 20<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (c)<br> -URI http://asc.fasb.org/extlink&amp;oid=77888426&amp;loc=SL77918686-209980<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 20<br> -Section 55<br> -Paragraph 53<br> -URI http://asc.fasb.org/extlink&amp;oid=77888399&amp;loc=SL77918982-209971<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShortTermLeaseCost</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>24
<FILENAME>R82.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.20.1</span><table class="report" border="0" cellspacing="2" id="idp6891830480">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Note 17 - Stock-based Compensation Plans - Assumptions Used in Black-scholes Model for Each Grant (Details)<br></strong></div></th>
<th class="th" colspan="3">12 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Jan. 31, 2020</div></th>
<th class="th"><div>Jan. 31, 2019</div></th>
<th class="th"><div>Jan. 31, 2018</div></th>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate', window );">Expected dividend yield (%)</a></td>
<td class="text"> <span></span>
</td>
<td class="text"> <span></span>
</td>
<td class="text"> <span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate', window );">Expected volatility (%)</a></td>
<td class="nump">23.50%<span></span>
</td>
<td class="nump">23.60%<span></span>
</td>
<td class="nump">23.50%<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate', window );">Risk-free rate (%)</a></td>
<td class="nump">1.40%<span></span>
</td>
<td class="nump">2.00%<span></span>
</td>
<td class="nump">1.00%<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1', window );">Expected option life (years) (Year)</a></td>
<td class="text">5 years<span></span>
</td>
<td class="text">5 years<span></span>
</td>
<td class="text">5 years<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The estimated dividend rate (a percentage of the share price) to be paid (expected dividends) to holders of the underlying shares over the option's term.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (f)(2)(iii)<br> -URI http://asc.fasb.org/extlink&amp;oid=116856206&amp;loc=d3e5070-113901<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>num:percentItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The estimated measure of the percentage by which a share price is expected to fluctuate during a period. Volatility also may be defined as a probability-weighted measure of the dispersion of returns about the mean. The volatility of a share price is the standard deviation of the continuously compounded rates of return on the share over a specified period. That is the same as the standard deviation of the differences in the natural logarithms of the stock prices plus dividends, if any, over the period.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (f)(2)(ii)<br> -URI http://asc.fasb.org/extlink&amp;oid=116856206&amp;loc=d3e5070-113901<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>num:percentItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The risk-free interest rate assumption that is used in valuing an option on its own shares.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (f)(2)(iv)<br> -URI http://asc.fasb.org/extlink&amp;oid=116856206&amp;loc=d3e5070-113901<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>num:percentItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Expected term of award under share-based payment arrangement, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents reported fact of one year, five months, and thirteen days.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (f)(2)(i)<br> -URI http://asc.fasb.org/extlink&amp;oid=116856206&amp;loc=d3e5070-113901<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB Topic 14.D.2)<br> -URI http://asc.fasb.org/extlink&amp;oid=115993241&amp;loc=d3e301413-122809<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:durationItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>25
<FILENAME>FilingSummary.xml
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<XML>
<?xml version='1.0' encoding='utf-8'?>
<FilingSummary>
  <Version>3.20.1</Version>
  <ProcessingTime/>
  <ReportFormat>html</ReportFormat>
  <ContextCount>379</ContextCount>
  <ElementCount>511</ElementCount>
  <EntityCount>1</EntityCount>
  <FootnotesReported>false</FootnotesReported>
  <SegmentCount>91</SegmentCount>
  <ScenarioCount>0</ScenarioCount>
  <TuplesReported>false</TuplesReported>
  <UnitCount>6</UnitCount>
  <MyReports>
    <Report instance="dsgx-20200131.xml">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R1.htm</HtmlFileName>
      <LongName>000 - Document - Document And Entity Information</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.descartes.com/20200131/role/statement-document-and-entity-information</Role>
      <ShortName>Document And Entity Information</ShortName>
      <MenuCategory>Cover</MenuCategory>
      <Position>1</Position>
    </Report>
    <Report instance="dsgx-20200131.xml">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R2.htm</HtmlFileName>
      <LongName>001 - Statement - Consolidated Balance Sheets</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.descartes.com/20200131/role/statement-consolidated-balance-sheets</Role>
      <ShortName>Consolidated Balance Sheets</ShortName>
      <MenuCategory>Statements</MenuCategory>
      <Position>2</Position>
    </Report>
    <Report instance="dsgx-20200131.xml">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R3.htm</HtmlFileName>
      <LongName>002 - Statement - Consolidated Balance Sheets (Parentheticals)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.descartes.com/20200131/role/statement-consolidated-balance-sheets-parentheticals</Role>
      <ShortName>Consolidated Balance Sheets (Parentheticals)</ShortName>
      <MenuCategory>Statements</MenuCategory>
      <Position>3</Position>
    </Report>
    <Report instance="dsgx-20200131.xml">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R4.htm</HtmlFileName>
      <LongName>003 - Statement - Consolidated Statements of Operations</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.descartes.com/20200131/role/statement-consolidated-statements-of-operations-</Role>
      <ShortName>Consolidated Statements of Operations</ShortName>
      <MenuCategory>Statements</MenuCategory>
      <Position>4</Position>
    </Report>
    <Report instance="dsgx-20200131.xml">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R5.htm</HtmlFileName>
      <LongName>004 - Statement - Consolidated Statements of Comprehensive Income</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.descartes.com/20200131/role/statement-consolidated-statements-of-comprehensive-income</Role>
      <ShortName>Consolidated Statements of Comprehensive Income</ShortName>
      <MenuCategory>Statements</MenuCategory>
      <Position>5</Position>
    </Report>
    <Report instance="dsgx-20200131.xml">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R6.htm</HtmlFileName>
      <LongName>005 - Statement - Consolidated Statements of Comprehensive Income (Parentheticals)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.descartes.com/20200131/role/statement-consolidated-statements-of-comprehensive-income-parentheticals</Role>
      <ShortName>Consolidated Statements of Comprehensive Income (Parentheticals)</ShortName>
      <MenuCategory>Statements</MenuCategory>
      <Position>6</Position>
    </Report>
    <Report instance="dsgx-20200131.xml">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R7.htm</HtmlFileName>
      <LongName>006 - Statement - Consolidated Statements of Shareholders' Equity</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.descartes.com/20200131/role/statement-consolidated-statements-of-shareholders-equity</Role>
      <ShortName>Consolidated Statements of Shareholders' Equity</ShortName>
      <MenuCategory>Statements</MenuCategory>
      <Position>7</Position>
    </Report>
    <Report instance="dsgx-20200131.xml">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R8.htm</HtmlFileName>
      <LongName>007 - Statement - Consolidated Statements of Cash Flows</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.descartes.com/20200131/role/statement-consolidated-statements-of-cash-flows</Role>
      <ShortName>Consolidated Statements of Cash Flows</ShortName>
      <MenuCategory>Statements</MenuCategory>
      <Position>8</Position>
    </Report>
    <Report instance="dsgx-20200131.xml">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R9.htm</HtmlFileName>
      <LongName>008 - Disclosure - Note 1 - Description of the Business</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.descartes.com/20200131/role/statement-note-1-description-of-the-business</Role>
      <ShortName>Note 1 - Description of the Business</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>9</Position>
    </Report>
    <Report instance="dsgx-20200131.xml">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R10.htm</HtmlFileName>
      <LongName>009 - Disclosure - Note 2 - Basis of Presentation</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.descartes.com/20200131/role/statement-note-2-basis-of-presentation</Role>
      <ShortName>Note 2 - Basis of Presentation</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>10</Position>
    </Report>
    <Report instance="dsgx-20200131.xml">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R11.htm</HtmlFileName>
      <LongName>010 - Disclosure - Note 3 - Acquisitions</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.descartes.com/20200131/role/statement-note-3-acquisitions</Role>
      <ShortName>Note 3 - Acquisitions</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>11</Position>
    </Report>
    <Report instance="dsgx-20200131.xml">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R12.htm</HtmlFileName>
      <LongName>011 - Disclosure - Note 4 - Fair Value Measurements</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.descartes.com/20200131/role/statement-note-4-fair-value-measurements</Role>
      <ShortName>Note 4 - Fair Value Measurements</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>12</Position>
    </Report>
    <Report instance="dsgx-20200131.xml">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R13.htm</HtmlFileName>
      <LongName>012 - Disclosure - Note 5 - Trade Receivables</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.descartes.com/20200131/role/statement-note-5-trade-receivables</Role>
      <ShortName>Note 5 - Trade Receivables</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>13</Position>
    </Report>
    <Report instance="dsgx-20200131.xml">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R14.htm</HtmlFileName>
      <LongName>013 - Disclosure - Note 6 - Other Receivables</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.descartes.com/20200131/role/statement-note-6-other-receivables</Role>
      <ShortName>Note 6 - Other Receivables</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>14</Position>
    </Report>
    <Report instance="dsgx-20200131.xml">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R15.htm</HtmlFileName>
      <LongName>014 - Disclosure - Note 7 - Inventory</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.descartes.com/20200131/role/statement-note-7-inventory</Role>
      <ShortName>Note 7 - Inventory</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>15</Position>
    </Report>
    <Report instance="dsgx-20200131.xml">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R16.htm</HtmlFileName>
      <LongName>015 - Disclosure - Note 8 - Property and Equipment</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.descartes.com/20200131/role/statement--note-8-property-and-equipment-</Role>
      <ShortName>Note 8 - Property and Equipment</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>16</Position>
    </Report>
    <Report instance="dsgx-20200131.xml">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R17.htm</HtmlFileName>
      <LongName>016 - Disclosure - Note 9 - Intangible Assets</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.descartes.com/20200131/role/statement-note-9-intangible-assets</Role>
      <ShortName>Note 9 - Intangible Assets</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>17</Position>
    </Report>
    <Report instance="dsgx-20200131.xml">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R18.htm</HtmlFileName>
      <LongName>017 - Disclosure - Note 10 - Goodwill</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.descartes.com/20200131/role/statement-note-10-goodwill</Role>
      <ShortName>Note 10 - Goodwill</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>18</Position>
    </Report>
    <Report instance="dsgx-20200131.xml">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R19.htm</HtmlFileName>
      <LongName>018 - Disclosure - Note 11 - Accrued Liabilities</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.descartes.com/20200131/role/statement-note-11-accrued-liabilities</Role>
      <ShortName>Note 11 - Accrued Liabilities</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>19</Position>
    </Report>
    <Report instance="dsgx-20200131.xml">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R20.htm</HtmlFileName>
      <LongName>019 - Disclosure - Note 12 - Debt</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.descartes.com/20200131/role/statement-note-12-debt</Role>
      <ShortName>Note 12 - Debt</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>20</Position>
    </Report>
    <Report instance="dsgx-20200131.xml">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R21.htm</HtmlFileName>
      <LongName>020 - Disclosure - Note 13 - Leases</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.descartes.com/20200131/role/statement-note-13-leases</Role>
      <ShortName>Note 13 - Leases</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>21</Position>
    </Report>
    <Report instance="dsgx-20200131.xml">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R22.htm</HtmlFileName>
      <LongName>021 - Disclosure - Note 14 - Commitments, Contingencies and Guarantees</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.descartes.com/20200131/role/statement-note-14-commitments-contingencies-and-guarantees</Role>
      <ShortName>Note 14 - Commitments, Contingencies and Guarantees</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>22</Position>
    </Report>
    <Report instance="dsgx-20200131.xml">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R23.htm</HtmlFileName>
      <LongName>022 - Disclosure - Note 15 - Share Capital</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.descartes.com/20200131/role/statement-note-15-share-capital</Role>
      <ShortName>Note 15 - Share Capital</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>23</Position>
    </Report>
    <Report instance="dsgx-20200131.xml">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R24.htm</HtmlFileName>
      <LongName>023 - Disclosure - Note 16 - Earnings Per Share</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.descartes.com/20200131/role/statement-note-16-earnings-per-share</Role>
      <ShortName>Note 16 - Earnings Per Share</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>24</Position>
    </Report>
    <Report instance="dsgx-20200131.xml">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R25.htm</HtmlFileName>
      <LongName>024 - Disclosure - Note 17 - Stock-based Compensation Plans</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.descartes.com/20200131/role/statement-note-17-stockbased-compensation-plans</Role>
      <ShortName>Note 17 - Stock-based Compensation Plans</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>25</Position>
    </Report>
    <Report instance="dsgx-20200131.xml">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R26.htm</HtmlFileName>
      <LongName>025 - Disclosure - Note 18 - Income Taxes</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.descartes.com/20200131/role/statement-note-18-income-taxes</Role>
      <ShortName>Note 18 - Income Taxes</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>26</Position>
    </Report>
    <Report instance="dsgx-20200131.xml">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R27.htm</HtmlFileName>
      <LongName>026 - Disclosure - Note 19 - Contract Balances, Performance Obligations and Contract Costs</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.descartes.com/20200131/role/statement-note-19-contract-balances-performance-obligations-and-contract-costs</Role>
      <ShortName>Note 19 - Contract Balances, Performance Obligations and Contract Costs</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>27</Position>
    </Report>
    <Report instance="dsgx-20200131.xml">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R28.htm</HtmlFileName>
      <LongName>027 - Disclosure - Note 20 - Other Charges</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.descartes.com/20200131/role/statement-note-20-other-charges</Role>
      <ShortName>Note 20 - Other Charges</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>28</Position>
    </Report>
    <Report instance="dsgx-20200131.xml">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R29.htm</HtmlFileName>
      <LongName>028 - Disclosure - Note 21 - Supplemental Cash Flow Information</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.descartes.com/20200131/role/statement-note-21-supplemental-cash-flow-information</Role>
      <ShortName>Note 21 - Supplemental Cash Flow Information</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>29</Position>
    </Report>
    <Report instance="dsgx-20200131.xml">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R30.htm</HtmlFileName>
      <LongName>029 - Disclosure - Note 22 - Segmented Information</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.descartes.com/20200131/role/statement-note-22-segmented-information</Role>
      <ShortName>Note 22 - Segmented Information</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>30</Position>
    </Report>
    <Report instance="dsgx-20200131.xml">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R31.htm</HtmlFileName>
      <LongName>030 - Disclosure - Note 23 - Subsequent Event</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.descartes.com/20200131/role/statement-note-23-subsequent-event-</Role>
      <ShortName>Note 23 - Subsequent Event</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>31</Position>
    </Report>
    <Report instance="dsgx-20200131.xml">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R32.htm</HtmlFileName>
      <LongName>031 - Disclosure - Significant Accounting Policies (Policies)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.descartes.com/20200131/role/statement-significant-accounting-policies-policies</Role>
      <ShortName>Significant Accounting Policies (Policies)</ShortName>
      <MenuCategory>Policies</MenuCategory>
      <Position>32</Position>
    </Report>
    <Report instance="dsgx-20200131.xml">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R33.htm</HtmlFileName>
      <LongName>032 - Disclosure - Note 3 - Acquisitions (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.descartes.com/20200131/role/statement-note-3-acquisitions-tables</Role>
      <ShortName>Note 3 - Acquisitions (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <ParentRole>http://www.descartes.com/20200131/role/statement-note-3-acquisitions</ParentRole>
      <Position>33</Position>
    </Report>
    <Report instance="dsgx-20200131.xml">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R34.htm</HtmlFileName>
      <LongName>033 - Disclosure - Note 4 - Fair Value Measurements (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.descartes.com/20200131/role/statement-note-4-fair-value-measurements-tables</Role>
      <ShortName>Note 4 - Fair Value Measurements (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <ParentRole>http://www.descartes.com/20200131/role/statement-note-4-fair-value-measurements</ParentRole>
      <Position>34</Position>
    </Report>
    <Report instance="dsgx-20200131.xml">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R35.htm</HtmlFileName>
      <LongName>034 - Disclosure - Note 5 - Trade Receivables (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.descartes.com/20200131/role/statement-note-5-trade-receivables-tables</Role>
      <ShortName>Note 5 - Trade Receivables (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <ParentRole>http://www.descartes.com/20200131/role/statement-note-5-trade-receivables</ParentRole>
      <Position>35</Position>
    </Report>
    <Report instance="dsgx-20200131.xml">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R36.htm</HtmlFileName>
      <LongName>035 - Disclosure - Note 6 - Other Receivables (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.descartes.com/20200131/role/statement-note-6-other-receivables-tables</Role>
      <ShortName>Note 6 - Other Receivables (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <ParentRole>http://www.descartes.com/20200131/role/statement-note-6-other-receivables</ParentRole>
      <Position>36</Position>
    </Report>
    <Report instance="dsgx-20200131.xml">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R37.htm</HtmlFileName>
      <LongName>036 - Disclosure - Note 8 - Property and Equipment (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.descartes.com/20200131/role/statement--note-8-property-and-equipment-tables</Role>
      <ShortName>Note 8 - Property and Equipment (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <ParentRole>http://www.descartes.com/20200131/role/statement--note-8-property-and-equipment-</ParentRole>
      <Position>37</Position>
    </Report>
    <Report instance="dsgx-20200131.xml">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R38.htm</HtmlFileName>
      <LongName>037 - Disclosure - Note 9 - Intangible Assets (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.descartes.com/20200131/role/statement-note-9-intangible-assets-tables</Role>
      <ShortName>Note 9 - Intangible Assets (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <ParentRole>http://www.descartes.com/20200131/role/statement-note-9-intangible-assets</ParentRole>
      <Position>38</Position>
    </Report>
    <Report instance="dsgx-20200131.xml">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R39.htm</HtmlFileName>
      <LongName>038 - Disclosure - Note 10 - Goodwill (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.descartes.com/20200131/role/statement-note-10-goodwill-tables</Role>
      <ShortName>Note 10 - Goodwill (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <ParentRole>http://www.descartes.com/20200131/role/statement-note-10-goodwill</ParentRole>
      <Position>39</Position>
    </Report>
    <Report instance="dsgx-20200131.xml">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R40.htm</HtmlFileName>
      <LongName>039 - Disclosure - Note 11 - Accrued Liabilities (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.descartes.com/20200131/role/statement-note-11-accrued-liabilities-tables</Role>
      <ShortName>Note 11 - Accrued Liabilities (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <ParentRole>http://www.descartes.com/20200131/role/statement-note-11-accrued-liabilities</ParentRole>
      <Position>40</Position>
    </Report>
    <Report instance="dsgx-20200131.xml">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R41.htm</HtmlFileName>
      <LongName>040 - Disclosure - Note 12 - Debt (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.descartes.com/20200131/role/statement-note-12-debt-tables</Role>
      <ShortName>Note 12 - Debt (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <ParentRole>http://www.descartes.com/20200131/role/statement-note-12-debt</ParentRole>
      <Position>41</Position>
    </Report>
    <Report instance="dsgx-20200131.xml">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R42.htm</HtmlFileName>
      <LongName>041 - Disclosure - Note 13 - Leases (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.descartes.com/20200131/role/statement-note-13-leases-tables</Role>
      <ShortName>Note 13 - Leases (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <ParentRole>http://www.descartes.com/20200131/role/statement-note-13-leases</ParentRole>
      <Position>42</Position>
    </Report>
    <Report instance="dsgx-20200131.xml">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R43.htm</HtmlFileName>
      <LongName>042 - Disclosure - Note 15 - Share Capital (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.descartes.com/20200131/role/statement-note-15-share-capital-tables</Role>
      <ShortName>Note 15 - Share Capital (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <ParentRole>http://www.descartes.com/20200131/role/statement-note-15-share-capital</ParentRole>
      <Position>43</Position>
    </Report>
    <Report instance="dsgx-20200131.xml">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R44.htm</HtmlFileName>
      <LongName>043 - Disclosure - Note 16 - Earnings Per Share (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.descartes.com/20200131/role/statement-note-16-earnings-per-share-tables</Role>
      <ShortName>Note 16 - Earnings Per Share (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <ParentRole>http://www.descartes.com/20200131/role/statement-note-16-earnings-per-share</ParentRole>
      <Position>44</Position>
    </Report>
    <Report instance="dsgx-20200131.xml">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R45.htm</HtmlFileName>
      <LongName>044 - Disclosure - Note 17 - Stock-based Compensation Plans (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.descartes.com/20200131/role/statement-note-17-stockbased-compensation-plans-tables</Role>
      <ShortName>Note 17 - Stock-based Compensation Plans (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <ParentRole>http://www.descartes.com/20200131/role/statement-note-17-stockbased-compensation-plans</ParentRole>
      <Position>45</Position>
    </Report>
    <Report instance="dsgx-20200131.xml">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R46.htm</HtmlFileName>
      <LongName>045 - Disclosure - Note 18 - Income Taxes (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.descartes.com/20200131/role/statement-note-18-income-taxes-tables</Role>
      <ShortName>Note 18 - Income Taxes (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <ParentRole>http://www.descartes.com/20200131/role/statement-note-18-income-taxes</ParentRole>
      <Position>46</Position>
    </Report>
    <Report instance="dsgx-20200131.xml">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R47.htm</HtmlFileName>
      <LongName>046 - Disclosure - Note 19 - Contract Balances, Performance Obligations and Contract Costs (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.descartes.com/20200131/role/statement-note-19-contract-balances-performance-obligations-and-contract-costs-tables</Role>
      <ShortName>Note 19 - Contract Balances, Performance Obligations and Contract Costs (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <ParentRole>http://www.descartes.com/20200131/role/statement-note-19-contract-balances-performance-obligations-and-contract-costs</ParentRole>
      <Position>47</Position>
    </Report>
    <Report instance="dsgx-20200131.xml">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R48.htm</HtmlFileName>
      <LongName>047 - Disclosure - Note 20 - Other Charges (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.descartes.com/20200131/role/statement-note-20-other-charges-tables</Role>
      <ShortName>Note 20 - Other Charges (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <ParentRole>http://www.descartes.com/20200131/role/statement-note-20-other-charges</ParentRole>
      <Position>48</Position>
    </Report>
    <Report instance="dsgx-20200131.xml">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R49.htm</HtmlFileName>
      <LongName>048 - Disclosure - Note 21 - Supplemental Cash Flow Information (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.descartes.com/20200131/role/statement-note-21-supplemental-cash-flow-information-tables</Role>
      <ShortName>Note 21 - Supplemental Cash Flow Information (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <ParentRole>http://www.descartes.com/20200131/role/statement-note-21-supplemental-cash-flow-information</ParentRole>
      <Position>49</Position>
    </Report>
    <Report instance="dsgx-20200131.xml">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R50.htm</HtmlFileName>
      <LongName>049 - Disclosure - Note 22 - Segmented Information (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.descartes.com/20200131/role/statement-note-22-segmented-information-tables</Role>
      <ShortName>Note 22 - Segmented Information (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <ParentRole>http://www.descartes.com/20200131/role/statement-note-22-segmented-information</ParentRole>
      <Position>50</Position>
    </Report>
    <Report instance="dsgx-20200131.xml">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R51.htm</HtmlFileName>
      <LongName>050 - Disclosure - Note 2 - Basis of Presentation (Details Textual)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.descartes.com/20200131/role/statement-note-2-basis-of-presentation-details-textual</Role>
      <ShortName>Note 2 - Basis of Presentation (Details Textual)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://www.descartes.com/20200131/role/statement-note-2-basis-of-presentation</ParentRole>
      <Position>51</Position>
    </Report>
    <Report instance="dsgx-20200131.xml">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R52.htm</HtmlFileName>
      <LongName>051 - Disclosure - Note 3 - Acquisitions (Details Textual)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.descartes.com/20200131/role/statement-note-3-acquisitions-details-textual</Role>
      <ShortName>Note 3 - Acquisitions (Details Textual)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://www.descartes.com/20200131/role/statement-note-3-acquisitions-tables</ParentRole>
      <Position>52</Position>
    </Report>
    <Report instance="dsgx-20200131.xml">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R53.htm</HtmlFileName>
      <LongName>052 - Disclosure - Note 3 - Acquisitions - Preliminary Purchase Price Allocation for Businesses Acquired (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.descartes.com/20200131/role/statement-note-3-acquisitions-preliminary-purchase-price-allocation-for-businesses-acquired-details</Role>
      <ShortName>Note 3 - Acquisitions - Preliminary Purchase Price Allocation for Businesses Acquired (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>53</Position>
    </Report>
    <Report instance="dsgx-20200131.xml">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R54.htm</HtmlFileName>
      <LongName>053 - Disclosure - Note 3 - Acquisitions - Preliminary Purchase Price Allocation for Businesses Acquired (Details) (Parentheticals)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.descartes.com/20200131/role/statement-note-3-acquisitions-preliminary-purchase-price-allocation-for-businesses-acquired-details-parentheticals</Role>
      <ShortName>Note 3 - Acquisitions - Preliminary Purchase Price Allocation for Businesses Acquired (Details) (Parentheticals)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>54</Position>
    </Report>
    <Report instance="dsgx-20200131.xml">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R55.htm</HtmlFileName>
      <LongName>054 - Disclosure - Note 3 - Acquisitions - Acquired Intangible Assets Useful Lives (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.descartes.com/20200131/role/statement-note-3-acquisitions-acquired-intangible-assets-useful-lives-details</Role>
      <ShortName>Note 3 - Acquisitions - Acquired Intangible Assets Useful Lives (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>55</Position>
    </Report>
    <Report instance="dsgx-20200131.xml">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R56.htm</HtmlFileName>
      <LongName>055 - Disclosure - Note 3 - Acquisitions - Pro Forma Results of Operations (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.descartes.com/20200131/role/statement-note-3-acquisitions-pro-forma-results-of-operations-details</Role>
      <ShortName>Note 3 - Acquisitions - Pro Forma Results of Operations (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>56</Position>
    </Report>
    <Report instance="dsgx-20200131.xml">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R57.htm</HtmlFileName>
      <LongName>056 - Disclosure - Note 4 - Fair Value Measurements (Details Textual)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.descartes.com/20200131/role/statement-note-4-fair-value-measurements-details-textual</Role>
      <ShortName>Note 4 - Fair Value Measurements (Details Textual)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://www.descartes.com/20200131/role/statement-note-4-fair-value-measurements-tables</ParentRole>
      <Position>57</Position>
    </Report>
    <Report instance="dsgx-20200131.xml">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R58.htm</HtmlFileName>
      <LongName>057 - Disclosure - Note 4 - Fair Value Measurements - Derivative Instruments at Fair Value (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.descartes.com/20200131/role/statement-note-4-fair-value-measurements-derivative-instruments-at-fair-value-details</Role>
      <ShortName>Note 4 - Fair Value Measurements - Derivative Instruments at Fair Value (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>58</Position>
    </Report>
    <Report instance="dsgx-20200131.xml">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R59.htm</HtmlFileName>
      <LongName>058 - Disclosure - Note 5 - Trade Receivables (Details Textual)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.descartes.com/20200131/role/statement-note-5-trade-receivables-details-textual</Role>
      <ShortName>Note 5 - Trade Receivables (Details Textual)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://www.descartes.com/20200131/role/statement-note-5-trade-receivables-tables</ParentRole>
      <Position>59</Position>
    </Report>
    <Report instance="dsgx-20200131.xml">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R60.htm</HtmlFileName>
      <LongName>059 - Disclosure - Note 5 - Trade Receivables - Trade Receivables (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.descartes.com/20200131/role/statement-note-5-trade-receivables-trade-receivables-details</Role>
      <ShortName>Note 5 - Trade Receivables - Trade Receivables (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>60</Position>
    </Report>
    <Report instance="dsgx-20200131.xml">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R61.htm</HtmlFileName>
      <LongName>060 - Disclosure - Note 6 - Other Receivables (Details Textual)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.descartes.com/20200131/role/statement-note-6-other-receivables-details-textual</Role>
      <ShortName>Note 6 - Other Receivables (Details Textual)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://www.descartes.com/20200131/role/statement-note-6-other-receivables-tables</ParentRole>
      <Position>61</Position>
    </Report>
    <Report instance="dsgx-20200131.xml">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R62.htm</HtmlFileName>
      <LongName>061 - Disclosure - Note 6 - Other Receivables - Other Receivables (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.descartes.com/20200131/role/statement-note-6-other-receivables-other-receivables-details</Role>
      <ShortName>Note 6 - Other Receivables - Other Receivables (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>62</Position>
    </Report>
    <Report instance="dsgx-20200131.xml">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R63.htm</HtmlFileName>
      <LongName>062 - Disclosure - Note 7 - Inventory (Details Textual)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.descartes.com/20200131/role/statement-note-7-inventory-details-textual</Role>
      <ShortName>Note 7 - Inventory (Details Textual)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://www.descartes.com/20200131/role/statement-note-7-inventory</ParentRole>
      <Position>63</Position>
    </Report>
    <Report instance="dsgx-20200131.xml">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R64.htm</HtmlFileName>
      <LongName>063 - Disclosure - Note 8 - Property and Equipment - Property and Equipment (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.descartes.com/20200131/role/statement-note-8-property-and-equipment-property-and-equipment-details</Role>
      <ShortName>Note 8 - Property and Equipment - Property and Equipment (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>64</Position>
    </Report>
    <Report instance="dsgx-20200131.xml">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R65.htm</HtmlFileName>
      <LongName>064 - Disclosure - Note 9 - Intangible Assets (Details Textual)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.descartes.com/20200131/role/statement-note-9-intangible-assets-details-textual</Role>
      <ShortName>Note 9 - Intangible Assets (Details Textual)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://www.descartes.com/20200131/role/statement-note-9-intangible-assets-tables</ParentRole>
      <Position>65</Position>
    </Report>
    <Report instance="dsgx-20200131.xml">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R66.htm</HtmlFileName>
      <LongName>065 - Disclosure - Note 9 - Intangible Assets - Intangible Assets (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.descartes.com/20200131/role/statement-note-9-intangible-assets-intangible-assets-details</Role>
      <ShortName>Note 9 - Intangible Assets - Intangible Assets (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>66</Position>
    </Report>
    <Report instance="dsgx-20200131.xml">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R67.htm</HtmlFileName>
      <LongName>066 - Disclosure - Note 10 - Goodwill - Goodwill (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.descartes.com/20200131/role/statement-note-10-goodwill-goodwill-details</Role>
      <ShortName>Note 10 - Goodwill - Goodwill (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>67</Position>
    </Report>
    <Report instance="dsgx-20200131.xml">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R68.htm</HtmlFileName>
      <LongName>067 - Disclosure - Note 11 - Accrued Liabilities - Accrued Liabilities (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.descartes.com/20200131/role/statement-note-11-accrued-liabilities-accrued-liabilities-details</Role>
      <ShortName>Note 11 - Accrued Liabilities - Accrued Liabilities (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>68</Position>
    </Report>
    <Report instance="dsgx-20200131.xml">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R69.htm</HtmlFileName>
      <LongName>068 - Disclosure - Note 12 - Debt (Details Textual)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.descartes.com/20200131/role/statement-note-12-debt-details-textual</Role>
      <ShortName>Note 12 - Debt (Details Textual)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://www.descartes.com/20200131/role/statement-note-12-debt-tables</ParentRole>
      <Position>69</Position>
    </Report>
    <Report instance="dsgx-20200131.xml">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R70.htm</HtmlFileName>
      <LongName>069 - Disclosure - Note 12 - Debt - Schedule of Long-term Debt (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.descartes.com/20200131/role/statement-note-12-debt-schedule-of-longterm-debt-details</Role>
      <ShortName>Note 12 - Debt - Schedule of Long-term Debt (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>70</Position>
    </Report>
    <Report instance="dsgx-20200131.xml">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R71.htm</HtmlFileName>
      <LongName>070 - Disclosure - Note 13 - Leases (Details Textual)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.descartes.com/20200131/role/statement-note-13-leases-details-textual</Role>
      <ShortName>Note 13 - Leases (Details Textual)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://www.descartes.com/20200131/role/statement-note-13-leases-tables</ParentRole>
      <Position>71</Position>
    </Report>
    <Report instance="dsgx-20200131.xml">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R72.htm</HtmlFileName>
      <LongName>071 - Disclosure - Note 13 - Leases - Components of Operating Lease Expense (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.descartes.com/20200131/role/statement-note-13-leases-components-of-operating-lease-expense-details</Role>
      <ShortName>Note 13 - Leases - Components of Operating Lease Expense (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>72</Position>
    </Report>
    <Report instance="dsgx-20200131.xml">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R73.htm</HtmlFileName>
      <LongName>072 - Disclosure - Note 13 - Leases - Maturities of Operating Lease Liabilities (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.descartes.com/20200131/role/statement-note-13-leases-maturities-of-operating-lease-liabilities-details</Role>
      <ShortName>Note 13 - Leases - Maturities of Operating Lease Liabilities (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>73</Position>
    </Report>
    <Report instance="dsgx-20200131.xml">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R74.htm</HtmlFileName>
      <LongName>073 - Disclosure - Note 13 - Leases - Lease Obligations (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.descartes.com/20200131/role/statement-note-13-leases-lease-obligations-details</Role>
      <ShortName>Note 13 - Leases - Lease Obligations (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>74</Position>
    </Report>
    <Report instance="dsgx-20200131.xml">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R75.htm</HtmlFileName>
      <LongName>074 - Disclosure - Note 14 - Commitments, Contingencies and Guarantees (Details Textual)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.descartes.com/20200131/role/statement-note-14-commitments-contingencies-and-guarantees-details-textual</Role>
      <ShortName>Note 14 - Commitments, Contingencies and Guarantees (Details Textual)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://www.descartes.com/20200131/role/statement-note-14-commitments-contingencies-and-guarantees</ParentRole>
      <Position>75</Position>
    </Report>
    <Report instance="dsgx-20200131.xml">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R76.htm</HtmlFileName>
      <LongName>075 - Disclosure - Note 15 - Share Capital (Details Textual)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.descartes.com/20200131/role/statement-note-15-share-capital-details-textual</Role>
      <ShortName>Note 15 - Share Capital (Details Textual)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://www.descartes.com/20200131/role/statement-note-15-share-capital-tables</ParentRole>
      <Position>76</Position>
    </Report>
    <Report instance="dsgx-20200131.xml">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R77.htm</HtmlFileName>
      <LongName>076 - Disclosure - Note 15 - Share Capital - Common Shares Outstanding (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.descartes.com/20200131/role/statement-note-15-share-capital-common-shares-outstanding-details</Role>
      <ShortName>Note 15 - Share Capital - Common Shares Outstanding (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>77</Position>
    </Report>
    <Report instance="dsgx-20200131.xml">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R78.htm</HtmlFileName>
      <LongName>077 - Disclosure - Note 16 - Earnings Per Share (Details Textual)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.descartes.com/20200131/role/statement-note-16-earnings-per-share-details-textual</Role>
      <ShortName>Note 16 - Earnings Per Share (Details Textual)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://www.descartes.com/20200131/role/statement-note-16-earnings-per-share-tables</ParentRole>
      <Position>78</Position>
    </Report>
    <Report instance="dsgx-20200131.xml">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R79.htm</HtmlFileName>
      <LongName>078 - Disclosure - Note 16 - Earnings Per Share - Computation of Basic and Diluted Earnings Per Share (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.descartes.com/20200131/role/statement-note-16-earnings-per-share-computation-of-basic-and-diluted-earnings-per-share-details</Role>
      <ShortName>Note 16 - Earnings Per Share - Computation of Basic and Diluted Earnings Per Share (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>79</Position>
    </Report>
    <Report instance="dsgx-20200131.xml">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R80.htm</HtmlFileName>
      <LongName>079 - Disclosure - Note 17 - Stock-based Compensation Plans (Details Textual)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.descartes.com/20200131/role/statement-note-17-stockbased-compensation-plans-details-textual</Role>
      <ShortName>Note 17 - Stock-based Compensation Plans (Details Textual)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://www.descartes.com/20200131/role/statement-note-17-stockbased-compensation-plans-tables</ParentRole>
      <Position>80</Position>
    </Report>
    <Report instance="dsgx-20200131.xml">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R81.htm</HtmlFileName>
      <LongName>080 - Disclosure - Note 17 - Stock-based Compensation Plans - Total Estimated Stock-based Compensation Expense (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.descartes.com/20200131/role/statement-note-17-stockbased-compensation-plans-total-estimated-stockbased-compensation-expense-details</Role>
      <ShortName>Note 17 - Stock-based Compensation Plans - Total Estimated Stock-based Compensation Expense (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>81</Position>
    </Report>
    <Report instance="dsgx-20200131.xml">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R82.htm</HtmlFileName>
      <LongName>081 - Disclosure - Note 17 - Stock-based Compensation Plans - Assumptions Used in Black-scholes Model for Each Grant (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.descartes.com/20200131/role/statement-note-17-stockbased-compensation-plans-assumptions-used-in-blackscholes-model-for-each-grant-details</Role>
      <ShortName>Note 17 - Stock-based Compensation Plans - Assumptions Used in Black-scholes Model for Each Grant (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>82</Position>
    </Report>
    <Report instance="dsgx-20200131.xml">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R83.htm</HtmlFileName>
      <LongName>082 - Disclosure - Note 17 -Stock-based Compensation Plans - Summary of Option Activity (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.descartes.com/20200131/role/statement-note-17-stockbased-compensation-plans-summary-of-option-activity-details</Role>
      <ShortName>Note 17 -Stock-based Compensation Plans - Summary of Option Activity (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>83</Position>
    </Report>
    <Report instance="dsgx-20200131.xml">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R84.htm</HtmlFileName>
      <LongName>083 - Disclosure - Note 17 - Stock-based Compensation Plans - Options Outstanding and Options Exercisable (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.descartes.com/20200131/role/statement-note-17-stockbased-compensation-plans-options-outstanding-and-options-exercisable-details</Role>
      <ShortName>Note 17 - Stock-based Compensation Plans - Options Outstanding and Options Exercisable (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>84</Position>
    </Report>
    <Report instance="dsgx-20200131.xml">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R85.htm</HtmlFileName>
      <LongName>084 - Disclosure - Note 17 - Stock-based Compensation Plans - Summary of Nonvested Share (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.descartes.com/20200131/role/statement-note-17-stockbased-compensation-plans-summary-of-nonvested-share-details</Role>
      <ShortName>Note 17 - Stock-based Compensation Plans - Summary of Nonvested Share (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>85</Position>
    </Report>
    <Report instance="dsgx-20200131.xml">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R86.htm</HtmlFileName>
      <LongName>085 - Disclosure - Note 17 - Stock-based Compensation Plans Summary of Performance Share Units Activity (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.descartes.com/20200131/role/statement-note-17-stockbased-compensation-plans-summary-of-performance-share-units-activity-details</Role>
      <ShortName>Note 17 - Stock-based Compensation Plans Summary of Performance Share Units Activity (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>86</Position>
    </Report>
    <Report instance="dsgx-20200131.xml">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R87.htm</HtmlFileName>
      <LongName>086 - Disclosure - Note 17 - Stock-based Compensation Plans - Summary of Restricted Share Units Activity (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.descartes.com/20200131/role/statement-note-17-stockbased-compensation-plans-summary-of-restricted-share-units-activity-details</Role>
      <ShortName>Note 17 - Stock-based Compensation Plans - Summary of Restricted Share Units Activity (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>87</Position>
    </Report>
    <Report instance="dsgx-20200131.xml">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R88.htm</HtmlFileName>
      <LongName>087 - Disclosure - Note 17 - Stock-based Compensation Plans - Summary of CRSU Plan Activity (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.descartes.com/20200131/role/statement-note-17-stockbased-compensation-plans-summary-of-crsu-plan-activity-details</Role>
      <ShortName>Note 17 - Stock-based Compensation Plans - Summary of CRSU Plan Activity (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>88</Position>
    </Report>
    <Report instance="dsgx-20200131.xml">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R89.htm</HtmlFileName>
      <LongName>088 - Disclosure - Note 18 - Income Taxes (Details Textual)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.descartes.com/20200131/role/statement-note-18-income-taxes-details-textual</Role>
      <ShortName>Note 18 - Income Taxes (Details Textual)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://www.descartes.com/20200131/role/statement-note-18-income-taxes-tables</ParentRole>
      <Position>89</Position>
    </Report>
    <Report instance="dsgx-20200131.xml">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R90.htm</HtmlFileName>
      <LongName>089 - Disclosure - Note 18 - Income Taxes - Income (Loss) Before Income Taxes Earned by Tax Jurisdictions (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.descartes.com/20200131/role/statement-note-18-income-taxes-income-loss-before-income-taxes-earned-by-tax-jurisdictions-details</Role>
      <ShortName>Note 18 - Income Taxes - Income (Loss) Before Income Taxes Earned by Tax Jurisdictions (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>90</Position>
    </Report>
    <Report instance="dsgx-20200131.xml">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R91.htm</HtmlFileName>
      <LongName>090 - Disclosure - Note 18 - Income Taxes - Income Tax Expense (Recovery) Incurred by Jurisdictions (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.descartes.com/20200131/role/statement-note-18-income-taxes-income-tax-expense-recovery-incurred-by-jurisdictions-details</Role>
      <ShortName>Note 18 - Income Taxes - Income Tax Expense (Recovery) Incurred by Jurisdictions (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>91</Position>
    </Report>
    <Report instance="dsgx-20200131.xml">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R92.htm</HtmlFileName>
      <LongName>091 - Disclosure - Note 18 - Income Taxes - Components of Deferred Income Tax Assets and Liabilities (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.descartes.com/20200131/role/statement-note-18-income-taxes-components-of-deferred-income-tax-assets-and-liabilities-details</Role>
      <ShortName>Note 18 - Income Taxes - Components of Deferred Income Tax Assets and Liabilities (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>92</Position>
    </Report>
    <Report instance="dsgx-20200131.xml">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R93.htm</HtmlFileName>
      <LongName>092 - Disclosure - Note 18 - Income Taxes - Provision (Recovery) for Income Taxes from the Expected Provision at the Statutory Rates (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.descartes.com/20200131/role/statement-note-18-income-taxes-provision-recovery-for-income-taxes-from-the-expected-provision-at-the-statutory-rates-details</Role>
      <ShortName>Note 18 - Income Taxes - Provision (Recovery) for Income Taxes from the Expected Provision at the Statutory Rates (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>93</Position>
    </Report>
    <Report instance="dsgx-20200131.xml">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R94.htm</HtmlFileName>
      <LongName>093 - Disclosure - Note 18 - Income Taxes - Income Tax Loss Carryforwards Expiration Dates (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.descartes.com/20200131/role/statement-note-18-income-taxes-income-tax-loss-carryforwards-expiration-dates-details</Role>
      <ShortName>Note 18 - Income Taxes - Income Tax Loss Carryforwards Expiration Dates (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>94</Position>
    </Report>
    <Report instance="dsgx-20200131.xml">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R95.htm</HtmlFileName>
      <LongName>094 - Disclosure - Note 18 - Income Taxes - Reconciliation of the Total Estimated Liability Associated With Uncertain Tax Provisions (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.descartes.com/20200131/role/statement-note-18-income-taxes-reconciliation-of-the-total-estimated-liability-associated-with-uncertain-tax-provisions-details</Role>
      <ShortName>Note 18 - Income Taxes - Reconciliation of the Total Estimated Liability Associated With Uncertain Tax Provisions (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>95</Position>
    </Report>
    <Report instance="dsgx-20200131.xml">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R96.htm</HtmlFileName>
      <LongName>095 - Disclosure - Note 19 - Contract Balances, Performance Obligations and Contract Costs 1 (Details Textual)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.descartes.com/20200131/role/statement-note-19-contract-balances-performance-obligations-and-contract-costs-1-details-textual</Role>
      <ShortName>Note 19 - Contract Balances, Performance Obligations and Contract Costs 1 (Details Textual)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://www.descartes.com/20200131/role/statement-note-19-contract-balances-performance-obligations-and-contract-costs-tables</ParentRole>
      <Position>96</Position>
    </Report>
    <Report instance="dsgx-20200131.xml">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R97.htm</HtmlFileName>
      <LongName>096 - Disclosure - Note 19 - Contract Balances, Performance Obligations and Contract Costs 2 (Details Textual)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.descartes.com/20200131/role/statement-note-19-contract-balances-performance-obligations-and-contract-costs-2-details-textual</Role>
      <ShortName>Note 19 - Contract Balances, Performance Obligations and Contract Costs 2 (Details Textual)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://www.descartes.com/20200131/role/statement-note-19-contract-balances-performance-obligations-and-contract-costs-tables</ParentRole>
      <Position>97</Position>
    </Report>
    <Report instance="dsgx-20200131.xml">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R98.htm</HtmlFileName>
      <LongName>097 - Disclosure - Note 19 - Contract Balances, Performance Obligations and Contract Costs - Changes in Deferred Revenue and Contract Assets (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.descartes.com/20200131/role/statement-note-19-contract-balances-performance-obligations-and-contract-costs-changes-in-deferred-revenue-and-contract-assets-details</Role>
      <ShortName>Note 19 - Contract Balances, Performance Obligations and Contract Costs - Changes in Deferred Revenue and Contract Assets (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>98</Position>
    </Report>
    <Report instance="dsgx-20200131.xml">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R99.htm</HtmlFileName>
      <LongName>098 - Disclosure - Note 20 - Other Charges - Other Charges Included in Consolidated Statements of Operations (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.descartes.com/20200131/role/statement-note-20-other-charges-other-charges-included-in-consolidated-statements-of-operations-details</Role>
      <ShortName>Note 20 - Other Charges - Other Charges Included in Consolidated Statements of Operations (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>99</Position>
    </Report>
    <Report instance="dsgx-20200131.xml">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R100.htm</HtmlFileName>
      <LongName>099 - Disclosure - Note 21 - Supplemental Cash Flow Information - Cash Flow Changes in Operating Asset and Liabilities (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.descartes.com/20200131/role/statement-note-21-supplemental-cash-flow-information-cash-flow-changes-in-operating-asset-and-liabilities-details</Role>
      <ShortName>Note 21 - Supplemental Cash Flow Information - Cash Flow Changes in Operating Asset and Liabilities (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>100</Position>
    </Report>
    <Report instance="dsgx-20200131.xml">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R101.htm</HtmlFileName>
      <LongName>100 - Disclosure - Note 22 - Segmented Information (Details Textual)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.descartes.com/20200131/role/statement-note-22-segmented-information-details-textual</Role>
      <ShortName>Note 22 - Segmented Information (Details Textual)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://www.descartes.com/20200131/role/statement-note-22-segmented-information-tables</ParentRole>
      <Position>101</Position>
    </Report>
    <Report instance="dsgx-20200131.xml">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R102.htm</HtmlFileName>
      <LongName>101 - Disclosure - Note 22 - Segmented Information - Segmented Revenue by Geographical Location of Customer (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.descartes.com/20200131/role/statement-note-22-segmented-information-segmented-revenue-by-geographical-location-of-customer-details</Role>
      <ShortName>Note 22 - Segmented Information - Segmented Revenue by Geographical Location of Customer (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>102</Position>
    </Report>
    <Report instance="dsgx-20200131.xml">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R103.htm</HtmlFileName>
      <LongName>102 - Disclosure - Note 22 - Segmented Information - Segmented Revenue by Revenue Type (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.descartes.com/20200131/role/statement-note-22-segmented-information-segmented-revenue-by-revenue-type-details</Role>
      <ShortName>Note 22 - Segmented Information - Segmented Revenue by Revenue Type (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>103</Position>
    </Report>
    <Report instance="dsgx-20200131.xml">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R104.htm</HtmlFileName>
      <LongName>103 - Disclosure - Note 22 - Segmented Information - Long-lived Assets by Geographical Location (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.descartes.com/20200131/role/statement-note-22-segmented-information-longlived-assets-by-geographical-location-details</Role>
      <ShortName>Note 22 - Segmented Information - Long-lived Assets by Geographical Location (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>104</Position>
    </Report>
    <Report instance="dsgx-20200131.xml">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R105.htm</HtmlFileName>
      <LongName>104 - Disclosure - Note 23 - Subsequent Event (Details Textual)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.descartes.com/20200131/role/statement-note-23-subsequent-event-details-textual</Role>
      <ShortName>Note 23 - Subsequent Event (Details Textual)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://www.descartes.com/20200131/role/statement-note-23-subsequent-event-</ParentRole>
      <Position>105</Position>
    </Report>
    <Report>
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <LongName>All Reports</LongName>
      <ReportType>Book</ReportType>
      <ShortName>All Reports</ShortName>
    </Report>
  </MyReports>
  <InputFiles>
    <File>dsgx-20200131.xml</File>
    <File>dsgx-20200131.xsd</File>
    <File>dsgx-20200131_cal.xml</File>
    <File>dsgx-20200131_def.xml</File>
    <File>dsgx-20200131_lab.xml</File>
    <File>dsgx-20200131_pre.xml</File>
  </InputFiles>
  <SupplementalFiles/>
  <BaseTaxonomies>
    <BaseTaxonomy>http://fasb.org/us-gaap/2019-01-31</BaseTaxonomy>
    <BaseTaxonomy>http://xbrl.sec.gov/country/2017-01-31</BaseTaxonomy>
    <BaseTaxonomy>http://fasb.org/srt/2019-01-31</BaseTaxonomy>
    <BaseTaxonomy>http://xbrl.sec.gov/dei/2019-01-31</BaseTaxonomy>
  </BaseTaxonomies>
  <HasPresentationLinkbase>true</HasPresentationLinkbase>
  <HasCalculationLinkbase>true</HasCalculationLinkbase>
</FilingSummary>
</XML>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>26
<FILENAME>R102.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.20.1</span><table class="report" border="0" cellspacing="2" id="idp6900098096">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Note 22 - Segmented Information - Segmented Revenue by Geographical Location of Customer (Details) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th" colspan="3">12 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Jan. 31, 2020</div></th>
<th class="th"><div>Jan. 31, 2019</div></th>
<th class="th"><div>Jan. 31, 2018</div></th>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax', window );">Geographical Revenue</a></td>
<td class="nump">$ 325,791<span></span>
</td>
<td class="nump">$ 275,171<span></span>
</td>
<td class="nump">$ 237,439<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_srt_StatementGeographicalAxis=country_US', window );">UNITED STATES</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax', window );">Geographical Revenue</a></td>
<td class="nump">202,814<span></span>
</td>
<td class="nump">165,115<span></span>
</td>
<td class="nump">133,263<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_srt_StatementGeographicalAxis=us-gaap_EMEAMember', window );">EMEA [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax', window );">Geographical Revenue</a></td>
<td class="nump">82,596<span></span>
</td>
<td class="nump">80,094<span></span>
</td>
<td class="nump">77,576<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_srt_StatementGeographicalAxis=country_CA', window );">CANADA</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax', window );">Geographical Revenue</a></td>
<td class="nump">27,304<span></span>
</td>
<td class="nump">18,167<span></span>
</td>
<td class="nump">15,667<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_srt_StatementGeographicalAxis=srt_AsiaPacificMember', window );">Asia Pacific [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax', window );">Geographical Revenue</a></td>
<td class="nump">$ 13,077<span></span>
</td>
<td class="nump">$ 11,795<span></span>
</td>
<td class="nump">$ 10,933<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount, including tax collected from customer, of revenue from satisfaction of performance obligation by transferring promised good or service to customer. Tax collected from customer is tax assessed by governmental authority that is both imposed on and concurrent with specific revenue-producing transaction, including, but not limited to, sales, use, value-added and excise.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 606<br> -SubTopic 10<br> -Section 50<br> -Paragraph 5<br> -URI http://asc.fasb.org/extlink&amp;oid=118956577&amp;loc=SL49130545-203045<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 606<br> -SubTopic 10<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=118956577&amp;loc=SL49130543-203045<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_StatementGeographicalAxis=country_US">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_StatementGeographicalAxis=country_US</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_StatementGeographicalAxis=us-gaap_EMEAMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_StatementGeographicalAxis=us-gaap_EMEAMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_StatementGeographicalAxis=country_CA">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_StatementGeographicalAxis=country_CA</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_StatementGeographicalAxis=srt_AsiaPacificMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_StatementGeographicalAxis=srt_AsiaPacificMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>27
<FILENAME>R51.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.20.1</span><table class="report" border="0" cellspacing="2" id="idp6916001280">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Note 2 - Basis of Presentation (Details Textual)<br> $ in Thousands</strong></div></th>
<th class="th" colspan="3">12 Months Ended</th>
<th class="th" colspan="1"></th>
<th class="th" colspan="1"></th>
</tr>
<tr>
<th class="th">
<div>Jan. 31, 2020 </div>
<div>USD ($)</div>
</th>
<th class="th">
<div>Jan. 31, 2019 </div>
<div>USD ($)</div>
</th>
<th class="th">
<div>Jan. 31, 2018 </div>
<div>USD ($)</div>
</th>
<th class="th">
<div>Feb. 01, 2019 </div>
<div>USD ($)</div>
</th>
<th class="th">
<div>Feb. 01, 2018 </div>
<div>USD ($)</div>
</th>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ForeignCurrencyTransactionGainLossBeforeTax', window );">Foreign Currency Transaction Gain (Loss), before Tax, Total</a></td>
<td class="nump">$ 600<span></span>
</td>
<td class="num">$ (400)<span></span>
</td>
<td class="num">$ (400)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ImpairmentOfLongLivedAssetsHeldForUse', window );">Impairment of Long-Lived Assets Held-for-use</a></td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_GoodwillImpairmentLoss', window );">Goodwill, Impairment Loss</a></td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ContractWithCustomerAssetNet', window );">Contract with Customer, Asset, after Allowance for Credit Loss, Total</a></td>
<td class="nump">1,107<span></span>
</td>
<td class="nump">812<span></span>
</td>
<td class="nump">495<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_OtherAssetsNoncurrent', window );">Other Assets, Noncurrent, Total</a></td>
<td class="nump">13,520<span></span>
</td>
<td class="nump">10,510<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DeferredIncomeTaxLiabilitiesNet', window );">Deferred Income Tax Liabilities, Net, Total</a></td>
<td class="nump">15,067<span></span>
</td>
<td class="nump">15,507<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_RetainedEarningsAccumulatedDeficit', window );">Retained Earnings (Accumulated Deficit), Ending Balance</a></td>
<td class="num">(135,770)<span></span>
</td>
<td class="num">(172,767)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_OperatingLeaseLiability', window );">Operating Lease, Liability, Total</a></td>
<td class="nump">13,405<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_OperatingLeaseRightOfUseAsset', window );">Operating Lease, Right-of-Use Asset</a></td>
<td class="nump">12,877<span></span>
</td>
<td class="text"> <span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_StatementEquityComponentsAxis=us-gaap_RetainedEarningsMember', window );">Retained Earnings [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_CumulativeEffectOfNewAccountingPrincipleInPeriodOfAdoption', window );">Cumulative Effect of New Accounting Principle in Period of Adoption</a></td>
<td class="text"> <span></span>
</td>
<td class="nump">$ 7,579<span></span>
</td>
<td class="num">$ (37)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AdjustmentsForNewAccountingPronouncementsAxis=us-gaap_AccountingStandardsUpdate201409Member', window );">Accounting Standards Update 2014-09 [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ContractWithCustomerAssetNet', window );">Contract with Customer, Asset, after Allowance for Credit Loss, Total</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 500<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_OtherAssetsNoncurrent', window );">Other Assets, Noncurrent, Total</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">4,200<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DeferredIncomeTaxLiabilitiesNet', window );">Deferred Income Tax Liabilities, Net, Total</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">1,100<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_RetainedEarningsAccumulatedDeficit', window );">Retained Earnings (Accumulated Deficit), Ending Balance</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">3,600<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AdjustmentsForNewAccountingPronouncementsAxis=us-gaap_AccountingStandardsUpdate201606Member', window );">Accounting Standards Update 2016-06 [Member] | Retained Earnings [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_CumulativeEffectOfNewAccountingPrincipleInPeriodOfAdoption', window );">Cumulative Effect of New Accounting Principle in Period of Adoption</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 4,000<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AdjustmentsForNewAccountingPronouncementsAxis=us-gaap_AccountingStandardsUpdate201602Member', window );">Accounting Standards Update 2016-02 [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_OperatingLeaseLiability', window );">Operating Lease, Liability, Total</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 10,400<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_OperatingLeaseRightOfUseAsset', window );">Operating Lease, Right-of-Use Asset</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 10,400<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AwardTypeAxis=us-gaap_EmployeeStockOptionMember', window );">Share-based Payment Arrangement, Option [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1', window );">Share-based Compensation Arrangement by Share-based Payment Award, Award Vesting Period</a></td>
<td class="text">5 years<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardExpirationPeriod', window );">Share-based Compensation Arrangement by Share-based Payment Award, Expiration Period</a></td>
<td class="text">7 years<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AwardTypeAxis=us-gaap_PerformanceSharesMember', window );">Performance Shares [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1', window );">Share-based Compensation Arrangement by Share-based Payment Award, Award Vesting Period</a></td>
<td class="text">3 years<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardExpirationPeriod', window );">Share-based Compensation Arrangement by Share-based Payment Award, Expiration Period</a></td>
<td class="text">10 years<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AwardTypeAxis=us-gaap_RestrictedStockUnitsRSUMember', window );">Restricted Stock Units (RSUs) [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1', window );">Share-based Compensation Arrangement by Share-based Payment Award, Award Vesting Period</a></td>
<td class="text">3 years<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardExpirationPeriod', window );">Share-based Compensation Arrangement by Share-based Payment Award, Expiration Period</a></td>
<td class="text">10 years<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AwardTypeAxis=dsgx_DeferredShareUnitPlanMember', window );">Deferred Share Unit Plan [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_dsgx_BaseAnnualFeePercent', window );">Base Annual Fee, Percent</a></td>
<td class="nump">50.00%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentByTypeAxis=us-gaap_ComputerEquipmentMember', window );">Computer Equipment [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_dsgx_PropertyPlantAndEquipmentPercentDecliningBalanceDepreciation', window );">Property Plant and Equipment, Percent Declining Balance Depreciation</a></td>
<td class="nump">30.00%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentByTypeAxis=us-gaap_FurnitureAndFixturesMember', window );">Furniture and Fixtures [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_dsgx_PropertyPlantAndEquipmentPercentDecliningBalanceDepreciation', window );">Property Plant and Equipment, Percent Declining Balance Depreciation</a></td>
<td class="nump">20.00%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_srt_RangeAxis=srt_MinimumMember', window );">Minimum [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_dsgx_CostsToObtainAContractWithACustomerPeriodOfBenefitIncludingRenewals', window );">Costs to Obtain a Contract with a Customer, Period of Benefit Including Renewals</a></td>
<td class="text">4 years<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_srt_RangeAxis=srt_MinimumMember', window );">Minimum [Member] | Share-based Payment Arrangement, Option [Member] | Directors and Officers [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1', window );">Share-based Compensation Arrangement by Share-based Payment Award, Award Vesting Period</a></td>
<td class="text">3 years<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_srt_RangeAxis=srt_MinimumMember', window );">Minimum [Member] | Cash-Settled Restricted Share Plan [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_dsgx_CashSettledRestrictedShareUnitsVestingPeriod', window );">Cash Settled Restricted Share Units, Vesting Period</a></td>
<td class="text">3 years<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_srt_RangeAxis=srt_MaximumMember', window );">Maximum [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_dsgx_CostsToObtainAContractWithACustomerPeriodOfBenefitIncludingRenewals', window );">Costs to Obtain a Contract with a Customer, Period of Benefit Including Renewals</a></td>
<td class="text">6 years<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_srt_RangeAxis=srt_MaximumMember', window );">Maximum [Member] | Share-based Payment Arrangement, Option [Member] | Directors and Officers [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1', window );">Share-based Compensation Arrangement by Share-based Payment Award, Award Vesting Period</a></td>
<td class="text">5 years<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_srt_RangeAxis=srt_MaximumMember', window );">Maximum [Member] | Cash-Settled Restricted Share Plan [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_dsgx_CashSettledRestrictedShareUnitsVestingPeriod', window );">Cash Settled Restricted Share Units, Vesting Period</a></td>
<td class="text">5 years<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis=us-gaap_CustomerRelationshipsMember', window );">Customer Relationships [Member] | Minimum [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetUsefulLife', window );">Finite-Lived Intangible Asset, Useful Life</a></td>
<td class="text">3 years<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis=us-gaap_CustomerRelationshipsMember', window );">Customer Relationships [Member] | Maximum [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetUsefulLife', window );">Finite-Lived Intangible Asset, Useful Life</a></td>
<td class="text">20 years<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis=dsgx_ExistingTechnologyMember', window );">Existing Technology [Member] | Minimum [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetUsefulLife', window );">Finite-Lived Intangible Asset, Useful Life</a></td>
<td class="text">2 years<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis=dsgx_ExistingTechnologyMember', window );">Existing Technology [Member] | Maximum [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetUsefulLife', window );">Finite-Lived Intangible Asset, Useful Life</a></td>
<td class="text">12 years<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis=us-gaap_TradeNamesMember', window );">Trade Names [Member] | Minimum [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetUsefulLife', window );">Finite-Lived Intangible Asset, Useful Life</a></td>
<td class="text">1 year<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis=us-gaap_TradeNamesMember', window );">Trade Names [Member] | Maximum [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetUsefulLife', window );">Finite-Lived Intangible Asset, Useful Life</a></td>
<td class="text">15 years<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis=us-gaap_NoncompeteAgreementsMember', window );">Noncompete Agreements [Member] | Minimum [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetUsefulLife', window );">Finite-Lived Intangible Asset, Useful Life</a></td>
<td class="text">2 years<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis=us-gaap_NoncompeteAgreementsMember', window );">Noncompete Agreements [Member] | Maximum [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetUsefulLife', window );">Finite-Lived Intangible Asset, Useful Life</a></td>
<td class="text">12 years<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ConcentrationRiskByTypeAxis=us-gaap_CustomerConcentrationRiskMember', window );">Customer Concentration Risk [Member] | Accounts Receivable [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_dsgx_NumberOfMajorCustomers', window );">Number of Major Customers</a></td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dsgx_BaseAnnualFeePercent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The base annual fee percentage required for Directors participating in a share-based compensation plan.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dsgx_BaseAnnualFeePercent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dsgx_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>num:percentItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dsgx_CashSettledRestrictedShareUnitsVestingPeriod">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Period which an employee's right to exercise an award is no longer contingent on satisfaction of either a service condition, market condition or a performance condition, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents the reported fact of one year, five months, and thirteen days.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dsgx_CashSettledRestrictedShareUnitsVestingPeriod</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dsgx_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:durationItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dsgx_CostsToObtainAContractWithACustomerPeriodOfBenefitIncludingRenewals">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Represents the period of benefit, including renewals, associated with the asset for the incremental costs of obtaining a contract with a customer.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dsgx_CostsToObtainAContractWithACustomerPeriodOfBenefitIncludingRenewals</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dsgx_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:durationItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dsgx_NumberOfMajorCustomers">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Represents the number of major customers accounting for 10% or more of the specified concentration risk benchmark, which includes, but not limited to, sales revenue, accounts receivable, etc.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dsgx_NumberOfMajorCustomers</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dsgx_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:integerItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dsgx_PropertyPlantAndEquipmentPercentDecliningBalanceDepreciation">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The percentage of declining balance for depreciation of property, plant and equipment.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dsgx_PropertyPlantAndEquipmentPercentDecliningBalanceDepreciation</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dsgx_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>num:percentItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ContractWithCustomerAssetNet">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount, after allowance for credit loss, of right to consideration in exchange for good or service transferred to customer when right is conditioned on something other than passage of time.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 606<br> -SubTopic 10<br> -Section 50<br> -Paragraph 8<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=118956577&amp;loc=SL49130549-203045<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 606<br> -SubTopic 10<br> -Section 45<br> -Paragraph 1<br> -URI http://asc.fasb.org/extlink&amp;oid=118944033&amp;loc=SL49130531-203044<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 606<br> -SubTopic 10<br> -Section 45<br> -Paragraph 3<br> -URI http://asc.fasb.org/extlink&amp;oid=118944033&amp;loc=SL49130533-203044<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ContractWithCustomerAssetNet</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CumulativeEffectOfNewAccountingPrincipleInPeriodOfAdoption">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount after tax of increase (decrease) to equity or (increase) decrease to net assets, resulting from the cumulative effect adjustment of a new accounting principle applied in the period of adoption.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CumulativeEffectOfNewAccountingPrincipleInPeriodOfAdoption</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DeferredIncomeTaxLiabilitiesNet">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount, after deferred tax asset, of deferred tax liability attributable to taxable differences with jurisdictional netting.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -URI http://asc.fasb.org/extlink&amp;oid=84230637&amp;loc=d3e32537-109319<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 45<br> -Paragraph 6<br> -URI http://asc.fasb.org/extlink&amp;oid=116821951&amp;loc=d3e31931-109318<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DeferredIncomeTaxLiabilitiesNet</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FiniteLivedIntangibleAssetUsefulLife">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Useful life of finite-lived intangible assets, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents the reported fact of one year, five months, and thirteen days.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FiniteLivedIntangibleAssetUsefulLife</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:durationItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ForeignCurrencyTransactionGainLossBeforeTax">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount before tax of foreign currency transaction realized and unrealized gain (loss) recognized in the income statement.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 830<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1<br> -URI http://asc.fasb.org/extlink&amp;oid=6450222&amp;loc=d3e30840-110895<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 830<br> -SubTopic 20<br> -Section 45<br> -Paragraph 2<br> -URI http://asc.fasb.org/extlink&amp;oid=109240200&amp;loc=d3e30700-110894<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 830<br> -SubTopic 20<br> -Section 45<br> -Paragraph 1<br> -URI http://asc.fasb.org/extlink&amp;oid=109240200&amp;loc=d3e30690-110894<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ForeignCurrencyTransactionGainLossBeforeTax</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_GoodwillImpairmentLoss">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of loss from the write-down of an asset representing the future economic benefits arising from other assets acquired in a business combination that are not individually identified and separately recognized.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 20<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=108376223&amp;loc=d3e13854-109267<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=118932676&amp;loc=d3e3602-108585<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (e)<br> -URI http://asc.fasb.org/extlink&amp;oid=108376223&amp;loc=d3e13816-109267<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 20<br> -Section 45<br> -Paragraph 2<br> -URI http://asc.fasb.org/extlink&amp;oid=99380562&amp;loc=d3e13777-109266<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_GoodwillImpairmentLoss</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ImpairmentOfLongLivedAssetsHeldForUse">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The aggregate amount of write-downs for impairments recognized during the period for long lived assets held for use (including those held for disposal by means other than sale).</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=118932676&amp;loc=d3e3602-108585<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 360<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=109226691&amp;loc=d3e2921-110230<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 958<br> -SubTopic 220<br> -Section 45<br> -Paragraph 11<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=114873921&amp;loc=SL114875236-224282<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 360<br> -SubTopic 10<br> -Section 45<br> -Paragraph 4<br> -URI http://asc.fasb.org/extlink&amp;oid=109226348&amp;loc=d3e2420-110228<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ImpairmentOfLongLivedAssetsHeldForUse</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OperatingLeaseLiability">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Present value of lessee's discounted obligation for lease payments from operating lease.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 20<br> -Section 45<br> -Paragraph 1<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=77888419&amp;loc=SL77918627-209977<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OperatingLeaseLiability</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OperatingLeaseRightOfUseAsset">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of lessee's right to use underlying asset under operating lease.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 20<br> -Section 45<br> -Paragraph 1<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=77888419&amp;loc=SL77918627-209977<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OperatingLeaseRightOfUseAsset</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OtherAssetsNoncurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of noncurrent assets classified as other.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.17)<br> -URI http://asc.fasb.org/extlink&amp;oid=6877327&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OtherAssetsNoncurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_RetainedEarningsAccumulatedDeficit">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The cumulative amount of the reporting entity's undistributed earnings or deficit.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(30)(a)(3))<br> -URI http://asc.fasb.org/extlink&amp;oid=6877327&amp;loc=d3e13212-122682<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 210<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(a)(23)(a)(4))<br> -URI http://asc.fasb.org/extlink&amp;oid=119400593&amp;loc=d3e572229-122910<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.3-04)<br> -URI http://asc.fasb.org/extlink&amp;oid=27012166&amp;loc=d3e187085-122770<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RetainedEarningsAccumulatedDeficit</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Period over which grantee's right to exercise award under share-based payment arrangement is no longer contingent on satisfaction of service or performance condition, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents reported fact of one year, five months, and thirteen days. Includes, but is not limited to, combination of market, performance or service condition.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)(1)<br> -URI http://asc.fasb.org/extlink&amp;oid=116856206&amp;loc=d3e5070-113901<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:durationItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardExpirationPeriod">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Period from grant date that an equity-based award expires, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents the reported fact of one year, five months, and thirteen days.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)(2)<br> -URI http://asc.fasb.org/extlink&amp;oid=116856206&amp;loc=d3e5070-113901<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardExpirationPeriod</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:durationItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StatementEquityComponentsAxis=us-gaap_RetainedEarningsMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StatementEquityComponentsAxis=us-gaap_RetainedEarningsMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AdjustmentsForNewAccountingPronouncementsAxis=us-gaap_AccountingStandardsUpdate201409Member">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AdjustmentsForNewAccountingPronouncementsAxis=us-gaap_AccountingStandardsUpdate201409Member</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AdjustmentsForNewAccountingPronouncementsAxis=us-gaap_AccountingStandardsUpdate201606Member">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AdjustmentsForNewAccountingPronouncementsAxis=us-gaap_AccountingStandardsUpdate201606Member</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AdjustmentsForNewAccountingPronouncementsAxis=us-gaap_AccountingStandardsUpdate201602Member">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AdjustmentsForNewAccountingPronouncementsAxis=us-gaap_AccountingStandardsUpdate201602Member</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AwardTypeAxis=us-gaap_EmployeeStockOptionMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AwardTypeAxis=us-gaap_EmployeeStockOptionMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AwardTypeAxis=us-gaap_PerformanceSharesMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AwardTypeAxis=us-gaap_PerformanceSharesMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AwardTypeAxis=us-gaap_RestrictedStockUnitsRSUMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AwardTypeAxis=us-gaap_RestrictedStockUnitsRSUMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AwardTypeAxis=dsgx_DeferredShareUnitPlanMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AwardTypeAxis=dsgx_DeferredShareUnitPlanMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PropertyPlantAndEquipmentByTypeAxis=us-gaap_ComputerEquipmentMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PropertyPlantAndEquipmentByTypeAxis=us-gaap_ComputerEquipmentMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PropertyPlantAndEquipmentByTypeAxis=us-gaap_FurnitureAndFixturesMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PropertyPlantAndEquipmentByTypeAxis=us-gaap_FurnitureAndFixturesMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_RangeAxis=srt_MinimumMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_RangeAxis=srt_MinimumMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_TitleOfIndividualAxis=dsgx_DirectorsAndOfficersMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_TitleOfIndividualAxis=dsgx_DirectorsAndOfficersMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AwardTypeAxis=dsgx_CashsettledRestrictedSharePlanMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AwardTypeAxis=dsgx_CashsettledRestrictedSharePlanMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_RangeAxis=srt_MaximumMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_RangeAxis=srt_MaximumMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis=us-gaap_CustomerRelationshipsMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis=us-gaap_CustomerRelationshipsMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis=dsgx_ExistingTechnologyMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis=dsgx_ExistingTechnologyMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis=us-gaap_TradeNamesMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis=us-gaap_TradeNamesMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis=us-gaap_NoncompeteAgreementsMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis=us-gaap_NoncompeteAgreementsMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ConcentrationRiskByTypeAxis=us-gaap_CustomerConcentrationRiskMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ConcentrationRiskByTypeAxis=us-gaap_CustomerConcentrationRiskMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ConcentrationRiskByBenchmarkAxis=us-gaap_AccountsReceivableMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ConcentrationRiskByBenchmarkAxis=us-gaap_AccountsReceivableMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>28
<FILENAME>R55.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.20.1</span><table class="report" border="0" cellspacing="2" id="idp6898843472">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Note 3 - Acquisitions - Acquired Intangible Assets Useful Lives (Details)<br></strong></div></th>
<th class="th" colspan="2">12 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Jan. 31, 2019</div></th>
<th class="th"><div>Jan. 31, 2018</div></th>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis=us-gaap_CustomerRelationshipsMember', window );">Customer Relationships [Member] | Visual Compliance [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetUsefulLife', window );">Acquired intangible assets estimated useful lives (Year)</a></td>
<td class="text">14 years<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis=us-gaap_CustomerRelationshipsMember', window );">Customer Relationships [Member] | Core Transport Technologies NZ Limited [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetUsefulLife', window );">Acquired intangible assets estimated useful lives (Year)</a></td>
<td class="text">13 years<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis=us-gaap_CustomerRelationshipsMember', window );">Customer Relationships [Member] | STEPcom [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetUsefulLife', window );">Acquired intangible assets estimated useful lives (Year)</a></td>
<td class="text">9 years<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis=us-gaap_CustomerRelationshipsMember', window );">Customer Relationships [Member] | BestTransport [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetUsefulLife', window );">Acquired intangible assets estimated useful lives (Year)</a></td>
<td class="text">12 years<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis=us-gaap_CustomerRelationshipsMember', window );">Customer Relationships [Member] | Aljex Software, Inc. [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetUsefulLife', window );">Acquired intangible assets estimated useful lives (Year)</a></td>
<td class="text">13 years<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis=us-gaap_CustomerRelationshipsMember', window );">Customer Relationships [Member] | Velocity Mail [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetUsefulLife', window );">Acquired intangible assets estimated useful lives (Year)</a></td>
<td class="text">12 years<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis=us-gaap_CustomerRelationshipsMember', window );">Customer Relationships [Member] | PinPoint [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetUsefulLife', window );">Acquired intangible assets estimated useful lives (Year)</a></td>
<td class="text">9 years<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis=us-gaap_CustomerRelationshipsMember', window );">Customer Relationships [Member] | ShipRush [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetUsefulLife', window );">Acquired intangible assets estimated useful lives (Year)</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">9 years<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis=us-gaap_CustomerRelationshipsMember', window );">Customer Relationships [Member] | PCSTrac, Inc. [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetUsefulLife', window );">Acquired intangible assets estimated useful lives (Year)</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">13 years<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis=us-gaap_CustomerRelationshipsMember', window );">Customer Relationships [Member] | MacroPoint LLC [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetUsefulLife', window );">Acquired intangible assets estimated useful lives (Year)</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">12 years<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis=dsgx_ExistingTechnologyMember', window );">Existing Technology [Member] | Visual Compliance [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetUsefulLife', window );">Acquired intangible assets estimated useful lives (Year)</a></td>
<td class="text">7 years<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis=dsgx_ExistingTechnologyMember', window );">Existing Technology [Member] | Core Transport Technologies NZ Limited [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetUsefulLife', window );">Acquired intangible assets estimated useful lives (Year)</a></td>
<td class="text">6 years<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis=dsgx_ExistingTechnologyMember', window );">Existing Technology [Member] | BestTransport [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetUsefulLife', window );">Acquired intangible assets estimated useful lives (Year)</a></td>
<td class="text">6 years<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis=dsgx_ExistingTechnologyMember', window );">Existing Technology [Member] | Aljex Software, Inc. [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetUsefulLife', window );">Acquired intangible assets estimated useful lives (Year)</a></td>
<td class="text">5 years<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis=dsgx_ExistingTechnologyMember', window );">Existing Technology [Member] | Velocity Mail [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetUsefulLife', window );">Acquired intangible assets estimated useful lives (Year)</a></td>
<td class="text">5 years<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis=dsgx_ExistingTechnologyMember', window );">Existing Technology [Member] | ShipRush [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetUsefulLife', window );">Acquired intangible assets estimated useful lives (Year)</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">5 years<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis=dsgx_ExistingTechnologyMember', window );">Existing Technology [Member] | PCSTrac, Inc. [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetUsefulLife', window );">Acquired intangible assets estimated useful lives (Year)</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">5 years<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis=dsgx_ExistingTechnologyMember', window );">Existing Technology [Member] | MacroPoint LLC [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetUsefulLife', window );">Acquired intangible assets estimated useful lives (Year)</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">5 years<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis=us-gaap_TradeNamesMember', window );">Trade Names [Member] | Visual Compliance [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetUsefulLife', window );">Acquired intangible assets estimated useful lives (Year)</a></td>
<td class="text">5 years<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis=us-gaap_TradeNamesMember', window );">Trade Names [Member] | Core Transport Technologies NZ Limited [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetUsefulLife', window );">Acquired intangible assets estimated useful lives (Year)</a></td>
<td class="text">8 years<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis=us-gaap_TradeNamesMember', window );">Trade Names [Member] | STEPcom [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetUsefulLife', window );">Acquired intangible assets estimated useful lives (Year)</a></td>
<td class="text">3 years<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis=us-gaap_TradeNamesMember', window );">Trade Names [Member] | BestTransport [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetUsefulLife', window );">Acquired intangible assets estimated useful lives (Year)</a></td>
<td class="text">3 years<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis=us-gaap_TradeNamesMember', window );">Trade Names [Member] | Aljex Software, Inc. [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetUsefulLife', window );">Acquired intangible assets estimated useful lives (Year)</a></td>
<td class="text">8 years<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis=us-gaap_TradeNamesMember', window );">Trade Names [Member] | Velocity Mail [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetUsefulLife', window );">Acquired intangible assets estimated useful lives (Year)</a></td>
<td class="text">4 years<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis=us-gaap_TradeNamesMember', window );">Trade Names [Member] | PinPoint [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetUsefulLife', window );">Acquired intangible assets estimated useful lives (Year)</a></td>
<td class="text">8 years<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis=us-gaap_TradeNamesMember', window );">Trade Names [Member] | ShipRush [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetUsefulLife', window );">Acquired intangible assets estimated useful lives (Year)</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">8 years<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis=us-gaap_TradeNamesMember', window );">Trade Names [Member] | PCSTrac, Inc. [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetUsefulLife', window );">Acquired intangible assets estimated useful lives (Year)</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">4 years<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis=us-gaap_TradeNamesMember', window );">Trade Names [Member] | MacroPoint LLC [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetUsefulLife', window );">Acquired intangible assets estimated useful lives (Year)</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">8 years<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis=us-gaap_NoncompeteAgreementsMember', window );">Noncompete Agreements [Member] | Visual Compliance [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetUsefulLife', window );">Acquired intangible assets estimated useful lives (Year)</a></td>
<td class="text">5 years<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis=us-gaap_NoncompeteAgreementsMember', window );">Noncompete Agreements [Member] | Core Transport Technologies NZ Limited [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetUsefulLife', window );">Acquired intangible assets estimated useful lives (Year)</a></td>
<td class="text">5 years<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis=us-gaap_NoncompeteAgreementsMember', window );">Noncompete Agreements [Member] | STEPcom [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetUsefulLife', window );">Acquired intangible assets estimated useful lives (Year)</a></td>
<td class="text">3 years<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis=us-gaap_NoncompeteAgreementsMember', window );">Noncompete Agreements [Member] | BestTransport [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetUsefulLife', window );">Acquired intangible assets estimated useful lives (Year)</a></td>
<td class="text">2 years<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis=us-gaap_NoncompeteAgreementsMember', window );">Noncompete Agreements [Member] | Aljex Software, Inc. [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetUsefulLife', window );">Acquired intangible assets estimated useful lives (Year)</a></td>
<td class="text">5 years<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis=us-gaap_NoncompeteAgreementsMember', window );">Noncompete Agreements [Member] | Velocity Mail [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetUsefulLife', window );">Acquired intangible assets estimated useful lives (Year)</a></td>
<td class="text">5 years<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis=us-gaap_NoncompeteAgreementsMember', window );">Noncompete Agreements [Member] | PinPoint [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetUsefulLife', window );">Acquired intangible assets estimated useful lives (Year)</a></td>
<td class="text">5 years<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis=us-gaap_NoncompeteAgreementsMember', window );">Noncompete Agreements [Member] | ShipRush [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetUsefulLife', window );">Acquired intangible assets estimated useful lives (Year)</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">5 years<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis=us-gaap_NoncompeteAgreementsMember', window );">Noncompete Agreements [Member] | PCSTrac, Inc. [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetUsefulLife', window );">Acquired intangible assets estimated useful lives (Year)</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">5 years<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis=us-gaap_NoncompeteAgreementsMember', window );">Noncompete Agreements [Member] | MacroPoint LLC [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetUsefulLife', window );">Acquired intangible assets estimated useful lives (Year)</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">5 years<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FiniteLivedIntangibleAssetUsefulLife">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Useful life of finite-lived intangible assets, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents the reported fact of one year, five months, and thirteen days.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FiniteLivedIntangibleAssetUsefulLife</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:durationItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis=us-gaap_CustomerRelationshipsMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis=us-gaap_CustomerRelationshipsMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_BusinessAcquisitionAxis=dsgx_VisualComplianceMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_BusinessAcquisitionAxis=dsgx_VisualComplianceMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_BusinessAcquisitionAxis=dsgx_CoreTransportTechnologiesNzLimitedMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_BusinessAcquisitionAxis=dsgx_CoreTransportTechnologiesNzLimitedMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_BusinessAcquisitionAxis=dsgx_StepcomMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_BusinessAcquisitionAxis=dsgx_StepcomMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_BusinessAcquisitionAxis=dsgx_BesttransportMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_BusinessAcquisitionAxis=dsgx_BesttransportMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_BusinessAcquisitionAxis=dsgx_AljexSoftwareIncMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_BusinessAcquisitionAxis=dsgx_AljexSoftwareIncMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_BusinessAcquisitionAxis=dsgx_VelocityMailMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_BusinessAcquisitionAxis=dsgx_VelocityMailMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_BusinessAcquisitionAxis=dsgx_PinPointMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_BusinessAcquisitionAxis=dsgx_PinPointMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_BusinessAcquisitionAxis=dsgx_ShipRushMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_BusinessAcquisitionAxis=dsgx_ShipRushMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_BusinessAcquisitionAxis=dsgx_PCSTracIncMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_BusinessAcquisitionAxis=dsgx_PCSTracIncMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_BusinessAcquisitionAxis=dsgx_MacroPointLLCMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_BusinessAcquisitionAxis=dsgx_MacroPointLLCMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis=dsgx_ExistingTechnologyMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis=dsgx_ExistingTechnologyMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis=us-gaap_TradeNamesMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis=us-gaap_TradeNamesMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis=us-gaap_NoncompeteAgreementsMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis=us-gaap_NoncompeteAgreementsMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>29
<FILENAME>R59.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.20.1</span><table class="report" border="0" cellspacing="2" id="idp6891796544">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Note 5 - Trade Receivables (Details Textual) - USD ($)<br> $ in Millions</strong></div></th>
<th class="th" colspan="3">12 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Jan. 31, 2020</div></th>
<th class="th"><div>Jan. 31, 2019</div></th>
<th class="th"><div>Jan. 31, 2018</div></th>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_UnbilledReceivablesCurrent', window );">Unbilled Receivables, Current</a></td>
<td class="nump">$ 1.4<span></span>
</td>
<td class="nump">$ 1.0<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ProvisionForDoubtfulAccounts', window );">Accounts Receivable, Credit Loss Expense (Reversal)</a></td>
<td class="nump">$ 0.6<span></span>
</td>
<td class="nump">$ 1.2<span></span>
</td>
<td class="nump">$ 0.8<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ProvisionForDoubtfulAccounts">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of expense (reversal of expense) for expected credit loss on accounts receivable.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 326<br> -SubTopic 20<br> -Section 50<br> -Paragraph 13<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=119407570&amp;loc=SL82919249-210447<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(5))<br> -URI http://asc.fasb.org/extlink&amp;oid=116634182&amp;loc=SL114868664-224227<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ProvisionForDoubtfulAccounts</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_UnbilledReceivablesCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount received for services rendered and products shipped, but not yet billed, for non-contractual agreements due within one year or the normal operating cycle, if longer.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_UnbilledReceivablesCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>30
<FILENAME>R93.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.20.1</span><table class="report" border="0" cellspacing="2" id="idp6909611776">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Note 18 - Income Taxes - Provision (Recovery) for Income Taxes from the Expected Provision at the Statutory Rates (Details) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th" colspan="4">12 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Feb. 01, 2020</div></th>
<th class="th"><div>Jan. 31, 2020</div></th>
<th class="th"><div>Jan. 31, 2019</div></th>
<th class="th"><div>Jan. 31, 2018</div></th>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesMinorityInterestAndIncomeLossFromEquityMethodInvestments', window );">Income before income taxes</a></td>
<td class="nump">$ 48,035<span></span>
</td>
<td class="nump">$ 48,033<span></span>
</td>
<td class="nump">$ 39,510<span></span>
</td>
<td class="nump">$ 34,748<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate', window );">Combined basic Canadian statutory rates</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">26.50%<span></span>
</td>
<td class="nump">26.50%<span></span>
</td>
<td class="nump">26.50%<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_IncomeTaxReconciliationIncomeTaxExpenseBenefitAtFederalStatutoryIncomeTaxRate', window );">Income tax expense based on the above rates</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 12,729<span></span>
</td>
<td class="nump">$ 10,470<span></span>
</td>
<td class="nump">$ 9,207<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_IncomeTaxReconciliationNondeductibleExpenseAmortization', window );">Permanent differences including amortization of intangible assets</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(673)<span></span>
</td>
<td class="num">(133)<span></span>
</td>
<td class="num">(1,870)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_IncomeTaxReconciliationForeignIncomeTaxRateDifferential', window );">Effect of differences between Canadian and foreign tax rates</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(274)<span></span>
</td>
<td class="num">(172)<span></span>
</td>
<td class="nump">595<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_IncomeTaxReconciliationChangeInEnactedTaxRate', window );">Effect of rate changes on current year timing differences</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(609)<span></span>
</td>
<td class="num">(245)<span></span>
</td>
<td class="num">(571)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_IncomeTaxReconciliationPriorYearIncomeTaxes', window );">Adjustments relating to previous periods</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">94<span></span>
</td>
<td class="num">(973)<span></span>
</td>
<td class="num">(152)<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_dsgx_EffectiveIncomeTaxRateReconciliationIncreaseDecreaseInAccrualsForUncertainTaxPositions', window );">Increase (decrease) in accruals for uncertain tax positions</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(1,042)<span></span>
</td>
<td class="num">(515)<span></span>
</td>
<td class="nump">1,954<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_IncomeTaxReconciliationChangeInDeferredTaxAssetsValuationAllowance', window );">Valuation allowance</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">692<span></span>
</td>
<td class="num">(344)<span></span>
</td>
<td class="num">(1,564)<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_IncomeTaxReconciliationNondeductibleExpenseShareBasedCompensationCost', window );">Stock based compensation</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">352<span></span>
</td>
<td class="nump">231<span></span>
</td>
<td class="num">(135)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_dsgx_IncomeTaxReconciliationDeferredTaxCharges', window );">Deferred tax charges</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text"> <span></span>
</td>
<td class="text"> <span></span>
</td>
<td class="nump">179<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_IncomeTaxReconciliationOtherAdjustments', window );">Other, including foreign exchange</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(231)<span></span>
</td>
<td class="num">(86)<span></span>
</td>
<td class="nump">226<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_IncomeTaxExpenseBenefit', window );">Income tax expense</a></td>
<td class="nump">$ 11,038<span></span>
</td>
<td class="nump">$ 11,038<span></span>
</td>
<td class="nump">$ 8,233<span></span>
</td>
<td class="nump">$ 7,869<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dsgx_EffectiveIncomeTaxRateReconciliationIncreaseDecreaseInAccrualsForUncertainTaxPositions">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of the difference between reported income tax expense (benefit) and expected income tax expense (benefit) computed by applying the domestic federal statutory income tax rates to pretax income (loss) from continuing operations, attributable to increase (decrease) in accruals for uncertain tax positions .</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dsgx_EffectiveIncomeTaxRateReconciliationIncreaseDecreaseInAccrualsForUncertainTaxPositions</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dsgx_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dsgx_IncomeTaxReconciliationDeferredTaxCharges">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of the difference between reported income tax expense (benefit) and expected income tax expense (benefit) computed by applying the domestic federal statutory income tax rates to pretax income (loss) from continuing operations attributable to deferred tax charges.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dsgx_IncomeTaxReconciliationDeferredTaxCharges</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dsgx_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Percentage of domestic federal statutory tax rate applicable to pretax income (loss).</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB TOPIC 6.I)<br> -URI http://asc.fasb.org/extlink&amp;oid=116825942&amp;loc=d3e330036-122817<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 12<br> -URI http://asc.fasb.org/extlink&amp;oid=84230637&amp;loc=d3e32687-109319<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 13<br> -URI http://asc.fasb.org/extlink&amp;oid=84230637&amp;loc=d3e32698-109319<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>num:percentItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesMinorityInterestAndIncomeLossFromEquityMethodInvestments">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of income (loss) from continuing operations before deduction of income tax expense (benefit) and income (loss) attributable to noncontrolling interest, and addition of income (loss) from equity method investments.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08.(h)(1)(i))<br> -URI http://asc.fasb.org/extlink&amp;oid=26873400&amp;loc=d3e23780-122690<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesMinorityInterestAndIncomeLossFromEquityMethodInvestments</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncomeTaxExpenseBenefit">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of current income tax expense (benefit) and deferred income tax expense (benefit) pertaining to continuing operations.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 22<br> -Subparagraph (h)<br> -URI http://asc.fasb.org/extlink&amp;oid=115929826&amp;loc=d3e8736-108599<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(h))<br> -URI http://asc.fasb.org/extlink&amp;oid=26873400&amp;loc=d3e23780-122690<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 20<br> -Section 45<br> -Paragraph 2<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=109238882&amp;loc=d3e38679-109324<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncomeTaxExpenseBenefit</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncomeTaxReconciliationChangeInDeferredTaxAssetsValuationAllowance">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of the difference between reported income tax expense (benefit) and expected income tax expense (benefit) computed by applying the domestic federal statutory income tax rates to pretax income (loss) from continuing operations attributable to increase (decrease) in the valuation allowance for deferred tax assets.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 13<br> -URI http://asc.fasb.org/extlink&amp;oid=84230637&amp;loc=d3e32698-109319<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 12<br> -URI http://asc.fasb.org/extlink&amp;oid=84230637&amp;loc=d3e32687-109319<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 45<br> -Paragraph 20<br> -URI http://asc.fasb.org/extlink&amp;oid=116821951&amp;loc=d3e32123-109318<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncomeTaxReconciliationChangeInDeferredTaxAssetsValuationAllowance</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncomeTaxReconciliationChangeInEnactedTaxRate">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of the difference between reported income tax expense (benefit) and expected income tax expense (benefit) computed by applying the domestic federal statutory income tax rates to pretax income (loss) from continuing operations, attributable to increase (decrease) in the income tax rates.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 13<br> -URI http://asc.fasb.org/extlink&amp;oid=84230637&amp;loc=d3e32698-109319<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 45<br> -Paragraph 15<br> -URI http://asc.fasb.org/extlink&amp;oid=116821951&amp;loc=d3e32059-109318<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 12<br> -URI http://asc.fasb.org/extlink&amp;oid=84230637&amp;loc=d3e32687-109319<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncomeTaxReconciliationChangeInEnactedTaxRate</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncomeTaxReconciliationForeignIncomeTaxRateDifferential">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of the difference between reported income tax expense (benefit) and expected income tax expense (benefit) computed by applying the domestic federal statutory income tax rates to pretax income (loss) from continuing operations attributable to foreign income tax expense (benefit).</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 13<br> -URI http://asc.fasb.org/extlink&amp;oid=84230637&amp;loc=d3e32698-109319<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 12<br> -URI http://asc.fasb.org/extlink&amp;oid=84230637&amp;loc=d3e32687-109319<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(h)(1))<br> -URI http://asc.fasb.org/extlink&amp;oid=26873400&amp;loc=d3e23780-122690<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncomeTaxReconciliationForeignIncomeTaxRateDifferential</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncomeTaxReconciliationIncomeTaxExpenseBenefitAtFederalStatutoryIncomeTaxRate">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The amount of income tax expense or benefit for the period computed by applying the domestic federal statutory tax rates to pretax income from continuing operations.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 13<br> -URI http://asc.fasb.org/extlink&amp;oid=84230637&amp;loc=d3e32698-109319<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 12<br> -URI http://asc.fasb.org/extlink&amp;oid=84230637&amp;loc=d3e32687-109319<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(h)(2))<br> -URI http://asc.fasb.org/extlink&amp;oid=26873400&amp;loc=d3e23780-122690<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncomeTaxReconciliationIncomeTaxExpenseBenefitAtFederalStatutoryIncomeTaxRate</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncomeTaxReconciliationNondeductibleExpenseAmortization">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of the difference between reported income tax expense (benefit) and expected income tax expense (benefit) computed by applying the domestic federal statutory income tax rates to pretax income (loss) from continuing operations attributable to nondeductible amortization.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 13<br> -URI http://asc.fasb.org/extlink&amp;oid=84230637&amp;loc=d3e32698-109319<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 12<br> -URI http://asc.fasb.org/extlink&amp;oid=84230637&amp;loc=d3e32687-109319<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncomeTaxReconciliationNondeductibleExpenseAmortization</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncomeTaxReconciliationNondeductibleExpenseShareBasedCompensationCost">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of reported income tax expense (benefit) in excess of (less than) expected income tax expense (benefit) computed by applying domestic federal statutory income tax rate to pretax income (loss) from continuing operation, attributable to nondeductible expense for award under share-based payment arrangement. Includes, but is not limited to, expense determined to be nondeductible upon grant or after for award under share-based payment arrangement.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 13<br> -URI http://asc.fasb.org/extlink&amp;oid=84230637&amp;loc=d3e32698-109319<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 12<br> -URI http://asc.fasb.org/extlink&amp;oid=84230637&amp;loc=d3e32687-109319<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncomeTaxReconciliationNondeductibleExpenseShareBasedCompensationCost</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncomeTaxReconciliationOtherAdjustments">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of the difference between reported income tax expense (benefit) and expected income tax expense (benefit) computed by applying the domestic federal statutory income tax rates to pretax income (loss) from continuing operations attributable to other adjustments.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 12<br> -URI http://asc.fasb.org/extlink&amp;oid=84230637&amp;loc=d3e32687-109319<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncomeTaxReconciliationOtherAdjustments</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncomeTaxReconciliationPriorYearIncomeTaxes">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of the difference between reported income tax expense (benefit) and expected income tax expense (benefit) computed by applying the domestic federal statutory income tax rates to pretax income (loss) from continuing operations attributable to revisions of previously reported income tax expense (benefit).</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 12<br> -URI http://asc.fasb.org/extlink&amp;oid=84230637&amp;loc=d3e32687-109319<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 13<br> -URI http://asc.fasb.org/extlink&amp;oid=84230637&amp;loc=d3e32698-109319<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncomeTaxReconciliationPriorYearIncomeTaxes</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>31
<FILENAME>R63.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.20.1</span><table class="report" border="0" cellspacing="2" id="idp6891917664">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>Note 7 - Inventory (Details Textual) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th"><div>Jan. 31, 2020</div></th>
<th class="th"><div>Jan. 31, 2018</div></th>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_InventoryValuationReserves', window );">Inventory Valuation Reserves, Ending Balance</a></td>
<td class="nump">$ 0<span></span>
</td>
<td class="nump">$ 100<span></span>
</td>
</tr>
</table>
<div style="display: none;"><table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_InventoryValuationReserves">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of valuation reserve for inventory.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 330<br> -SubTopic 10<br> -Section 35<br> -Paragraph 2<br> -URI http://asc.fasb.org/extlink&amp;oid=116846819&amp;loc=d3e3927-108312<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 330<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SAB TOPIC 5.BB)<br> -URI http://asc.fasb.org/extlink&amp;oid=27011343&amp;loc=d3e100047-122729<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section S99<br> -Paragraph 4<br> -Subparagraph (SX 210.12-09)<br> -URI http://asc.fasb.org/extlink&amp;oid=26873400&amp;loc=d3e24092-122690<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.6(a))<br> -URI http://asc.fasb.org/extlink&amp;oid=6877327&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_InventoryValuationReserves</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table></div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>32
<FILENAME>R67.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.20.1</span><table class="report" border="0" cellspacing="2" id="idp6810056592">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Note 10 - Goodwill - Goodwill (Details) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th" colspan="2">12 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Jan. 31, 2020</div></th>
<th class="th"><div>Jan. 31, 2019</div></th>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_Goodwill', window );">Balance</a></td>
<td class="nump">$ 378,178<span></span>
</td>
<td class="nump">$ 350,148<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_GoodwillTranslationAndPurchaseAccountingAdjustments', window );">Adjustments on account of foreign exchange</a></td>
<td class="num">(1,475)<span></span>
</td>
<td class="num">(5,627)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_Goodwill', window );">Balance</a></td>
<td class="nump">523,690<span></span>
</td>
<td class="nump">378,178<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessAcquisitionAxis=dsgx_AljexSoftwareIncMember', window );">Aljex Software, Inc. [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_Goodwill', window );">Balance</a></td>
<td class="nump">18,903<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_GoodwillAcquiredDuringPeriod', window );">Goodwill Acquired During Period</a></td>
<td class="text"> <span></span>
</td>
<td class="nump">18,903<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_Goodwill', window );">Balance</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">18,903<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessAcquisitionAxis=dsgx_VelocityMailMember', window );">Velocity Mail [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_Goodwill', window );">Balance</a></td>
<td class="nump">8,448<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_GoodwillAcquiredDuringPeriod', window );">Goodwill Acquired During Period</a></td>
<td class="text"> <span></span>
</td>
<td class="nump">8,448<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_Goodwill', window );">Balance</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">8,448<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessAcquisitionAxis=dsgx_PinPointMember', window );">PinPoint [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_Goodwill', window );">Balance</a></td>
<td class="nump">6,306<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_GoodwillAcquiredDuringPeriod', window );">Goodwill Acquired During Period</a></td>
<td class="text"> <span></span>
</td>
<td class="nump">6,306<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_Goodwill', window );">Balance</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">6,306<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessAcquisitionAxis=dsgx_VisualComplianceMember', window );">Visual Compliance [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_GoodwillAcquiredDuringPeriod', window );">Goodwill Acquired During Period</a></td>
<td class="nump">118,785<span></span>
</td>
<td class="text"> <span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_Goodwill', window );">Balance</a></td>
<td class="nump">118,785<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessAcquisitionAxis=dsgx_CoreTransportTechnologiesNzLimitedMember', window );">Core Transport Technologies NZ Limited [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_GoodwillAcquiredDuringPeriod', window );">Goodwill Acquired During Period</a></td>
<td class="nump">12,670<span></span>
</td>
<td class="text"> <span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_Goodwill', window );">Balance</a></td>
<td class="nump">12,670<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessAcquisitionAxis=dsgx_StepcomMember', window );">STEPcom [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_GoodwillAcquiredDuringPeriod', window );">Goodwill Acquired During Period</a></td>
<td class="nump">10,019<span></span>
</td>
<td class="text"> <span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_Goodwill', window );">Balance</a></td>
<td class="nump">10,019<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessAcquisitionAxis=dsgx_BesttransportMember', window );">BestTransport [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_GoodwillAcquiredDuringPeriod', window );">Goodwill Acquired During Period</a></td>
<td class="nump">5,513<span></span>
</td>
<td class="text"> <span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_Goodwill', window );">Balance</a></td>
<td class="nump">$ 5,513<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_Goodwill">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount after accumulated impairment loss of an asset representing future economic benefits arising from other assets acquired in a business combination that are not individually identified and separately recognized.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 20<br> -Section 45<br> -Paragraph 5<br> -URI http://asc.fasb.org/extlink&amp;oid=77989000&amp;loc=SL49117168-202975<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 20<br> -Section 45<br> -Paragraph 1<br> -URI http://asc.fasb.org/extlink&amp;oid=99380562&amp;loc=d3e13770-109266<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_Goodwill</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_GoodwillAcquiredDuringPeriod">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of increase in asset representing future economic benefits arising from other assets acquired in a business combination that are not individually identified and separately recognized resulting from a business combination.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=108376223&amp;loc=d3e13816-109267<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_GoodwillAcquiredDuringPeriod</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_GoodwillTranslationAndPurchaseAccountingAdjustments">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of increase (decrease) from foreign currency translation adjustments and purchase accounting adjustments of an asset representing future economic benefits arising from other assets acquired in a business combination that are not individually identified and separately recognized.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 805<br> -SubTopic 10<br> -Section 25<br> -Paragraph 16<br> -URI http://asc.fasb.org/extlink&amp;oid=116868678&amp;loc=d3e961-128460<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (g)<br> -URI http://asc.fasb.org/extlink&amp;oid=108376223&amp;loc=d3e13816-109267<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (f)<br> -URI http://asc.fasb.org/extlink&amp;oid=108376223&amp;loc=d3e13816-109267<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_GoodwillTranslationAndPurchaseAccountingAdjustments</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_BusinessAcquisitionAxis=dsgx_AljexSoftwareIncMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_BusinessAcquisitionAxis=dsgx_AljexSoftwareIncMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_BusinessAcquisitionAxis=dsgx_VelocityMailMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_BusinessAcquisitionAxis=dsgx_VelocityMailMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_BusinessAcquisitionAxis=dsgx_PinPointMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_BusinessAcquisitionAxis=dsgx_PinPointMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_BusinessAcquisitionAxis=dsgx_VisualComplianceMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_BusinessAcquisitionAxis=dsgx_VisualComplianceMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_BusinessAcquisitionAxis=dsgx_CoreTransportTechnologiesNzLimitedMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_BusinessAcquisitionAxis=dsgx_CoreTransportTechnologiesNzLimitedMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_BusinessAcquisitionAxis=dsgx_StepcomMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_BusinessAcquisitionAxis=dsgx_StepcomMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_BusinessAcquisitionAxis=dsgx_BesttransportMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_BusinessAcquisitionAxis=dsgx_BesttransportMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>33
<FILENAME>R97.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.20.1</span><table class="report" border="0" cellspacing="2" id="idp6891945264">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>Note 19 - Contract Balances, Performance Obligations and Contract Costs 2 (Details Textual) - Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction, Start Date [Axis]: 2020-02-01<br> $ in Thousands</strong></div></th>
<th class="th">
<div>Jan. 31, 2020 </div>
<div>USD ($)</div>
</th>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_RevenueRemainingPerformanceObligation', window );">Revenue, Remaining Performance Obligation, Amount</a></td>
<td class="nump">$ 216,900<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_RevenueRemainingPerformanceObligationPercentage', window );">Revenue, Remaining Performance Obligation, Percentage</a></td>
<td class="nump">80.00%<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1', window );">Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction, Period</a></td>
<td class="text">2 years<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_RevenueRemainingPerformanceObligation">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of transaction price allocated to performance obligation that has not been recognized as revenue.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 606<br> -SubTopic 10<br> -Section 50<br> -Paragraph 13<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=118956577&amp;loc=SL49130556-203045<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RevenueRemainingPerformanceObligation</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Period in which remaining performance obligation is expected to be recognized as revenue, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents reported fact of one year, five months, and thirteen days.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 606<br> -SubTopic 10<br> -Section 50<br> -Paragraph 13<br> -Subparagraph (b)(1)<br> -URI http://asc.fasb.org/extlink&amp;oid=118956577&amp;loc=SL49130556-203045<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:durationItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_RevenueRemainingPerformanceObligationPercentage">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Percentage of remaining performance obligation to total remaining performance obligation not recognized as revenue.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 606<br> -SubTopic 10<br> -Section 50<br> -Paragraph 13<br> -Subparagraph (b)(1)<br> -URI http://asc.fasb.org/extlink&amp;oid=118956577&amp;loc=SL49130556-203045<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RevenueRemainingPerformanceObligationPercentage</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>num:percentItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis=2020-02-01">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis=2020-02-01</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>34
<FILENAME>R48.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.20.1</span><table class="report" border="0" cellspacing="2" id="idp6891825440">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Note 20 - Other Charges (Tables)<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Jan. 31, 2020</div></th></tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_TableTextBlock', window );"><strong>Notes Tables</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ScheduleOfOtherOperatingCostAndExpenseByComponentTextBlock', window );">Schedule of Other Operating Cost and Expense, by Component [Table Text Block]</a></td>
<td class="text"><div style="display: inline; font-family: times new roman; font-size: 10pt"><table cellpadding="0" cellspacing="0" style="border-collapse: collapse; font: 10pt Times New Roman, Times, Serif; min-; min-width: 700px;"> <tr style="vertical-align: bottom; background-color: White"> <td style="font-style: italic">Year Ended</td> <td style="font-weight: bold">&nbsp;</td> <td style="border-top: Black 1pt solid; font-weight: bold; text-align: left">&nbsp;</td> <td style="border-top: Black 1pt solid; font-weight: bold; text-align: right"><div style="display: inline; font-family: Times New Roman, Times, Serif; font-size: 10pt"><div style="display: inline; font-weight: bold;">January 31,</div></div></td> <td style="border-top: Black 1pt solid; white-space: nowrap; font-weight: bold; text-align: left">&nbsp;</td> <td style="border-top: Black 1pt solid">&nbsp;</td> <td style="border-top: Black 1pt solid; text-align: left">&nbsp;</td> <td style="border-top: Black 1pt solid; text-align: right"><div style="display: inline; font-family: Times New Roman, Times, Serif; font-size: 10pt">January 31,</div></td> <td style="border-top: Black 1pt solid; white-space: nowrap; text-align: left">&nbsp;</td> <td style="border-top: Black 1pt solid">&nbsp;</td> <td style="border-top: Black 1pt solid; text-align: left">&nbsp;</td> <td style="border-top: Black 1pt solid; text-align: right"><div style="display: inline; font-family: Times New Roman, Times, Serif; font-size: 10pt">January 31,</div></td> <td style="border-top: Black 1pt solid; white-space: nowrap; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: White"> <td style="padding-bottom: 1pt">&nbsp;</td> <td style="font-weight: bold">&nbsp;</td> <td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: right">2020</td> <td style="white-space: nowrap; border-bottom: Black 1pt solid; font-weight: bold; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid">&nbsp;</td> <td style="border-bottom: Black 1pt solid; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid; text-align: right">2019</td> <td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid">&nbsp;</td> <td style="border-bottom: Black 1pt solid; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid; text-align: right">2018</td> <td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="width: 55%; text-align: left">Acquisition-related costs</td> <td style="width: 2%; font-weight: bold">&nbsp;</td> <td style="width: 1%; font-weight: bold; text-align: left">&nbsp;</td> <td style="width: 11%; font-weight: bold; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">3,797</div></td> <td style="white-space: nowrap; width: 1%; font-weight: bold; text-align: left">&nbsp;</td> <td style="width: 2%">&nbsp;</td> <td style="width: 1%; text-align: left">&nbsp;</td> <td style="width: 11%; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">3,778</div></td> <td style="white-space: nowrap; width: 1%; text-align: left">&nbsp;</td> <td style="width: 2%">&nbsp;</td> <td style="width: 1%; text-align: left">&nbsp;</td> <td style="width: 11%; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">3,471</div></td> <td style="white-space: nowrap; width: 1%; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: White"> <td style="text-align: left; padding-bottom: 1pt">Restructuring plans</td> <td style="font-weight: bold">&nbsp;</td> <td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">&#x2013;</div></td> <td style="white-space: nowrap; border-bottom: Black 1pt solid; font-weight: bold; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid">&nbsp;</td> <td style="border-bottom: Black 1pt solid; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">20</div></td> <td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid">&nbsp;</td> <td style="border-bottom: Black 1pt solid; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">523</div></td> <td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="padding-bottom: 1pt">&nbsp;</td> <td style="font-weight: bold">&nbsp;</td> <td style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">3,797</div></td> <td style="border-bottom: Black 1.5pt solid; white-space: nowrap; font-weight: bold; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1.5pt solid">&nbsp;</td> <td style="border-bottom: Black 1.5pt solid; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1.5pt solid; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">3,798</div></td> <td style="border-bottom: Black 1.5pt solid; white-space: nowrap; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1.5pt solid">&nbsp;</td> <td style="border-bottom: Black 1.5pt solid; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1.5pt solid; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">3,994</div></td> <td style="border-bottom: Black 1.5pt solid; white-space: nowrap; text-align: left">&nbsp;</td> </tr> </table></div><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ScheduleOfOtherOperatingCostAndExpenseByComponentTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of each detailed component of other operating costs and expenses that are applicable to sales and revenues, but not included in the cost of sales in the income statement.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03.3)<br> -URI http://asc.fasb.org/extlink&amp;oid=116634182&amp;loc=SL114868664-224227<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ScheduleOfOtherOperatingCostAndExpenseByComponentTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>nonnum:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_TableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_TableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>35
<FILENAME>R44.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.20.1</span><table class="report" border="0" cellspacing="2" id="idp6618864288">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Note 16 - Earnings Per Share (Tables)<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Jan. 31, 2020</div></th></tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_TableTextBlock', window );"><strong>Notes Tables</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock', window );">Schedule of Earnings Per Share, Basic and Diluted [Table Text Block]</a></td>
<td class="text"><div style="display: inline; font-family: times new roman; font-size: 10pt"><table cellpadding="0" cellspacing="0" style="border-collapse: collapse; font: 10pt Times New Roman, Times, Serif; min-; min-width: 700px;"> <tr style="vertical-align: bottom; background-color: White"> <td style="font-style: italic; padding-bottom: 1pt">Year Ended</td> <td style="font-weight: bold">&nbsp;</td> <td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; font-weight: bold; text-align: left">&nbsp;</td> <td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; font-weight: bold; text-align: right"><div style="display: inline; font-family: Times New Roman, Times, Serif; font-size: 10pt"><div style="display: inline; font-weight: bold;">January 31, 2020</div></div></td> <td style="border-top: Black 1pt solid; white-space: nowrap; border-bottom: Black 1pt solid; font-weight: bold; text-align: left">&nbsp;</td> <td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid">&nbsp;</td> <td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; text-align: left">&nbsp;</td> <td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; text-align: right"><div style="display: inline; font-family: Times New Roman, Times, Serif; font-size: 10pt">January 31, 2019</div></td> <td style="border-top: Black 1pt solid; white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&nbsp;</td> <td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid">&nbsp;</td> <td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; text-align: left">&nbsp;</td> <td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; text-align: right"><div style="display: inline; font-family: Times New Roman, Times, Serif; font-size: 10pt">January 31, 2018</div></td> <td style="border-top: Black 1pt solid; white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td>&nbsp;</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right">&nbsp;</td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right">&nbsp;</td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right">&nbsp;</td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: White"> <td style="width: 58%; text-align: left; padding-bottom: 1pt">Net income for purposes of calculating basic and diluted earnings per share</td> <td style="width: 2%; font-weight: bold">&nbsp;</td> <td style="width: 1%; border-bottom: Black 1pt solid; font-weight: bold; text-align: left">&nbsp;</td> <td style="width: 10%; border-bottom: Black 1pt solid; font-weight: bold; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">36,997</div></td> <td style="white-space: nowrap; width: 1%; border-bottom: Black 1pt solid; font-weight: bold; text-align: left">&nbsp;</td> <td style="width: 2%; border-bottom: Black 1pt solid">&nbsp;</td> <td style="width: 1%; border-bottom: Black 1pt solid; text-align: left">&nbsp;</td> <td style="width: 10%; border-bottom: Black 1pt solid; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">31,277</div></td> <td style="white-space: nowrap; width: 1%; border-bottom: Black 1pt solid; text-align: left">&nbsp;</td> <td style="width: 2%; border-bottom: Black 1pt solid">&nbsp;</td> <td style="width: 1%; border-bottom: Black 1pt solid; text-align: left">&nbsp;</td> <td style="width: 10%; border-bottom: Black 1pt solid; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">26,879</div></td> <td style="white-space: nowrap; width: 1%; border-bottom: Black 1pt solid; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td>Weighted average shares outstanding</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">81,659</div></td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">76,832</div></td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">76,324</div></td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: White"> <td style="text-align: left">Dilutive effect of employee stock options</td> <td style="font-weight: bold">&nbsp;</td> <td style="font-weight: bold; text-align: left">&nbsp;</td> <td style="font-weight: bold; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">318</div></td> <td style="white-space: nowrap; font-weight: bold; text-align: left">&nbsp;</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">205</div></td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">167</div></td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="text-align: left; padding-bottom: 1pt">Dilutive effect of restricted and performance share units</td> <td style="font-weight: bold">&nbsp;</td> <td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">890</div></td> <td style="white-space: nowrap; border-bottom: Black 1pt solid; font-weight: bold; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid">&nbsp;</td> <td style="border-bottom: Black 1pt solid; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">754</div></td> <td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid">&nbsp;</td> <td style="border-bottom: Black 1pt solid; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">621</div></td> <td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: White"> <td style="text-align: left; padding-bottom: 1pt">Weighted average common and common equivalent shares outstanding</td> <td>&nbsp;</td> <td style="border-bottom: Black 1pt solid; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">82,867</div></td> <td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid">&nbsp;</td> <td style="border-bottom: Black 1pt solid; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">77,791</div></td> <td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid">&nbsp;</td> <td style="border-bottom: Black 1pt solid; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">77,112</div></td> <td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td>Earnings per share</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right">&nbsp;</td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right">&nbsp;</td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right">&nbsp;</td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: White"> <td style="padding-left: 12pt">Basic</td> <td style="font-weight: bold">&nbsp;</td> <td style="font-weight: bold; text-align: left">&nbsp;</td> <td style="font-weight: bold; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">0.45</div></td> <td style="white-space: nowrap; font-weight: bold; text-align: left">&nbsp;</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">0.41</div></td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">0.35</div></td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="padding-bottom: 1pt; padding-left: 12pt">Diluted</td> <td style="font-weight: bold">&nbsp;</td> <td style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">0.45</div></td> <td style="border-bottom: Black 1.5pt solid; white-space: nowrap; font-weight: bold; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1.5pt solid">&nbsp;</td> <td style="border-bottom: Black 1.5pt solid; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1.5pt solid; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">0.40</div></td> <td style="border-bottom: Black 1.5pt solid; white-space: nowrap; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1.5pt solid">&nbsp;</td> <td style="border-bottom: Black 1.5pt solid; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1.5pt solid; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">0.35</div></td> <td style="border-bottom: Black 1.5pt solid; white-space: nowrap; text-align: left">&nbsp;</td> </tr> </table></div><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of an entity's basic and diluted earnings per share calculations, including a reconciliation of numerators and denominators of the basic and diluted per-share computations for income from continuing operations.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -URI http://asc.fasb.org/extlink&amp;oid=6371337&amp;loc=d3e3550-109257<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>nonnum:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_TableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_TableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>36
<FILENAME>R40.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.20.1</span><table class="report" border="0" cellspacing="2" id="idp6891905568">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Note 11 - Accrued Liabilities (Tables)<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Jan. 31, 2020</div></th></tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_TableTextBlock', window );"><strong>Notes Tables</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ScheduleOfAccruedLiabilitiesTableTextBlock', window );">Schedule of Accrued Liabilities [Table Text Block]</a></td>
<td class="text"><div style="display: inline; font-family: times new roman; font-size: 10pt"><table cellpadding="0" cellspacing="0" style="border-collapse: collapse; font: 10pt Times New Roman, Times, Serif; min-; min-width: 700px;"> <tr style="vertical-align: bottom; background-color: White"> <td style="text-align: right">&nbsp;</td> <td style="font-weight: bold">&nbsp;</td> <td style="border-top: Black 1pt solid; font-weight: bold; text-align: left">&nbsp;</td> <td style="border-top: Black 1pt solid; font-weight: bold; text-align: right"><div style="display: inline; font-family: Times New Roman, Times, Serif; font-size: 10pt"><div style="display: inline; font-weight: bold;">January 31,</div></div></td> <td style="border-top: Black 1pt solid; white-space: nowrap; font-weight: bold; text-align: left">&nbsp;</td> <td style="border-top: Black 1pt solid">&nbsp;</td> <td style="border-top: Black 1pt solid; text-align: left">&nbsp;</td> <td style="border-top: Black 1pt solid; text-align: right"><div style="display: inline; font-family: Times New Roman, Times, Serif; font-size: 10pt">January 31,</div></td> <td style="border-top: Black 1pt solid; white-space: nowrap; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: White"> <td style="text-align: right; padding-bottom: 1pt">&nbsp;</td> <td style="font-weight: bold">&nbsp;</td> <td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: right">2020</td> <td style="white-space: nowrap; border-bottom: Black 1pt solid; font-weight: bold; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid">&nbsp;</td> <td style="border-bottom: Black 1pt solid; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid; text-align: right">2019</td> <td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="width: 68%; text-align: left">Accrued compensation and benefits</td> <td style="width: 2%; font-weight: bold">&nbsp;</td> <td style="width: 1%; font-weight: bold; text-align: left">&nbsp;</td> <td style="width: 12%; font-weight: bold; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">20,613</div></td> <td style="white-space: nowrap; width: 1%; font-weight: bold; text-align: left">&nbsp;</td> <td style="width: 2%">&nbsp;</td> <td style="width: 1%; text-align: left">&nbsp;</td> <td style="width: 12%; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">16,771</div></td> <td style="white-space: nowrap; width: 1%; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: White"> <td style="text-align: left">Accrued professional fees</td> <td style="font-weight: bold">&nbsp;</td> <td style="font-weight: bold; text-align: left">&nbsp;</td> <td style="font-weight: bold; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">1,010</div></td> <td style="white-space: nowrap; font-weight: bold; text-align: left">&nbsp;</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">1,137</div></td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="text-align: left; padding-bottom: 1pt">Other accrued liabilities</td> <td style="font-weight: bold">&nbsp;</td> <td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">13,253</div></td> <td style="white-space: nowrap; border-bottom: Black 1pt solid; font-weight: bold; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid">&nbsp;</td> <td style="border-bottom: Black 1pt solid; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">11,484</div></td> <td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: White"> <td style="padding-bottom: 1pt">&nbsp;</td> <td style="font-weight: bold">&nbsp;</td> <td style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">34,876</div></td> <td style="border-bottom: Black 1.5pt solid; white-space: nowrap; font-weight: bold; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1.5pt solid">&nbsp;</td> <td style="border-bottom: Black 1.5pt solid; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1.5pt solid; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">29,392</div></td> <td style="border-bottom: Black 1.5pt solid; white-space: nowrap; text-align: left">&nbsp;</td> </tr> </table></div><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ScheduleOfAccruedLiabilitiesTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of the components of accrued liabilities.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ScheduleOfAccruedLiabilitiesTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>nonnum:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_TableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_TableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>37
<FILENAME>R21.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.20.1</span><table class="report" border="0" cellspacing="2" id="idp6902107968">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Note 13 - Leases<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Jan. 31, 2020</div></th></tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DisclosureTextBlockAbstract', window );"><strong>Notes to Financial Statements</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_LesseeOperatingLeasesTextBlock', window );">Lessee, Operating Leases [Text Block]</a></td>
<td class="text"><div style="display: inline; font-family: times new roman; font-size: 10pt"><div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"><div style="display: inline; font-weight: bold;">Note <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">13</div> - Leases</div></div> <div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"><div style="display: inline; font-weight: bold;">&nbsp;</div></div> <div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">We have operating leases for buildings, vehicles and computer equipment. Our leases have remaining terms of <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">1</div> to <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">9</div> years, some of which include options to extend the leases for up to <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">3</div> years.</div> <div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&nbsp;</div> <div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"></div> <!-- Field: Page; Sequence: 25 -->   <div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"></div> <div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">The components of operating lease expense were as follows:</div> <div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&nbsp;</div> <div> <table cellpadding="0" cellspacing="0" style="border-collapse: collapse; font: 10pt Times New Roman, Times, Serif; min-width: 700px;">  <tr style="vertical-align: bottom; background-color: White"> <td style="padding-bottom: 1pt"><div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"><div style="display: inline; font-style: italic;">Year Ended</div></div></td> <td style="font-weight: bold">&nbsp;</td> <td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; font-weight: bold; text-align: left">&nbsp;</td> <td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; font-weight: bold; text-align: right"><div style="display: inline; font-family: Times New Roman, Times, Serif; font-size: 10pt"><div style="display: inline; font-weight: bold;">January 31, 2020</div></div></td> <td style="border-top: Black 1pt solid; white-space: nowrap; border-bottom: Black 1pt solid; font-weight: bold; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="width: 84%; text-align: left">Operating lease cost</td> <td style="width: 2%; font-weight: bold">&nbsp;</td> <td style="width: 1%; font-weight: bold; text-align: left">&nbsp;</td> <td style="width: 12%; font-weight: bold; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">4,902</div></td> <td style="white-space: nowrap; width: 1%; font-weight: bold; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: White"> <td style="text-align: left; padding-bottom: 1pt">Short-term lease cost</td> <td style="font-weight: bold">&nbsp;</td> <td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">866</div></td> <td style="white-space: nowrap; border-bottom: Black 1pt solid; font-weight: bold; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="text-align: left; padding-bottom: 1pt">Total operating lease cost</td> <td style="font-weight: bold">&nbsp;</td> <td style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">5,768</div></td> <td style="border-bottom: Black 1.5pt solid; white-space: nowrap; font-weight: bold; text-align: left">&nbsp;</td> </tr>  </table> </div> <div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&nbsp;</div> <div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">Supplemental cash flow information related to operating leases was as follows:</div> <div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&nbsp;</div> <div> <table cellpadding="0" cellspacing="0" style="border-collapse: collapse; font: 10pt Times New Roman, Times, Serif; min-width: 700px;">  <tr style="vertical-align: bottom; background-color: White"> <td style="font-style: italic; padding-bottom: 1pt">Year Ended</td> <td style="font-weight: bold">&nbsp;</td> <td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; font-weight: bold; text-align: left">&nbsp;</td> <td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; font-weight: bold; text-align: right"><div style="display: inline; font-family: Times New Roman, Times, Serif; font-size: 10pt"><div style="display: inline; font-weight: bold;">January 31, 2020</div></div></td> <td style="border-top: Black 1pt solid; white-space: nowrap; border-bottom: Black 1pt solid; font-weight: bold; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="width: 84%; text-align: left">Operating cash outflows from operating leases included in measurement of lease liabilities</td> <td style="width: 2%; font-weight: bold">&nbsp;</td> <td style="width: 1%; font-weight: bold; text-align: left">&nbsp;</td> <td style="width: 12%; font-weight: bold; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">4,150</div></td> <td style="white-space: nowrap; width: 1%; font-weight: bold; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: White"> <td style="text-align: left">Increase in ROU asset from non-cash activities, including lease modifications and new leases</td> <td style="font-weight: bold">&nbsp;</td> <td style="font-weight: bold; text-align: left">&nbsp;</td> <td style="font-weight: bold; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">6,439</div></td> <td style="white-space: nowrap; font-weight: bold; text-align: left">&nbsp;</td> </tr>  </table> </div> <div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&nbsp;</div> <div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">Supplemental information related to operating leases was as follows:</div> <div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&nbsp;</div> <div> <table cellpadding="0" cellspacing="0" style="border-collapse: collapse; font: 10pt Times New Roman, Times, Serif; min-width: 700px;">  <tr style="vertical-align: bottom; background-color: White"> <td style="padding-bottom: 1pt">&nbsp;</td> <td style="font-weight: bold">&nbsp;</td> <td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; font-weight: bold; text-align: left">&nbsp;</td> <td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; font-weight: bold; text-align: right"><div style="display: inline; font-family: Times New Roman, Times, Serif; font-size: 10pt"><div style="display: inline; font-weight: bold;">January 31, 2020</div></div></td> <td style="border-top: Black 1pt solid; white-space: nowrap; border-bottom: Black 1pt solid; font-weight: bold; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="width: 84%; text-align: left">Weighted average remaining lease term (years)</td> <td style="width: 2%; font-weight: bold">&nbsp;</td> <td style="width: 1%; font-weight: bold; text-align: left">&nbsp;</td> <td style="width: 12%; font-weight: bold; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">4.3</div></td> <td style="white-space: nowrap; width: 1%; font-weight: bold; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: White"> <td>Weighted average discount rate (%)</td> <td style="font-weight: bold">&nbsp;</td> <td style="font-weight: bold; text-align: left">&nbsp;</td> <td style="font-weight: bold; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">2.8</div></td> <td style="white-space: nowrap; font-weight: bold; text-align: left">&nbsp;</td> </tr>  </table> </div> <div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&nbsp;</div> <div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">Maturities of operating lease liabilities were as follows as of <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"> January 31, 2020:</div></div> <div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&nbsp;</div> <div> <table cellpadding="0" cellspacing="0" style="border-collapse: collapse; font: 10pt Times New Roman, Times, Serif; min-width: 700px;">  <tr style="vertical-align: bottom; background-color: White"> <td style="text-align: left; padding-bottom: 1pt">Years Ended January 31,</td> <td style="font-weight: bold">&nbsp;</td> <td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; font-weight: bold; text-align: left">&nbsp;</td> <td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; font-weight: bold; text-align: right"><div style="display: inline; font-family: Times New Roman, Times, Serif; font-size: 10pt"><div style="display: inline; font-weight: bold;">Operating Leases</div></div></td> <td style="border-top: Black 1pt solid; white-space: nowrap; border-bottom: Black 1pt solid; font-weight: bold; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="width: 84%; text-align: left; padding-left: 12pt">2021</td> <td style="width: 2%; font-weight: bold">&nbsp;</td> <td style="width: 1%; font-weight: bold; text-align: left">&nbsp;</td> <td style="width: 12%; font-weight: bold; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">4,343</div></td> <td style="white-space: nowrap; width: 1%; font-weight: bold; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: White"> <td style="text-align: left; padding-left: 12pt">2022</td> <td style="font-weight: bold">&nbsp;</td> <td style="font-weight: bold; text-align: left">&nbsp;</td> <td style="font-weight: bold; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">3,283</div></td> <td style="white-space: nowrap; font-weight: bold; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="text-align: left; padding-left: 12pt">2023</td> <td style="font-weight: bold">&nbsp;</td> <td style="font-weight: bold; text-align: left">&nbsp;</td> <td style="font-weight: bold; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">2,508</div></td> <td style="white-space: nowrap; font-weight: bold; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: White"> <td style="text-align: left; padding-left: 12pt">2024</td> <td style="font-weight: bold">&nbsp;</td> <td style="font-weight: bold; text-align: left">&nbsp;</td> <td style="font-weight: bold; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">1,924</div></td> <td style="white-space: nowrap; font-weight: bold; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="text-align: left; padding-left: 12pt">2025</td> <td style="font-weight: bold">&nbsp;</td> <td style="font-weight: bold; text-align: left">&nbsp;</td> <td style="font-weight: bold; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">1,252</div></td> <td style="white-space: nowrap; font-weight: bold; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: White"> <td style="text-align: left; padding-bottom: 1pt; padding-left: 12pt">2026 and thereafter</td> <td style="font-weight: bold">&nbsp;</td> <td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">1,049</div></td> <td style="white-space: nowrap; border-bottom: Black 1pt solid; font-weight: bold; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="text-align: left">Total lease payments</td> <td style="font-weight: bold">&nbsp;</td> <td style="font-weight: bold; text-align: left">&nbsp;</td> <td style="font-weight: bold; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">14,359</div></td> <td style="white-space: nowrap; font-weight: bold; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: White"> <td style="text-align: left; padding-bottom: 1pt; padding-left: 10.5pt">Less: imputed interest</td> <td style="font-weight: bold">&nbsp;</td> <td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">(954</div></td> <td style="white-space: nowrap; border-bottom: Black 1pt solid; font-weight: bold; text-align: left">)</td> </tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="text-align: left; padding-bottom: 1pt">Total lease obligations</td> <td style="font-weight: bold">&nbsp;</td> <td style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">13,405</div></td> <td style="border-bottom: Black 1.5pt solid; white-space: nowrap; font-weight: bold; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: White"> <td style="text-align: left; padding-left: 10.5pt">Current</td> <td style="font-weight: bold">&nbsp;</td> <td style="font-weight: bold; text-align: left">&nbsp;</td> <td style="font-weight: bold; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">3,928</div></td> <td style="white-space: nowrap; font-weight: bold; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="text-align: left; padding-bottom: 1pt; padding-left: 10.5pt">Long-term</td> <td style="font-weight: bold">&nbsp;</td> <td style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">9,477</div></td> <td style="border-bottom: Black 1.5pt solid; white-space: nowrap; font-weight: bold; text-align: left">&nbsp;</td> </tr>  </table> </div> <div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&nbsp;</div> <div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"></div> <!-- Field: Page; Sequence: 26 -->   <!-- Field: /Page --> <div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&nbsp;</div> <div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><div style="display: inline; text-decoration: underline;">Disclosures Related to Periods Prior to Adoption of New Lease Standard</div></div> <div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">As of <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"> January 31, 2019, </div>future minimum lease payment obligations under non-cancelable operating and capital lease obligations were as follows:</div> <div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&nbsp;</div> <div> <table cellpadding="0" cellspacing="0" style="border-collapse: collapse; font: 10pt Times New Roman, Times, Serif; min-width: 700px;">  <tr style="vertical-align: bottom; background-color: White"> <td style="text-align: left; padding-bottom: 1pt">Years Ended January 31,</td> <td style="font-weight: bold">&nbsp;</td> <td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; font-weight: bold; text-align: left">&nbsp;</td> <td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; font-weight: bold; text-align: right"><div style="display: inline; font-family: Times New Roman, Times, Serif; font-size: 10pt"><div style="display: inline; font-weight: bold;">Operating Leases</div></div></td> <td style="border-top: Black 1pt solid; white-space: nowrap; border-bottom: Black 1pt solid; font-weight: bold; text-align: left">&nbsp;</td> <td style="border-top: Black 1pt solid; font-weight: bold; border-bottom: Black 1pt solid">&nbsp;</td> <td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; font-weight: bold; text-align: left">&nbsp;</td> <td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; font-weight: bold; text-align: right"><div style="display: inline; font-family: Times New Roman, Times, Serif; font-size: 10pt"><div style="display: inline; font-weight: bold;">Capital Leases</div></div></td> <td style="border-top: Black 1pt solid; white-space: nowrap; border-bottom: Black 1pt solid; font-weight: bold; text-align: left">&nbsp;</td> <td style="border-top: Black 1pt solid; font-weight: bold; border-bottom: Black 1pt solid">&nbsp;</td> <td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; font-weight: bold; text-align: left">&nbsp;</td> <td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; font-weight: bold; text-align: right"><div style="display: inline; font-family: Times New Roman, Times, Serif; font-size: 10pt"><div style="display: inline; font-weight: bold;">Total</div></div></td> <td style="border-top: Black 1pt solid; white-space: nowrap; border-bottom: Black 1pt solid; font-weight: bold; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="width: 58%; text-align: left; padding-left: 12pt">2020</td> <td style="width: 2%">&nbsp;</td> <td style="width: 1%; text-align: left">&nbsp;</td> <td style="width: 10%; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">4,627</div></td> <td style="white-space: nowrap; width: 1%; text-align: left">&nbsp;</td> <td style="width: 2%">&nbsp;</td> <td style="width: 1%; text-align: left">&nbsp;</td> <td style="width: 10%; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">51</div></td> <td style="white-space: nowrap; width: 1%; text-align: left">&nbsp;</td> <td style="width: 2%">&nbsp;</td> <td style="width: 1%; text-align: left">&nbsp;</td> <td style="width: 10%; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">4,678</div></td> <td style="white-space: nowrap; width: 1%; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: White"> <td style="text-align: left; padding-left: 12pt">2021</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">3,046</div></td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">2</div></td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">3,048</div></td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="text-align: left; padding-left: 12pt">2022</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">1,979</div></td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">&#x2013;</div></td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">1,979</div></td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: White"> <td style="text-align: left; padding-left: 12pt">2023</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">1,470</div></td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">&#x2013;</div></td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">1,470</div></td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="text-align: left; padding-left: 12pt">2024</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">1,038</div></td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">&#x2013;</div></td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">1,038</div></td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: White"> <td style="text-align: left; padding-left: 12pt">2025</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">737</div></td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">&#x2013;</div></td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">737</div></td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="text-align: left; padding-left: 12pt">2026</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">733</div></td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">&#x2013;</div></td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">733</div></td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: White"> <td style="text-align: left; padding-bottom: 1pt; padding-left: 12pt">2027</td> <td>&nbsp;</td> <td style="border-bottom: Black 1pt solid; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">271</div></td> <td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid">&nbsp;</td> <td style="border-bottom: Black 1pt solid; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">&#x2013;</div></td> <td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid">&nbsp;</td> <td style="border-bottom: Black 1pt solid; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">271</div></td> <td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="text-align: left; padding-bottom: 1pt">&nbsp;</td> <td>&nbsp;</td> <td style="border-bottom: Black 1pt solid; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">13,901</div></td> <td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid">&nbsp;</td> <td style="border-bottom: Black 1pt solid; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">53</div></td> <td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid">&nbsp;</td> <td style="border-bottom: Black 1pt solid; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">13,954</div></td> <td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&nbsp;</td> </tr>  </table> </div> <div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&nbsp;</div> <div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0">For the years ended <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"> January 31, 2019 </div>and <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">2018,</div> rental expense from operating leases was <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">$5.2</div> million and <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">$5.1</div> million, respectively.</div></div><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DisclosureTextBlockAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DisclosureTextBlockAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LesseeOperatingLeasesTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The entire disclosure for operating leases of lessee. Includes, but is not limited to, description of operating lease and maturity analysis of operating lease liability.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 20<br> -URI http://asc.fasb.org/subtopic&amp;trid=77888251<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LesseeOperatingLeasesTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>nonnum:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>38
<FILENAME>R25.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.20.1</span><table class="report" border="0" cellspacing="2" id="idp6891817376">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Note 17 - Stock-based Compensation Plans<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Jan. 31, 2020</div></th></tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DisclosureTextBlockAbstract', window );"><strong>Notes to Financial Statements</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock', window );">Share-based Payment Arrangement [Text Block]</a></td>
<td class="text"><div style="display: inline; font-family: times new roman; font-size: 10pt"><div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"><div style="display: inline; font-weight: bold;">Note <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">17</div> - Stock-Based Compensation Plans</div></div> <div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&nbsp;</div> <div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">Total estimated stock-based compensation expense recognized in our consolidated statement of operations was as follows:</div> <div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&nbsp;</div> <div> <table cellpadding="0" cellspacing="0" style="border-collapse: collapse; font: 10pt Times New Roman, Times, Serif; min-width: 700px;">  <tr style="vertical-align: bottom; background-color: White"> <td style="font-style: italic">Year Ended</td> <td style="font-weight: bold">&nbsp;</td> <td style="border-top: Black 1pt solid; font-weight: bold; text-align: left">&nbsp;</td> <td style="border-top: Black 1pt solid; font-weight: bold; text-align: right"><div style="display: inline; font-family: Times New Roman, Times, Serif; font-size: 10pt"><div style="display: inline; font-weight: bold;">January 31,</div></div></td> <td style="border-top: Black 1pt solid; white-space: nowrap; font-weight: bold; text-align: left">&nbsp;</td> <td style="border-top: Black 1pt solid">&nbsp;</td> <td style="border-top: Black 1pt solid; text-align: left">&nbsp;</td> <td style="border-top: Black 1pt solid; text-align: right"><div style="display: inline; font-family: Times New Roman, Times, Serif; font-size: 10pt">January 31,</div></td> <td style="border-top: Black 1pt solid; white-space: nowrap; text-align: left">&nbsp;</td> <td style="border-top: Black 1pt solid">&nbsp;</td> <td style="border-top: Black 1pt solid; text-align: left">&nbsp;</td> <td style="border-top: Black 1pt solid; text-align: right"><div style="display: inline; font-family: Times New Roman, Times, Serif; font-size: 10pt">January 31,</div></td> <td style="border-top: Black 1pt solid; white-space: nowrap; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: White"> <td style="padding-bottom: 1pt">&nbsp;</td> <td style="font-weight: bold">&nbsp;</td> <td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: right">2020</td> <td style="white-space: nowrap; border-bottom: Black 1pt solid; font-weight: bold; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid">&nbsp;</td> <td style="border-bottom: Black 1pt solid; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid; text-align: right">2019</td> <td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid">&nbsp;</td> <td style="border-bottom: Black 1pt solid; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid; text-align: right">2018</td> <td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="width: 58%">Cost of revenues</td> <td style="width: 2%; font-weight: bold">&nbsp;</td> <td style="width: 1%; font-weight: bold; text-align: left">&nbsp;</td> <td style="width: 10%; font-weight: bold; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">220</div></td> <td style="white-space: nowrap; width: 1%; font-weight: bold; text-align: left">&nbsp;</td> <td style="width: 2%">&nbsp;</td> <td style="width: 1%; text-align: left">&nbsp;</td> <td style="width: 10%; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">160</div></td> <td style="white-space: nowrap; width: 1%; text-align: left">&nbsp;</td> <td style="width: 2%">&nbsp;</td> <td style="width: 1%; text-align: left">&nbsp;</td> <td style="width: 10%; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">90</div></td> <td style="white-space: nowrap; width: 1%; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: White"> <td style="text-align: left">Sales and marketing</td> <td style="font-weight: bold">&nbsp;</td> <td style="font-weight: bold; text-align: left">&nbsp;</td> <td style="font-weight: bold; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">706</div></td> <td style="white-space: nowrap; font-weight: bold; text-align: left">&nbsp;</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">436</div></td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">246</div></td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="text-align: left">Research and development</td> <td style="font-weight: bold">&nbsp;</td> <td style="font-weight: bold; text-align: left">&nbsp;</td> <td style="font-weight: bold; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">281</div></td> <td style="white-space: nowrap; font-weight: bold; text-align: left">&nbsp;</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">184</div></td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">85</div></td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: White"> <td style="text-align: left; padding-bottom: 1pt">General and administrative</td> <td style="font-weight: bold">&nbsp;</td> <td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">3,702</div></td> <td style="white-space: nowrap; border-bottom: Black 1pt solid; font-weight: bold; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid">&nbsp;</td> <td style="border-bottom: Black 1pt solid; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">2,930</div></td> <td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid">&nbsp;</td> <td style="border-bottom: Black 1pt solid; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">2,386</div></td> <td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="text-align: left; padding-bottom: 1pt">Effect on net income</td> <td style="font-weight: bold">&nbsp;</td> <td style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">4,909</div></td> <td style="border-bottom: Black 1.5pt solid; white-space: nowrap; font-weight: bold; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1.5pt solid">&nbsp;</td> <td style="border-bottom: Black 1.5pt solid; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1.5pt solid; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">3,710</div></td> <td style="border-bottom: Black 1.5pt solid; white-space: nowrap; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1.5pt solid">&nbsp;</td> <td style="border-bottom: Black 1.5pt solid; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1.5pt solid; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">2,807</div></td> <td style="border-bottom: Black 1.5pt solid; white-space: nowrap; text-align: left">&nbsp;</td> </tr>  </table> </div> <div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&nbsp;</div> <div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">Differences between how GAAP and applicable income tax laws treat the amount and timing of recognition of stock-based compensation expense <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"> may </div>result in a deferred tax asset. We have recorded a valuation allowance against any such deferred tax asset except for <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">$0.7</div> million (<div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">$0.6</div> million at <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"> January 31, 2019) </div>recognized in the United States. The tax benefit realized in connection with stock options exercised during <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">2020,</div> <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">2019</div> and <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">2018</div> was <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">$0.1</div> million, <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">$0.2</div> million and nominal, respectively.</div> <div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&nbsp;</div> <div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><div style="display: inline; font-weight: bold;"><div style="display: inline; font-style: italic;">Stock Options</div></div></div> <div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&nbsp;</div> <div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">As of <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"> January 31, 2020, </div>we had <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">1,021,322</div> stock options granted and outstanding under our shareholder-approved stock option plan and <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">3,661,684</div> remained available for grant. In addition, we had <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">106,500</div> stock options outstanding pursuant to option grants made outside of our shareholder-approved stock option plan as permitted under the rules of the Toronto Stock Exchange in certain circumstances.</div> <div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&nbsp;</div> <div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">As of <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"> January 31, 2020, </div><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">$3.5</div> million of total unrecognized compensation costs, net of forfeitures, related to non-vested stock option awards is expected to be recognized over a weighted average period of <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">2.8</div> years. The total fair value of stock options vested during <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">2020</div> was <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">$1.9</div> million.</div> <div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&nbsp;</div> <div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">The total number of options granted during the years ended <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"> January 31, 2020, </div><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">2019</div> and <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">2018</div> was <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">367,173,</div> <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">272,144</div> and <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">274,500,</div> respectively. The weighted average grant-date fair value of options granted during the years ended <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"> January 31, 2020, </div><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">2019</div> and <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">2018</div> was <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">$8.99,</div> <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">$7.10</div> and <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">$5.26</div> per option, respectively.</div> <div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&nbsp;</div> <div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">The weighted-average assumptions were as follows:</div> <div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&nbsp;</div> <div> <table cellpadding="0" cellspacing="0" style="border-collapse: collapse; font: 10pt Times New Roman, Times, Serif; min-width: 700px;">  <tr style="vertical-align: bottom; background-color: White"> <td style="font-style: italic; padding-bottom: 1pt">Year Ended</td> <td style="font-weight: bold">&nbsp;</td> <td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; font-weight: bold; text-align: left">&nbsp;</td> <td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; font-weight: bold; text-align: right"><div style="display: inline; font-family: Times New Roman, Times, Serif; font-size: 10pt"><div style="display: inline; font-weight: bold;">January 31, 2020</div></div></td> <td style="border-top: Black 1pt solid; white-space: nowrap; border-bottom: Black 1pt solid; font-weight: bold; text-align: left">&nbsp;</td> <td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid">&nbsp;</td> <td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; text-align: left">&nbsp;</td> <td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; text-align: right"><div style="display: inline; font-family: Times New Roman, Times, Serif; font-size: 10pt">January 31, 2019</div></td> <td style="border-top: Black 1pt solid; white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&nbsp;</td> <td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid">&nbsp;</td> <td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; text-align: left">&nbsp;</td> <td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; text-align: right"><div style="display: inline; font-family: Times New Roman, Times, Serif; font-size: 10pt">January 31, 2018</div></td> <td style="border-top: Black 1pt solid; white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="text-align: left">&nbsp;&nbsp;Expected dividend yield (%)</td> <td style="font-weight: bold">&nbsp;</td> <td style="font-weight: bold; text-align: left">&nbsp;</td> <td style="font-weight: bold; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">&#x2013;</div></td> <td style="white-space: nowrap; font-weight: bold; text-align: left">&nbsp;</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">&#x2013;</div></td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">&#x2013;</div></td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: White"> <td style="width: 58%; text-align: left">&nbsp;&nbsp;Expected volatility (%)</td> <td style="width: 2%; font-weight: bold">&nbsp;</td> <td style="width: 1%; font-weight: bold; text-align: left">&nbsp;</td> <td style="width: 10%; font-weight: bold; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">23.5</div></td> <td style="white-space: nowrap; width: 1%; font-weight: bold; text-align: left">&nbsp;</td> <td style="width: 2%">&nbsp;</td> <td style="width: 1%; text-align: left">&nbsp;</td> <td style="width: 10%; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">23.6</div></td> <td style="white-space: nowrap; width: 1%; text-align: left">&nbsp;</td> <td style="width: 2%">&nbsp;</td> <td style="width: 1%; text-align: left">&nbsp;</td> <td style="width: 10%; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">23.5</div></td> <td style="white-space: nowrap; width: 1%; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="text-align: left">&nbsp;&nbsp;Risk-free rate (%)</td> <td style="font-weight: bold">&nbsp;</td> <td style="font-weight: bold; text-align: left">&nbsp;</td> <td style="font-weight: bold; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">1.4</div></td> <td style="white-space: nowrap; font-weight: bold; text-align: left">&nbsp;</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">2.0</div></td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">1.0</div></td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: White"> <td style="text-align: left">&nbsp;&nbsp;Expected option life (years)</td> <td style="font-weight: bold">&nbsp;</td> <td style="font-weight: bold; text-align: left">&nbsp;</td> <td style="font-weight: bold; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">5</div></td> <td style="white-space: nowrap; font-weight: bold; text-align: left">&nbsp;</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">5</div></td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">5</div></td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> </tr>  </table> </div> <div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&nbsp;</div> <div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"></div> <!-- Field: Page; Sequence: 30 -->   <div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"></div> <div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">A summary of option activity under all of our plans is presented as follows:</div> <div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&nbsp;</div> <div> <table cellpadding="0" cellspacing="0" style="border-collapse: collapse; font: 10pt Times New Roman, Times, Serif; min-width: 700px;">  <tr style="vertical-align: bottom; background-color: White"> <td style="text-align: center; padding-bottom: 1pt">&nbsp;</td> <td>&nbsp;</td> <td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; text-align: left">&nbsp;</td> <td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; text-align: right"><div style="display: inline; font-family: Times New Roman, Times, Serif; font-size: 10pt">Number of Stock Options Outstanding</div></td> <td style="border-top: Black 1pt solid; white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&nbsp;</td> <td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid">&nbsp;</td> <td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; text-align: left">&nbsp;</td> <td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; text-align: right"><div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: right">Weighted-</div> <div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: right">Average Exercise</div> <div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: right">Price</div></td> <td style="border-top: Black 1pt solid; white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&nbsp;</td> <td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid">&nbsp;</td> <td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; text-align: left">&nbsp;</td> <td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; text-align: right"><div style="display: inline; font-family: Times New Roman, Times, Serif; font-size: 10pt">Weighted- Average Remaining Contractual Life (years)</div></td> <td style="border-top: Black 1pt solid; white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&nbsp;</td> <td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid">&nbsp;</td> <td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; text-align: left">&nbsp;</td> <td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; text-align: right"><div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: right">Aggregate Intrinsic</div> <div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: right">Value</div> <div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: right">(in millions)</div></td> <td style="border-top: Black 1pt solid; white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="width: 48%">Balance at January 31, 2018</td> <td style="width: 2%">&nbsp;</td> <td style="width: 1%; text-align: left">&nbsp;</td> <td style="width: 9%; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">657,209</div></td> <td style="white-space: nowrap; width: 1%; text-align: left">&nbsp;</td> <td style="width: 2%">&nbsp;</td> <td style="width: 1%; text-align: left">$</td> <td style="width: 9%; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">18.21</div></td> <td style="white-space: nowrap; width: 1%; text-align: left">&nbsp;</td> <td style="width: 2%">&nbsp;</td> <td style="width: 1%; text-align: left">&nbsp;</td> <td style="width: 9%; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">4.9</div></td> <td style="white-space: nowrap; width: 1%; text-align: left">&nbsp;</td> <td style="width: 2%">&nbsp;</td> <td style="width: 1%; text-align: left">&nbsp;</td> <td style="width: 9%; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">5.7</div></td> <td style="white-space: nowrap; width: 1%; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: White"> <td style="padding-left: 15.1pt">Granted</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">272,144</div></td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> <td>&nbsp;</td> <td style="text-align: left">$</td> <td style="text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">27.96</div></td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">&nbsp;</div></td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">&nbsp;</div></td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="padding-left: 15.1pt">Exercised</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">(46,065</div></td> <td style="white-space: nowrap; text-align: left">)</td> <td>&nbsp;</td> <td style="text-align: left">$</td> <td style="text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">11.75</div></td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">&nbsp;</div></td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">&nbsp;</div></td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: White"> <td style="padding-bottom: 1pt; padding-left: 15.1pt">Forfeited</td> <td>&nbsp;</td> <td style="border-bottom: Black 1pt solid; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">(3,950</div></td> <td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">)</td> <td style="border-bottom: Black 1pt solid">&nbsp;</td> <td style="border-bottom: Black 1pt solid; text-align: left">$</td> <td style="border-bottom: Black 1pt solid; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">26.43</div></td> <td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid">&nbsp;</td> <td style="border-bottom: Black 1pt solid; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">&nbsp;</div></td> <td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid">&nbsp;</td> <td style="border-bottom: Black 1pt solid; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">&nbsp;</div></td> <td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td>Balance at January 31, 2019</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">879,338</div></td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> <td>&nbsp;</td> <td style="text-align: left">$</td> <td style="text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">21.41</div></td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">4.7</div></td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">8.7</div></td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: White"> <td style="text-indent: 2.75pt; padding-left: 12.25pt">Granted</td> <td style="font-weight: bold">&nbsp;</td> <td style="font-weight: bold; text-align: left">&nbsp;</td> <td style="font-weight: bold; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">367,173</div></td> <td style="white-space: nowrap; font-weight: bold; text-align: left">&nbsp;</td> <td style="font-weight: bold">&nbsp;</td> <td style="font-weight: bold; text-align: left">$</td> <td style="font-weight: bold; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">38.06</div></td> <td style="white-space: nowrap; font-weight: bold; text-align: left">&nbsp;</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">&nbsp;</div></td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">&nbsp;</div></td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="text-indent: 2.75pt; padding-left: 12pt">Exercised</td> <td style="font-weight: bold">&nbsp;</td> <td style="font-weight: bold; text-align: left">&nbsp;</td> <td style="font-weight: bold; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">(94,970</div></td> <td style="white-space: nowrap; font-weight: bold; text-align: left">)</td> <td style="font-weight: bold">&nbsp;</td> <td style="font-weight: bold; text-align: left">$</td> <td style="font-weight: bold; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">15.62</div></td> <td style="white-space: nowrap; font-weight: bold; text-align: left">&nbsp;</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">&nbsp;</div></td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">&nbsp;</div></td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: White"> <td style="padding-bottom: 1pt; text-indent: 2.75pt; padding-left: 12pt">Forfeited</td> <td style="font-weight: bold">&nbsp;</td> <td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">(23,719</div></td> <td style="white-space: nowrap; border-bottom: Black 1pt solid; font-weight: bold; text-align: left">)</td> <td style="font-weight: bold; border-bottom: Black 1pt solid">&nbsp;</td> <td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: left">$</td> <td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">31.93</div></td> <td style="white-space: nowrap; border-bottom: Black 1pt solid; font-weight: bold; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid">&nbsp;</td> <td style="border-bottom: Black 1pt solid; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">&nbsp;</div></td> <td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid">&nbsp;</td> <td style="border-bottom: Black 1pt solid; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">&nbsp;</div></td> <td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="padding-bottom: 1pt">Balance at January 31, 2020</td> <td style="font-weight: bold">&nbsp;</td> <td style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">1,127,822</div></td> <td style="border-bottom: Black 1.5pt solid; white-space: nowrap; font-weight: bold; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1.5pt solid; font-weight: bold">&nbsp;</td> <td style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: left">$</td> <td style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">26.82</div></td> <td style="border-bottom: Black 1.5pt solid; white-space: nowrap; font-weight: bold; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1.5pt solid; font-weight: bold">&nbsp;</td> <td style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">4.6</div></td> <td style="border-bottom: Black 1.5pt solid; white-space: nowrap; font-weight: bold; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1.5pt solid; font-weight: bold">&nbsp;</td> <td style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">20.2</div></td> <td style="border-bottom: Black 1.5pt solid; white-space: nowrap; font-weight: bold; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: White"> <td>&nbsp;</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right">&nbsp;</td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right">&nbsp;</td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right">&nbsp;</td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right">&nbsp;</td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="text-align: left; padding-bottom: 1pt">Vested or expected to vest at January 31, 2020</td> <td style="font-weight: bold">&nbsp;</td> <td style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">1,127,822</div></td> <td style="border-bottom: Black 1.5pt solid; white-space: nowrap; font-weight: bold; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1.5pt solid; font-weight: bold">&nbsp;</td> <td style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: left">$</td> <td style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">26.82</div></td> <td style="border-bottom: Black 1.5pt solid; white-space: nowrap; font-weight: bold; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1.5pt solid; font-weight: bold">&nbsp;</td> <td style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">4.6</div></td> <td style="border-bottom: Black 1.5pt solid; white-space: nowrap; font-weight: bold; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1.5pt solid; font-weight: bold">&nbsp;</td> <td style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">20.2</div></td> <td style="border-bottom: Black 1.5pt solid; white-space: nowrap; font-weight: bold; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: White"> <td>&nbsp;</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right">&nbsp;</td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right">&nbsp;</td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right">&nbsp;</td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right">&nbsp;</td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="padding-bottom: 1pt">Exercisable at January 31, 2020</td> <td style="font-weight: bold">&nbsp;</td> <td style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">718,169</div></td> <td style="border-bottom: Black 1.5pt solid; white-space: nowrap; font-weight: bold; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1.5pt solid; font-weight: bold">&nbsp;</td> <td style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: left">$</td> <td style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">22.88</div></td> <td style="border-bottom: Black 1.5pt solid; white-space: nowrap; font-weight: bold; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1.5pt solid; font-weight: bold">&nbsp;</td> <td style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">4.0</div></td> <td style="border-bottom: Black 1.5pt solid; white-space: nowrap; font-weight: bold; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1.5pt solid; font-weight: bold">&nbsp;</td> <td style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">15.7</div></td> <td style="border-bottom: Black 1.5pt solid; white-space: nowrap; font-weight: bold; text-align: left">&nbsp;</td> </tr>  </table> </div> <div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&nbsp;</div> <div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">The total intrinsic value of options exercised during the years ended <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"> January 31, 2020, </div><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">2019</div> and <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">2018</div> was approximately <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">$2.0</div> million, <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">$0.8</div> million and <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">$2.5</div> million, respectively.</div> <div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&nbsp;</div> <div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">Options outstanding and options exercisable as at <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"> January 31, 2020 </div>by range of exercise price are as follows:</div> <div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&nbsp;</div> <div> <table cellpadding="0" cellspacing="0" style="border-collapse: collapse; font: 10pt Times New Roman, Times, Serif; min-width: 700px;">  <tr style="vertical-align: bottom"> <td style="text-align: center">&nbsp;</td> <td style="font-weight: bold">&nbsp;</td> <td colspan="11" style="font-weight: bold; text-align: center; border-bottom: Black 1pt solid">Options Outstanding</td> <td style="font-weight: bold">&nbsp;</td> <td colspan="7" style="font-weight: bold; text-align: center; border-bottom: Black 1pt solid">Options Exercisable</td> </tr> <tr style="vertical-align: bottom; background-color: White"> <td style="font-style: italic; padding-bottom: 1pt">Range of Exercise Prices</td> <td>&nbsp;</td> <td style="border-bottom: Black 1pt solid; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid; text-align: right"><div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: right">Weighted</div> <div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: right">Average Exercise Price</div></td> <td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid">&nbsp;</td> <td style="border-bottom: Black 1pt solid; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid; text-align: right"><div style="display: inline; font-family: Times New Roman, Times, Serif; font-size: 10pt">Number of Stock Options </div></td> <td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid">&nbsp;</td> <td style="border-bottom: Black 1pt solid; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid; text-align: right"><div style="display: inline; font-family: Times New Roman, Times, Serif; font-size: 10pt">Weighted Average Remaining Contractual Life (years)</div></td> <td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&nbsp;</td> <td>&nbsp;</td> <td style="border-bottom: Black 1pt solid; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid; text-align: right"><div style="display: inline; font-family: Times New Roman, Times, Serif; font-size: 10pt">Weighted Average Exercise Price</div></td> <td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid">&nbsp;</td> <td style="border-bottom: Black 1pt solid; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid; text-align: right"><div style="display: inline; font-family: Times New Roman, Times, Serif; font-size: 10pt">Number of Stock Options</div></td> <td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="width: 45%; padding-left: 12pt">$11.43 &#x2013; $11.59</td> <td style="width: 1%">&nbsp;</td> <td style="width: 1%; text-align: left">$</td> <td style="width: 8%; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">11.57</div></td> <td style="white-space: nowrap; width: 1%; text-align: left">&nbsp;</td> <td style="width: 1%">&nbsp;</td> <td style="width: 1%; text-align: left">&nbsp;</td> <td style="width: 8%; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">126,500</div></td> <td style="white-space: nowrap; width: 1%; text-align: left">&nbsp;</td> <td style="width: 1%">&nbsp;</td> <td style="width: 1%; text-align: left">&nbsp;</td> <td style="width: 8%; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">1.4</div></td> <td style="white-space: nowrap; width: 1%; text-align: left">&nbsp;</td> <td style="width: 1%">&nbsp;</td> <td style="width: 1%; text-align: left">$</td> <td style="width: 8%; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">11.57</div></td> <td style="white-space: nowrap; width: 1%; text-align: left">&nbsp;</td> <td style="width: 1%">&nbsp;</td> <td style="width: 1%; text-align: left">&nbsp;</td> <td style="width: 8%; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">126,500</div></td> <td style="white-space: nowrap; width: 1%; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: White"> <td style="padding-left: 12pt">$18.71 &#x2013; $22.57</td> <td>&nbsp;</td> <td style="text-align: left">$</td> <td style="text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">21.17</div></td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">397,014</div></td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">3.8</div></td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> <td>&nbsp;</td> <td style="text-align: left">$</td> <td style="text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">21.08</div></td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">357,014</div></td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="padding-left: 12pt">$25.91 &#x2013; $27.50</td> <td>&nbsp;</td> <td style="text-align: left">$</td> <td style="text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">27.49</div></td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">247,935</div></td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">5.2</div></td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> <td>&nbsp;</td> <td style="text-align: left">$</td> <td style="text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">27.49</div></td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">140,461</div></td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: White"> <td style="padding-bottom: 1pt; padding-left: 12pt">$38.04 &#x2013; $39.70</td> <td>&nbsp;</td> <td style="border-bottom: Black 1pt solid; text-align: left">$</td> <td style="border-bottom: Black 1pt solid; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">38.07</div></td> <td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid">&nbsp;</td> <td style="border-bottom: Black 1pt solid; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">356,373</div></td> <td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid">&nbsp;</td> <td style="border-bottom: Black 1pt solid; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">6.2</div></td> <td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&nbsp;</td> <td>&nbsp;</td> <td style="border-bottom: Black 1pt solid; text-align: left">$</td> <td style="border-bottom: Black 1pt solid; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">38.06</div></td> <td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid">&nbsp;</td> <td style="border-bottom: Black 1pt solid; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">94,194</div></td> <td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="padding-bottom: 1pt; padding-left: 12pt">&nbsp;</td> <td style="font-weight: bold">&nbsp;</td> <td style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: left">$</td> <td style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">26.82</div></td> <td style="border-bottom: Black 1.5pt solid; white-space: nowrap; font-weight: bold; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1.5pt solid; font-weight: bold">&nbsp;</td> <td style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">1,127,822</div></td> <td style="border-bottom: Black 1.5pt solid; white-space: nowrap; font-weight: bold; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1.5pt solid; font-weight: bold">&nbsp;</td> <td style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">4.6</div></td> <td style="border-bottom: Black 1.5pt solid; white-space: nowrap; font-weight: bold; text-align: left">&nbsp;</td> <td style="font-weight: bold">&nbsp;</td> <td style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: left">$</td> <td style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">22.88</div></td> <td style="border-bottom: Black 1.5pt solid; white-space: nowrap; font-weight: bold; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1.5pt solid; font-weight: bold">&nbsp;</td> <td style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">718,169</div></td> <td style="border-bottom: Black 1.5pt solid; white-space: nowrap; font-weight: bold; text-align: left">&nbsp;</td> </tr>  </table> </div> <div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&nbsp;</div> <div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"></div> <!-- Field: Page; Sequence: 31 -->   <div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"></div> <div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><div style="display: inline; color: black">A summary of the status of our unvested stock options </div>under our shareholder-approved stock option plan <div style="display: inline; color: black">as of <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"> January 31, 2020 </div>is presented as follows:</div></div> <div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&nbsp;</div> <div> <table cellpadding="0" cellspacing="0" style="border-collapse: collapse; font: 10pt Times New Roman, Times, Serif; min-width: 700px;">  <tr style="vertical-align: bottom; background-color: White"> <td style="text-align: center; padding-bottom: 1pt">&nbsp;</td> <td style="font-weight: bold">&nbsp;</td> <td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; font-weight: bold; text-align: left">&nbsp;</td> <td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; font-weight: bold; text-align: right"><div style="display: inline; font-family: Times New Roman, Times, Serif; font-size: 10pt"><div style="display: inline; font-weight: bold;">Number of Stock Options Outstanding</div></div></td> <td style="border-top: Black 1pt solid; white-space: nowrap; border-bottom: Black 1pt solid; font-weight: bold; text-align: left">&nbsp;</td> <td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid">&nbsp;</td> <td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; text-align: left">&nbsp;</td> <td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; text-align: right"><div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: right"><div style="display: inline; font-weight: bold;">Weighted-Average Grant-Date Fair Value per Share</div></div></td> <td style="border-top: Black 1pt solid; white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="width: 68%">Balance at January 31, 2018</td> <td style="width: 2%">&nbsp;</td> <td style="width: 1%; text-align: left">&nbsp;</td> <td style="width: 12%; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">276,067</div></td> <td style="white-space: nowrap; width: 1%; text-align: left">&nbsp;</td> <td style="width: 2%">&nbsp;</td> <td style="width: 1%; text-align: left">$</td> <td style="width: 12%; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">4.98</div></td> <td style="white-space: nowrap; width: 1%; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: White"> <td style="padding-left: 12pt">Granted</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">272,144</div></td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> <td>&nbsp;</td> <td style="text-align: left">$</td> <td style="text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">7.10</div></td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="padding-left: 12pt">Vested</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">(219,043</div></td> <td style="white-space: nowrap; text-align: left">)</td> <td>&nbsp;</td> <td style="text-align: left">$</td> <td style="text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">5.56</div></td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: White"> <td style="padding-bottom: 1pt; padding-left: 12pt">Forfeited</td> <td>&nbsp;</td> <td style="border-bottom: Black 1pt solid; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">(3,950</div></td> <td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">)</td> <td style="border-bottom: Black 1pt solid">&nbsp;</td> <td style="border-bottom: Black 1pt solid; text-align: left">$</td> <td style="border-bottom: Black 1pt solid; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">6.41</div></td> <td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td>Balance at January 31, 2019</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">325,218</div></td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> <td>&nbsp;</td> <td style="text-align: left">$</td> <td style="text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">6.18</div></td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: White"> <td style="padding-left: 12pt">Granted</td> <td style="font-weight: bold">&nbsp;</td> <td style="font-weight: bold; text-align: left">&nbsp;</td> <td style="font-weight: bold; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">367,173</div></td> <td style="white-space: nowrap; font-weight: bold; text-align: left">&nbsp;</td> <td style="font-weight: bold">&nbsp;</td> <td style="font-weight: bold; text-align: left">$</td> <td style="font-weight: bold; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">8.99</div></td> <td style="white-space: nowrap; font-weight: bold; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="padding-left: 12pt">Vested</td> <td style="font-weight: bold">&nbsp;</td> <td style="font-weight: bold; text-align: left">&nbsp;</td> <td style="font-weight: bold; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">(259,269</div></td> <td style="white-space: nowrap; font-weight: bold; text-align: left">)</td> <td style="font-weight: bold">&nbsp;</td> <td style="font-weight: bold; text-align: left">$</td> <td style="font-weight: bold; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">6.96</div></td> <td style="white-space: nowrap; font-weight: bold; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: White"> <td style="padding-bottom: 1pt; padding-left: 12pt">Forfeited</td> <td style="font-weight: bold">&nbsp;</td> <td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">(23,469</div></td> <td style="white-space: nowrap; border-bottom: Black 1pt solid; font-weight: bold; text-align: left">)</td> <td style="font-weight: bold; border-bottom: Black 1pt solid">&nbsp;</td> <td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: left">$</td> <td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">7.69</div></td> <td style="white-space: nowrap; border-bottom: Black 1pt solid; font-weight: bold; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="padding-bottom: 1pt">Balance at January 31, 2020</td> <td style="font-weight: bold">&nbsp;</td> <td style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">409,653</div></td> <td style="border-bottom: Black 1.5pt solid; white-space: nowrap; font-weight: bold; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1.5pt solid; font-weight: bold">&nbsp;</td> <td style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: left">$</td> <td style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">8.03</div></td> <td style="border-bottom: Black 1.5pt solid; white-space: nowrap; font-weight: bold; text-align: left">&nbsp;</td> </tr>  </table> </div> <div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&nbsp;</div> <div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">The above noted table excludes the <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">106,500</div> options outstanding pursuant to option grants made outside of our shareholder-approved stock option plan as permitted under the rules of the Toronto Stock Exchange in certain circumstances.</div> <div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&nbsp;</div> <div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><div style="display: inline; font-weight: bold;"><div style="display: inline; font-style: italic;">Performance Share Units</div></div></div> <div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&nbsp;</div> <div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">A summary of PSU activity is as follows:</div> <div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&nbsp;</div> <div> <table cellpadding="0" cellspacing="0" style="border-collapse: collapse; font: 10pt Times New Roman, Times, Serif; min-width: 700px;">  <tr style="vertical-align: bottom; background-color: White"> <td style="text-align: center; padding-bottom: 1pt">&nbsp;</td> <td style="font-weight: bold">&nbsp;</td> <td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; font-weight: bold; text-align: left">&nbsp;</td> <td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; font-weight: bold; text-align: right"><div style="display: inline; font-family: Times New Roman, Times, Serif; font-size: 10pt"><div style="display: inline; font-weight: bold;">Number of PSUs Outstanding</div></div></td> <td style="border-top: Black 1pt solid; white-space: nowrap; border-bottom: Black 1pt solid; font-weight: bold; text-align: left">&nbsp;</td> <td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid">&nbsp;</td> <td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; text-align: left">&nbsp;</td> <td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; text-align: right"><div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: right"><div style="display: inline; font-weight: bold;">Weighted-</div></div> <div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: right"><div style="display: inline; font-weight: bold;">Average Granted Date Fair Value</div></div></td> <td style="border-top: Black 1pt solid; white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&nbsp;</td> <td style="border-top: Black 1pt solid; font-weight: bold; border-bottom: Black 1pt solid">&nbsp;</td> <td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; font-weight: bold; text-align: left">&nbsp;</td> <td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; font-weight: bold; text-align: right"><div style="display: inline; font-family: Times New Roman, Times, Serif; font-size: 10pt"><div style="display: inline; font-weight: bold;">Weighted- Average Remaining Contractual Life (years)</div></div></td> <td style="border-top: Black 1pt solid; white-space: nowrap; border-bottom: Black 1pt solid; font-weight: bold; text-align: left">&nbsp;</td> <td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid">&nbsp;</td> <td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; text-align: left">&nbsp;</td> <td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; text-align: right"><div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: right"><div style="display: inline; font-weight: bold;">Aggregate Intrinsic</div></div> <div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: right"><div style="display: inline; font-weight: bold;">Value</div></div> <div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: right"><div style="display: inline; font-weight: bold;">(in millions)</div></div></td> <td style="border-top: Black 1pt solid; white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="width: 52%">Balance at January 31, 2018</td> <td style="width: 1%">&nbsp;</td> <td style="width: 1%; text-align: left">&nbsp;</td> <td style="width: 9%; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">440,520</div></td> <td style="white-space: nowrap; width: 1%; text-align: left">&nbsp;</td> <td style="width: 1%">&nbsp;</td> <td style="width: 1%; text-align: left">$</td> <td style="width: 9%; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">15.91</div></td> <td style="white-space: nowrap; width: 1%; text-align: left">&nbsp;</td> <td style="width: 1%">&nbsp;</td> <td style="width: 1%; text-align: left">&nbsp;</td> <td style="width: 9%; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">6.1</div></td> <td style="white-space: nowrap; width: 1%; text-align: left">&nbsp;</td> <td style="width: 1%">&nbsp;</td> <td style="width: 1%; text-align: left">&nbsp;</td> <td style="width: 9%; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">11.9</div></td> <td style="white-space: nowrap; width: 1%; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: White"> <td style="padding-left: 12.25pt">Granted</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">54,351</div></td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> <td>&nbsp;</td> <td style="text-align: left">$</td> <td style="text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">35.23</div></td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">&nbsp;</div></td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">&nbsp;</div></td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="text-align: left; padding-bottom: 1pt; padding-left: 12.25pt">Performance units issued</td> <td>&nbsp;</td> <td style="border-bottom: Black 1pt solid; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">35,512</div></td> <td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid">&nbsp;</td> <td style="border-bottom: Black 1pt solid; text-align: left">$</td> <td style="border-bottom: Black 1pt solid; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">19.59</div></td> <td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid">&nbsp;</td> <td style="border-bottom: Black 1pt solid; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">&nbsp;</div></td> <td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid">&nbsp;</td> <td style="border-bottom: Black 1pt solid; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">&nbsp;</div></td> <td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: White"> <td>Balance at January 31, 2019</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">530,383</div></td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> <td>&nbsp;</td> <td style="text-align: left">$</td> <td style="text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">18.02</div></td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">5.5</div></td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">16.6</div></td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="padding-left: 12.25pt">Granted</td> <td style="font-weight: bold">&nbsp;</td> <td style="font-weight: bold; text-align: left">&nbsp;</td> <td style="font-weight: bold; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">53,729</div></td> <td style="white-space: nowrap; font-weight: bold; text-align: left">&nbsp;</td> <td style="font-weight: bold">&nbsp;</td> <td style="font-weight: bold; text-align: left">$</td> <td style="font-weight: bold; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">53.65</div></td> <td style="white-space: nowrap; font-weight: bold; text-align: left">&nbsp;</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">&nbsp;</div></td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">&nbsp;</div></td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: White"> <td style="text-align: left; padding-bottom: 1pt; padding-left: 12.25pt">Performance units issued</td> <td style="font-weight: bold">&nbsp;</td> <td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">45,762</div></td> <td style="white-space: nowrap; border-bottom: Black 1pt solid; font-weight: bold; text-align: left">&nbsp;</td> <td style="font-weight: bold; border-bottom: Black 1pt solid">&nbsp;</td> <td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: left">$</td> <td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">23.24</div></td> <td style="white-space: nowrap; border-bottom: Black 1pt solid; font-weight: bold; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid">&nbsp;</td> <td style="border-bottom: Black 1pt solid; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">&nbsp;</div></td> <td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid">&nbsp;</td> <td style="border-bottom: Black 1pt solid; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">&nbsp;</div></td> <td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="padding-bottom: 1pt">Balance at January 31, 2020</td> <td style="font-weight: bold">&nbsp;</td> <td style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">629,874</div></td> <td style="border-bottom: Black 1.5pt solid; white-space: nowrap; font-weight: bold; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1.5pt solid; font-weight: bold">&nbsp;</td> <td style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: left">$</td> <td style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">21.19</div></td> <td style="border-bottom: Black 1.5pt solid; white-space: nowrap; font-weight: bold; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1.5pt solid; font-weight: bold">&nbsp;</td> <td style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">5.0</div></td> <td style="border-bottom: Black 1.5pt solid; white-space: nowrap; font-weight: bold; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1.5pt solid; font-weight: bold">&nbsp;</td> <td style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">28.2</div></td> <td style="border-bottom: Black 1.5pt solid; white-space: nowrap; font-weight: bold; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: White"> <td>&nbsp;</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right">&nbsp;</td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right">&nbsp;</td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right">&nbsp;</td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right">&nbsp;</td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="text-align: left; padding-bottom: 1pt">Vested or expected to vest at January 31, 2020</td> <td style="font-weight: bold">&nbsp;</td> <td style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">629,874</div></td> <td style="border-bottom: Black 1.5pt solid; white-space: nowrap; font-weight: bold; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1.5pt solid; font-weight: bold">&nbsp;</td> <td style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: left">$</td> <td style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">21.19</div></td> <td style="border-bottom: Black 1.5pt solid; white-space: nowrap; font-weight: bold; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1.5pt solid; font-weight: bold">&nbsp;</td> <td style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">5.0</div></td> <td style="border-bottom: Black 1.5pt solid; white-space: nowrap; font-weight: bold; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1.5pt solid; font-weight: bold">&nbsp;</td> <td style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">28.2</div></td> <td style="border-bottom: Black 1.5pt solid; white-space: nowrap; font-weight: bold; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: White"> <td>&nbsp;</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right">&nbsp;</td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right">&nbsp;</td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right">&nbsp;</td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right">&nbsp;</td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="padding-bottom: 1pt">Exercisable at January 31, 2020</td> <td style="font-weight: bold">&nbsp;</td> <td style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">521,794</div></td> <td style="border-bottom: Black 1.5pt solid; white-space: nowrap; font-weight: bold; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1.5pt solid; font-weight: bold">&nbsp;</td> <td style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: left">$</td> <td style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">16.45</div></td> <td style="border-bottom: Black 1.5pt solid; white-space: nowrap; font-weight: bold; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1.5pt solid; font-weight: bold">&nbsp;</td> <td style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">4.3</div></td> <td style="border-bottom: Black 1.5pt solid; white-space: nowrap; font-weight: bold; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1.5pt solid; font-weight: bold">&nbsp;</td> <td style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">23.4</div></td> <td style="border-bottom: Black 1.5pt solid; white-space: nowrap; font-weight: bold; text-align: left">&nbsp;</td> </tr>  </table> </div> <div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&nbsp;</div> <div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">The aggregate intrinsic values represent the total pre-tax intrinsic value (the aggregate closing share price of our common shares on <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"> January 31, 2020) </div>that would have been received by PSU holders if all PSUs had been vested on <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"> January 31, 2020.</div></div> <div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&nbsp;</div> <div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">As of <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"> January 31, 2020, </div><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">$2.7</div> million of total unrecognized compensation costs related to non-vested awards is expected to be recognized over a weighted average period of <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">1.5</div> years. The total fair value of PSUs vested during <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">2020</div> was <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">$2.6</div> million.</div> <div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&nbsp;</div> <div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"></div> <!-- Field: Page; Sequence: 32 -->   <div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"></div> <div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><div style="display: inline; font-weight: bold;"><div style="display: inline; font-style: italic;">Restricted Share Units</div></div></div> <div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&nbsp;</div> <div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">A summary of RSU activity is as follows:</div> <div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&nbsp;</div> <div> <table cellpadding="0" cellspacing="0" style="border-collapse: collapse; font: 10pt Times New Roman, Times, Serif; min-width: 700px;">  <tr style="vertical-align: bottom; background-color: White"> <td style="text-align: center; padding-bottom: 1pt">&nbsp;</td> <td style="font-weight: bold">&nbsp;</td> <td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; font-weight: bold; text-align: left">&nbsp;</td> <td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; font-weight: bold; text-align: right"><div style="display: inline; font-family: Times New Roman, Times, Serif; font-size: 10pt"><div style="display: inline; font-weight: bold;">Number of RSUs Outstanding</div></div></td> <td style="border-top: Black 1pt solid; white-space: nowrap; border-bottom: Black 1pt solid; font-weight: bold; text-align: left">&nbsp;</td> <td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid">&nbsp;</td> <td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; text-align: left">&nbsp;</td> <td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; text-align: right"><div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: right"><div style="display: inline; font-weight: bold;">Weighted-</div></div> <div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: right"><div style="display: inline; font-weight: bold;">Average Granted Date Fair Value</div></div></td> <td style="border-top: Black 1pt solid; white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&nbsp;</td> <td style="border-top: Black 1pt solid; font-weight: bold; border-bottom: Black 1pt solid">&nbsp;</td> <td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; font-weight: bold; text-align: left">&nbsp;</td> <td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; font-weight: bold; text-align: right"><div style="display: inline; font-family: Times New Roman, Times, Serif; font-size: 10pt"><div style="display: inline; font-weight: bold;">Weighted- Average Remaining Contractual Life (years)</div></div></td> <td style="border-top: Black 1pt solid; white-space: nowrap; border-bottom: Black 1pt solid; font-weight: bold; text-align: left">&nbsp;</td> <td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid">&nbsp;</td> <td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; text-align: left">&nbsp;</td> <td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; text-align: right"><div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: right"><div style="display: inline; font-weight: bold;">Aggregate Intrinsic</div></div> <div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: right"><div style="display: inline; font-weight: bold;">Value</div></div> <div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: right"><div style="display: inline; font-weight: bold;">(in millions)</div></div></td> <td style="border-top: Black 1pt solid; white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="width: 52%">Balance at January 31, 2018</td> <td style="width: 1%">&nbsp;</td> <td style="width: 1%; text-align: left">&nbsp;</td> <td style="width: 9%; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">299,020</div></td> <td style="white-space: nowrap; width: 1%; text-align: left">&nbsp;</td> <td style="width: 1%">&nbsp;</td> <td style="width: 1%; text-align: left">$</td> <td style="width: 9%; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">12.80</div></td> <td style="white-space: nowrap; width: 1%; text-align: left">&nbsp;</td> <td style="width: 1%">&nbsp;</td> <td style="width: 1%; text-align: left">&nbsp;</td> <td style="width: 9%; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">6.1</div></td> <td style="white-space: nowrap; width: 1%; text-align: left">&nbsp;</td> <td style="width: 1%">&nbsp;</td> <td style="width: 1%; text-align: left">&nbsp;</td> <td style="width: 9%; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">8.1</div></td> <td style="white-space: nowrap; width: 1%; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: White"> <td style="padding-bottom: 1pt; padding-left: 12.25pt">Granted</td> <td>&nbsp;</td> <td style="border-bottom: Black 1pt solid; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">38,046</div></td> <td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid">&nbsp;</td> <td style="border-bottom: Black 1pt solid; text-align: left">$</td> <td style="border-bottom: Black 1pt solid; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">27.96</div></td> <td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid">&nbsp;</td> <td style="border-bottom: Black 1pt solid; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">&nbsp;</div></td> <td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid">&nbsp;</td> <td style="border-bottom: Black 1pt solid; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">&nbsp;</div></td> <td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td>Balance at January 31, 2019</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">337,066</div></td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> <td>&nbsp;</td> <td style="text-align: left">$</td> <td style="text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">14.42</div></td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">5.6</div></td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">10.6</div></td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: White"> <td style="padding-bottom: 1pt; padding-left: 12.25pt">Granted</td> <td style="font-weight: bold">&nbsp;</td> <td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">37,611</div></td> <td style="white-space: nowrap; border-bottom: Black 1pt solid; font-weight: bold; text-align: left">&nbsp;</td> <td style="font-weight: bold; border-bottom: Black 1pt solid">&nbsp;</td> <td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: left">$</td> <td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">38.04</div></td> <td style="white-space: nowrap; border-bottom: Black 1pt solid; font-weight: bold; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid">&nbsp;</td> <td style="border-bottom: Black 1pt solid; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">&nbsp;</div></td> <td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid">&nbsp;</td> <td style="border-bottom: Black 1pt solid; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">&nbsp;</div></td> <td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="padding-bottom: 1pt">Balance at January 31, 2020</td> <td style="font-weight: bold">&nbsp;</td> <td style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">374,677</div></td> <td style="border-bottom: Black 1.5pt solid; white-space: nowrap; font-weight: bold; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1.5pt solid; font-weight: bold">&nbsp;</td> <td style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: left">$</td> <td style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">16.57</div></td> <td style="border-bottom: Black 1.5pt solid; white-space: nowrap; font-weight: bold; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1.5pt solid; font-weight: bold">&nbsp;</td> <td style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">5.0</div></td> <td style="border-bottom: Black 1.5pt solid; white-space: nowrap; font-weight: bold; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1.5pt solid; font-weight: bold">&nbsp;</td> <td style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">16.8</div></td> <td style="border-bottom: Black 1.5pt solid; white-space: nowrap; font-weight: bold; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: White"> <td>&nbsp;</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right">&nbsp;</td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right">&nbsp;</td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right">&nbsp;</td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right">&nbsp;</td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="text-align: left; padding-bottom: 1pt">Vested or expected to vest at January 31, 2020</td> <td style="font-weight: bold">&nbsp;</td> <td style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">374,677</div></td> <td style="border-bottom: Black 1.5pt solid; white-space: nowrap; font-weight: bold; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1.5pt solid; font-weight: bold">&nbsp;</td> <td style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: left">$</td> <td style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">16.57</div></td> <td style="border-bottom: Black 1.5pt solid; white-space: nowrap; font-weight: bold; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1.5pt solid; font-weight: bold">&nbsp;</td> <td style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">5.0</div></td> <td style="border-bottom: Black 1.5pt solid; white-space: nowrap; font-weight: bold; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1.5pt solid; font-weight: bold">&nbsp;</td> <td style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">16.8</div></td> <td style="border-bottom: Black 1.5pt solid; white-space: nowrap; font-weight: bold; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: White"> <td>&nbsp;</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right">&nbsp;</td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right">&nbsp;</td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right">&nbsp;</td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right">&nbsp;</td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="padding-bottom: 1pt">Exercisable at January 31, 2020</td> <td style="font-weight: bold">&nbsp;</td> <td style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">336,921</div></td> <td style="border-bottom: Black 1.5pt solid; white-space: nowrap; font-weight: bold; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1.5pt solid; font-weight: bold">&nbsp;</td> <td style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: left">$</td> <td style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">14.56</div></td> <td style="border-bottom: Black 1.5pt solid; white-space: nowrap; font-weight: bold; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1.5pt solid; font-weight: bold">&nbsp;</td> <td style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">4.6</div></td> <td style="border-bottom: Black 1.5pt solid; white-space: nowrap; font-weight: bold; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1.5pt solid; font-weight: bold">&nbsp;</td> <td style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">15.1</div></td> <td style="border-bottom: Black 1.5pt solid; white-space: nowrap; font-weight: bold; text-align: left">&nbsp;</td> </tr>  </table> </div> <div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&nbsp;</div> <div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">The aggregate intrinsic values represent the total pre-tax intrinsic value (the aggregate closing share price of our common shares on <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"> January 31, 2020) </div>that would have been received by RSU holders if all RSUs had been vested on <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"> January 31, 2020.</div></div> <div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&nbsp;</div> <div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">As of <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"> January 31, 2020, </div><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">$1.3</div> million of total unrecognized compensation costs related to non-vested awards is expected to be recognized over a weighted average period of <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">1.7</div> years. The total fair value of RSUs vested during <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">2020</div> was <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">$1.1</div> million.</div> <div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&nbsp;</div> <div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><div style="display: inline; font-weight: bold;"><div style="display: inline; font-style: italic;">Deferred Share Unit Plan</div></div></div> <div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&nbsp;</div> <div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">As at <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"> January 31, 2020, </div>the total number of DSUs held by participating directors was <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">251,422</div> (<div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">277,390</div> at <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"> January 31, 2019), </div>representing an aggregate accrued liability of <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">$11.3</div> million (<div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">$8.6</div> million at <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"> January 31, 2019). </div>During <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">2020,</div> <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">25,373</div> DSUs were granted and <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">51,341</div> DSUs were redeemed and settled in cash. As at <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"> January 31, 2020, </div>the unrecognized aggregate liability for the unvested DSUs was <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">nil</div> (<div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">nil</div> at <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"> January 31, 2019). </div>The fair value of the DSU liability is based on the closing price of our common shares at the balance sheet date. The total compensation cost related to DSUs recognized in our consolidated statements of operations was approximately <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">$5.0</div> million, <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">$2.2</div> million and <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">$2.3</div> million for the years ended <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"> January 31, 2020, </div><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">2019</div> and <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">2018,</div> respectively.</div> <div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&nbsp;</div> <div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"></div> <!-- Field: Page; Sequence: 33 -->   <div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"></div> <div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><div style="display: inline; font-weight: bold;"><div style="display: inline; font-style: italic;">Cash-Settled Restricted Share Unit Plan</div></div></div> <div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&nbsp;</div> <div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">A summary of activity under our CRSU plan is as follows:</div> <div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&nbsp;</div> <div> <table cellpadding="0" cellspacing="0" style="border-collapse: collapse; font: 10pt Times New Roman, Times, Serif; min-width: 700px;">  <tr style="vertical-align: bottom; background-color: White"> <td style="text-align: center; padding-bottom: 1pt">&nbsp;</td> <td style="font-weight: bold">&nbsp;</td> <td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; font-weight: bold; text-align: left">&nbsp;</td> <td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; font-weight: bold; text-align: right"><div style="display: inline; font-family: Times New Roman, Times, Serif; font-size: 10pt"><div style="display: inline; font-weight: bold;">Number of CRSUs Outstanding</div></div></td> <td style="border-top: Black 1pt solid; white-space: nowrap; border-bottom: Black 1pt solid; font-weight: bold; text-align: left">&nbsp;</td> <td style="border-top: Black 1pt solid; font-weight: bold; border-bottom: Black 1pt solid">&nbsp;</td> <td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; font-weight: bold; text-align: left">&nbsp;</td> <td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; font-weight: bold; text-align: right"><div style="display: inline; font-family: Times New Roman, Times, Serif; font-size: 10pt"><div style="display: inline; font-weight: bold;">Weighted- Average Remaining Contractual Life (years)</div></div></td> <td style="border-top: Black 1pt solid; white-space: nowrap; border-bottom: Black 1pt solid; font-weight: bold; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="width: 68%">Balance at January 31, 2018</td> <td style="width: 2%">&nbsp;</td> <td style="width: 1%; text-align: left">&nbsp;</td> <td style="width: 12%; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">58,171</div></td> <td style="white-space: nowrap; width: 1%; text-align: left">&nbsp;</td> <td style="width: 2%">&nbsp;</td> <td style="width: 1%; text-align: left">&nbsp;</td> <td style="width: 12%; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">1.5</div></td> <td style="white-space: nowrap; width: 1%; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: White"> <td style="padding-left: 12.25pt">Granted</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">32,261</div></td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">&nbsp;</div></td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="text-align: left; padding-bottom: 1pt; padding-left: 12.25pt">Vested and settled in cash</td> <td>&nbsp;</td> <td style="border-bottom: Black 1pt solid; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">(45,369</div></td> <td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">)</td> <td style="border-bottom: Black 1pt solid">&nbsp;</td> <td style="border-bottom: Black 1pt solid; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">&nbsp;</div></td> <td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: White"> <td>Balance at January 31, 2019</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">45,063</div></td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">1.6</div></td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="padding-left: 12pt">Granted</td> <td style="font-weight: bold">&nbsp;</td> <td style="font-weight: bold; text-align: left">&nbsp;</td> <td style="font-weight: bold; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">30,086</div></td> <td style="white-space: nowrap; font-weight: bold; text-align: left">&nbsp;</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">&nbsp;</div></td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: White"> <td style="text-align: left; padding-bottom: 1pt; padding-left: 12pt">Vested and settled in cash</td> <td style="font-weight: bold">&nbsp;</td> <td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">(32,422</div></td> <td style="white-space: nowrap; border-bottom: Black 1pt solid; font-weight: bold; text-align: left">)</td> <td style="border-bottom: Black 1pt solid">&nbsp;</td> <td style="border-bottom: Black 1pt solid; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">&nbsp;</div></td> <td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="padding-bottom: 1pt">Balance at January 31, 2020</td> <td style="font-weight: bold">&nbsp;</td> <td style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">42,727</div></td> <td style="border-bottom: Black 1.5pt solid; white-space: nowrap; font-weight: bold; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1.5pt solid; font-weight: bold">&nbsp;</td> <td style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">1.6</div></td> <td style="border-bottom: Black 1.5pt solid; white-space: nowrap; font-weight: bold; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: White"> <td>&nbsp;</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right">&nbsp;</td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right">&nbsp;</td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="padding-bottom: 1pt">Non-vested at January 31, 2020</td> <td style="font-weight: bold">&nbsp;</td> <td style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">42,727</div></td> <td style="border-bottom: Black 1.5pt solid; white-space: nowrap; font-weight: bold; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1.5pt solid; font-weight: bold">&nbsp;</td> <td style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">1.6</div></td> <td style="border-bottom: Black 1.5pt solid; white-space: nowrap; font-weight: bold; text-align: left">&nbsp;</td> </tr>  </table> </div> <div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&nbsp;</div> <div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">We recognize the compensation cost of the CRSUs ratably over the service/vesting period relating to the grant and have recorded an aggregate accrued liability of <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">$0.8</div> million at <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"> January 31, 2020 (</div><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">$0.6</div> million at <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"> January 31, 2019). </div>As at <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"> January 31, 2020, </div>the unrecognized aggregate liability for the unvested CRSUs was <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">$1.1</div> million (<div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">$0.8</div> million at <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"> January 31, 2019). </div>The fair value of the CRSU liability is based on the closing price of our common shares at the balance sheet date. The total compensation cost related to CRSUs recognized in our consolidated statements of operations was approximately <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">$0.9</div> million, <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">$0.8</div> million and <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">$1.0</div> million for the years ended <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"> January 31, 2020, </div><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">2019</div> and <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">2018,</div> respectively.</div></div><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The entire disclosure for share-based payment arrangement.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -URI http://asc.fasb.org/topic&amp;trid=2228938<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>nonnum:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DisclosureTextBlockAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DisclosureTextBlockAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>39
<FILENAME>R29.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.20.1</span><table class="report" border="0" cellspacing="2" id="idp6891826880">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Note 21 - Supplemental Cash Flow Information<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Jan. 31, 2020</div></th></tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DisclosureTextBlockAbstract', window );"><strong>Notes to Financial Statements</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_CashFlowSupplementalDisclosuresTextBlock', window );">Cash Flow, Supplemental Disclosures [Text Block]</a></td>
<td class="text"><div style="display: inline; font-family: times new roman; font-size: 10pt"><div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"><div style="display: inline; font-weight: bold;">Note <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">21</div> &#x2013; Supplemental Cash Flow Information</div></div> <div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&nbsp;</div> <div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">The following tables presents the cash flow changes in operating asset and liabilities:</div> <div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&nbsp;</div> <div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&nbsp;</div> <div> <table style="border-collapse: collapse; font: 10pt Times New Roman, Times, Serif; min-width: 700px;" cellspacing="0" cellpadding="0">  <tr style="vertical-align: bottom; background-color: White"> <td style="font-style: italic">Year Ended</td> <td style="font-weight: bold">&nbsp;</td> <td style="border-top: Black 1pt solid; font-weight: bold; text-align: left">&nbsp;</td> <td style="border-top: Black 1pt solid; font-weight: bold; text-align: right"><div style="display: inline; font-family: Times New Roman, Times, Serif; font-size: 10pt"><div style="display: inline; font-weight: bold;">January 31,</div></div></td> <td style="border-top: Black 1pt solid; white-space: nowrap; font-weight: bold; text-align: left">&nbsp;</td> <td style="border-top: Black 1pt solid">&nbsp;</td> <td style="border-top: Black 1pt solid; text-align: left">&nbsp;</td> <td style="border-top: Black 1pt solid; text-align: right"><div style="display: inline; font-family: Times New Roman, Times, Serif; font-size: 10pt">January 31,</div></td> <td style="border-top: Black 1pt solid; white-space: nowrap; text-align: left">&nbsp;</td> <td style="border-top: Black 1pt solid">&nbsp;</td> <td style="border-top: Black 1pt solid; text-align: left">&nbsp;</td> <td style="border-top: Black 1pt solid; text-align: right"><div style="display: inline; font-family: Times New Roman, Times, Serif; font-size: 10pt">January 31,</div></td> <td style="border-top: Black 1pt solid; white-space: nowrap; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: White"> <td style="padding-bottom: 1pt">&nbsp;</td> <td style="font-weight: bold">&nbsp;</td> <td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: right">2020</td> <td style="white-space: nowrap; border-bottom: Black 1pt solid; font-weight: bold; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid">&nbsp;</td> <td style="border-bottom: Black 1pt solid; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid; text-align: right">2019</td> <td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid">&nbsp;</td> <td style="border-bottom: Black 1pt solid; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid; text-align: right">2018</td> <td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="width: 55%; text-align: left">Trade accounts receivable</td> <td style="width: 2%; font-weight: bold">&nbsp;</td> <td style="width: 1%; font-weight: bold; text-align: left">&nbsp;</td> <td style="width: 11%; font-weight: bold; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">3,733</div></td> <td style="white-space: nowrap; width: 1%; font-weight: bold; text-align: left">&nbsp;</td> <td style="width: 2%">&nbsp;</td> <td style="width: 1%; text-align: left">&nbsp;</td> <td style="width: 11%; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">(135</div></td> <td style="white-space: nowrap; width: 1%; text-align: left">)</td> <td style="width: 2%">&nbsp;</td> <td style="width: 1%; text-align: left">&nbsp;</td> <td style="width: 11%; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">(1,963</div></td> <td style="white-space: nowrap; width: 1%; text-align: left">)</td> </tr> <tr style="vertical-align: bottom; background-color: White"> <td style="text-align: left">Other accounts receivable</td> <td style="font-weight: bold">&nbsp;</td> <td style="font-weight: bold; text-align: left">&nbsp;</td> <td style="font-weight: bold; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">(2,547</div></td> <td style="white-space: nowrap; font-weight: bold; text-align: left">)</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">(451</div></td> <td style="white-space: nowrap; text-align: left">)</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">16</div></td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="text-align: left">Prepaid expenses and other</td> <td style="font-weight: bold">&nbsp;</td> <td style="font-weight: bold; text-align: left">&nbsp;</td> <td style="font-weight: bold; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">(5,942</div></td> <td style="white-space: nowrap; font-weight: bold; text-align: left">)</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">(4,466</div></td> <td style="white-space: nowrap; text-align: left">)</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">(1,772</div></td> <td style="white-space: nowrap; text-align: left">)</td> </tr> <tr style="vertical-align: bottom; background-color: White"> <td>Inventory</td> <td style="font-weight: bold">&nbsp;</td> <td style="font-weight: bold; text-align: left">&nbsp;</td> <td style="font-weight: bold; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">(345</div></td> <td style="white-space: nowrap; font-weight: bold; text-align: left">)</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">74</div></td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">52</div></td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="text-align: left">Accounts payable</td> <td style="font-weight: bold">&nbsp;</td> <td style="font-weight: bold; text-align: left">&nbsp;</td> <td style="font-weight: bold; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">1,768</div></td> <td style="white-space: nowrap; font-weight: bold; text-align: left">&nbsp;</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">(1,065</div></td> <td style="white-space: nowrap; text-align: left">)</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">1,428</div></td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: White"> <td style="text-align: left">Accrued liabilities</td> <td style="font-weight: bold">&nbsp;</td> <td style="font-weight: bold; text-align: left">&nbsp;</td> <td style="font-weight: bold; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">3,265</div></td> <td style="white-space: nowrap; font-weight: bold; text-align: left">&nbsp;</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">2,570</div></td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">(592</div></td> <td style="white-space: nowrap; text-align: left">)</td> </tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="text-align: left">Income taxes payable</td> <td style="font-weight: bold">&nbsp;</td> <td style="font-weight: bold; text-align: left">&nbsp;</td> <td style="font-weight: bold; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">(1,550</div></td> <td style="white-space: nowrap; font-weight: bold; text-align: left">)</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">(2,423</div></td> <td style="white-space: nowrap; text-align: left">)</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">6,326</div></td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: White"> <td style="text-align: left">Operating leases</td> <td style="font-weight: bold">&nbsp;</td> <td style="font-weight: bold; text-align: left">&nbsp;</td> <td style="font-weight: bold; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">546</div></td> <td style="white-space: nowrap; font-weight: bold; text-align: left">&nbsp;</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">&#x2013;</div></td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">&#x2013;</div></td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="text-align: left; padding-bottom: 1pt">Deferred revenue</td> <td style="font-weight: bold">&nbsp;</td> <td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">(4,184</div></td> <td style="white-space: nowrap; border-bottom: Black 1pt solid; font-weight: bold; text-align: left">)</td> <td style="border-bottom: Black 1pt solid">&nbsp;</td> <td style="border-bottom: Black 1pt solid; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">2,047</div></td> <td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid">&nbsp;</td> <td style="border-bottom: Black 1pt solid; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">902</div></td> <td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: White"> <td style="padding-bottom: 1pt">&nbsp;</td> <td style="font-weight: bold">&nbsp;</td> <td style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">(5,256</div></td> <td style="border-bottom: Black 1.5pt solid; white-space: nowrap; font-weight: bold; text-align: left">)</td> <td style="border-bottom: Black 1.5pt solid">&nbsp;</td> <td style="border-bottom: Black 1.5pt solid; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1.5pt solid; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">(3,849</div></td> <td style="border-bottom: Black 1.5pt solid; white-space: nowrap; text-align: left">)</td> <td style="border-bottom: Black 1.5pt solid">&nbsp;</td> <td style="border-bottom: Black 1.5pt solid; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1.5pt solid; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">4,397</div></td> <td style="border-bottom: Black 1.5pt solid; white-space: nowrap; text-align: left">&nbsp;</td> </tr>  </table> </div></div><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CashFlowSupplementalDisclosuresTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The entire disclosure for supplemental cash flow activities, including cash, noncash, and part noncash transactions, for the period. Noncash is defined as information about all investing and financing activities of an enterprise during a period that affect recognized assets or liabilities but that do not result in cash receipts or cash payments in the period. "Part noncash" refers to that portion of the transaction not resulting in cash receipts or cash payments in the period.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -URI http://asc.fasb.org/topic&amp;trid=2134446<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CashFlowSupplementalDisclosuresTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>nonnum:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DisclosureTextBlockAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DisclosureTextBlockAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>40
<FILENAME>R6.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.20.1</span><table class="report" border="0" cellspacing="2" id="idp6909633568">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Consolidated Statements of Comprehensive Income (Parentheticals) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th" colspan="3">12 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Jan. 31, 2020</div></th>
<th class="th"><div>Jan. 31, 2019</div></th>
<th class="th"><div>Jan. 31, 2018</div></th>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTranslationAdjustmentTax', window );">Foreign currency translation adjustment, income tax expense (recovery)</a></td>
<td class="num">$ (132)<span></span>
</td>
<td class="num">$ (44)<span></span>
</td>
<td class="nump">$ 255<span></span>
</td>
</tr>
</table>
<div style="display: none;"><table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTranslationAdjustmentTax">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of tax expense (benefit), after reclassification adjustments of gain (loss) on foreign currency translation adjustments, foreign currency transactions designated and effective as economic hedges of a net investment in a foreign entity and intra-entity foreign currency transactions that are of a long-term-investment nature.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 45<br> -Paragraph 12<br> -URI http://asc.fasb.org/extlink&amp;oid=118930883&amp;loc=d3e640-108580<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 45<br> -Paragraph 10A<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=118930883&amp;loc=SL7669646-108580<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTranslationAdjustmentTax</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table></div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>41
<FILENAME>R2.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.20.1</span><table class="report" border="0" cellspacing="2" id="idp6912089888">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>Consolidated Balance Sheets - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th"><div>Jan. 31, 2020</div></th>
<th class="th"><div>Jan. 31, 2019</div></th>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AssetsCurrentAbstract', window );"><strong>CURRENT ASSETS</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_CashAndCashEquivalentsAtCarryingValue', window );">Cash</a></td>
<td class="nump">$ 44,403<span></span>
</td>
<td class="nump">$ 27,298<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AccountsReceivableNetAbstract', window );"><strong>Accounts receivable (net)</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AccountsReceivableNetCurrent', window );">Trade (Note 5)</a></td>
<td class="nump">35,118<span></span>
</td>
<td class="nump">31,493<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_OtherReceivablesNetCurrent', window );">Other (Note 6)</a></td>
<td class="nump">7,294<span></span>
</td>
<td class="nump">4,331<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_PrepaidExpenseAndOtherAssetsCurrent', window );">Prepaid expenses and other</a></td>
<td class="nump">12,984<span></span>
</td>
<td class="nump">9,027<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_InventoryNet', window );">Inventory (Note 7)</a></td>
<td class="nump">411<span></span>
</td>
<td class="nump">95<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AssetsCurrent', window );"></a></td>
<td class="nump">100,210<span></span>
</td>
<td class="nump">72,244<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_OtherAssetsNoncurrent', window );">OTHER LONG-TERM ASSETS (Note 19)</a></td>
<td class="nump">13,520<span></span>
</td>
<td class="nump">10,510<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentNet', window );">PROPERTY AND EQUIPMENT, NET (Note 8)</a></td>
<td class="nump">13,731<span></span>
</td>
<td class="nump">12,612<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_OperatingLeaseRightOfUseAsset', window );">RIGHT-OF-USE ASSETS (Note 13)</a></td>
<td class="nump">12,877<span></span>
</td>
<td class="text"> <span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DeferredIncomeTaxAssetsNet', window );">DEFERRED INCOME TAXES</a></td>
<td class="nump">21,602<span></span>
</td>
<td class="nump">3,598<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_IntangibleAssetsNetExcludingGoodwill', window );">INTANGIBLE ASSETS, NET (Note 9)</a></td>
<td class="nump">256,956<span></span>
</td>
<td class="nump">176,192<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_Goodwill', window );">GOODWILL (Note 10)</a></td>
<td class="nump">523,690<span></span>
</td>
<td class="nump">378,178<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_Assets', window );"></a></td>
<td class="nump">942,586<span></span>
</td>
<td class="nump">653,334<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_LiabilitiesCurrentAbstract', window );"><strong>CURRENT LIABILITIES</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AccountsPayableCurrent', window );">Accounts payable</a></td>
<td class="nump">7,667<span></span>
</td>
<td class="nump">5,147<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AccruedLiabilitiesCurrent', window );">Accrued liabilities (Note 11)</a></td>
<td class="nump">34,876<span></span>
</td>
<td class="nump">29,392<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_OperatingLeaseLiabilityCurrent', window );">Lease obligations (Note 13)</a></td>
<td class="nump">3,928<span></span>
</td>
<td class="text"> <span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AccruedIncomeTaxesCurrent', window );">Income taxes payable</a></td>
<td class="nump">1,329<span></span>
</td>
<td class="nump">1,592<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ContractWithCustomerLiabilityCurrent', window );">Deferred revenue (Note 19)</a></td>
<td class="nump">41,143<span></span>
</td>
<td class="nump">34,236<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_LiabilitiesCurrent', window );"></a></td>
<td class="nump">88,943<span></span>
</td>
<td class="nump">70,367<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_LongTermDebtNoncurrent', window );">LONG-TERM DEBT (Note 12)</a></td>
<td class="text"> <span></span>
</td>
<td class="nump">25,464<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_OperatingLeaseLiabilityNoncurrent', window );">LEASE OBLIGATIONS (Note 13)</a></td>
<td class="nump">9,477<span></span>
</td>
<td class="text"> <span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DeferredRevenueNoncurrent', window );">DEFERRED REVENUE (Note 19)</a></td>
<td class="nump">920<span></span>
</td>
<td class="nump">855<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AccruedIncomeTaxesNoncurrent', window );">INCOME TAXES PAYABLE</a></td>
<td class="nump">6,470<span></span>
</td>
<td class="nump">7,634<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DeferredIncomeTaxLiabilitiesNet', window );">DEFERRED INCOME TAXES</a></td>
<td class="nump">15,067<span></span>
</td>
<td class="nump">15,507<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_Liabilities', window );"></a></td>
<td class="nump">120,877<span></span>
</td>
<td class="nump">119,827<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_CommitmentsAndContingencies', window );">COMMITMENTS, CONTINGENCIES AND GUARANTEES (Note 14)</a></td>
<td class="text"> <span></span>
</td>
<td class="text"> <span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_StockholdersEquityAbstract', window );"><strong>SHAREHOLDERS&#8217; EQUITY (Note 15)</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_CommonStockValue', window );">Common shares &#8211; unlimited shares authorized; Shares issued and outstanding totaled 84,156,316 at January 31, 2020 (January 31, 2019 &#8211; 76,864,866)</a></td>
<td class="nump">524,154<span></span>
</td>
<td class="nump">276,753<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AdditionalPaidInCapitalCommonStock', window );">Additional paid-in capital</a></td>
<td class="nump">459,269<span></span>
</td>
<td class="nump">454,722<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax', window );">Accumulated other comprehensive loss</a></td>
<td class="num">(25,944)<span></span>
</td>
<td class="num">(25,201)<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_RetainedEarningsAccumulatedDeficit', window );">Accumulated deficit</a></td>
<td class="num">(135,770)<span></span>
</td>
<td class="num">(172,767)<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_StockholdersEquity', window );"></a></td>
<td class="nump">821,709<span></span>
</td>
<td class="nump">533,507<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_LiabilitiesAndStockholdersEquity', window );"></a></td>
<td class="nump">$ 942,586<span></span>
</td>
<td class="nump">$ 653,334<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AccountsPayableCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Carrying value as of the balance sheet date of liabilities incurred (and for which invoices have typically been received) and payable to vendors for goods and services received that are used in an entity's business. Used to reflect the current portion of the liabilities (due within one year or within the normal operating cycle if longer).</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.19(a))<br> -URI http://asc.fasb.org/extlink&amp;oid=6877327&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AccountsPayableCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AccountsReceivableNetAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AccountsReceivableNetAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AccountsReceivableNetCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount, after allowance for credit loss, of right to consideration from customer for product sold and service rendered in normal course of business, classified as current.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 606<br> -SubTopic 10<br> -Section 50<br> -Paragraph 8<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=118956577&amp;loc=SL49130549-203045<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 310<br> -SubTopic 10<br> -Section 45<br> -Paragraph 2<br> -URI http://asc.fasb.org/extlink&amp;oid=118952595&amp;loc=d3e4428-111522<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(3))<br> -URI http://asc.fasb.org/extlink&amp;oid=6877327&amp;loc=d3e13212-122682<br><br>Reference 4: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section 45<br> -Paragraph 1<br> -Subparagraph (c)<br> -URI http://asc.fasb.org/extlink&amp;oid=118951113&amp;loc=d3e6676-107765<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 310<br> -SubTopic 10<br> -Section 45<br> -Paragraph 9<br> -URI http://asc.fasb.org/extlink&amp;oid=118952595&amp;loc=d3e4531-111522<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AccountsReceivableNetCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AccruedIncomeTaxesCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Carrying amount as of the balance sheet date of the unpaid sum of the known and estimated amounts payable to satisfy all currently due domestic and foreign income tax obligations.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 210<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(a)(15)(b)(1))<br> -URI http://asc.fasb.org/extlink&amp;oid=119400593&amp;loc=d3e572229-122910<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 210<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-03(15)(1))<br> -URI http://asc.fasb.org/extlink&amp;oid=6876686&amp;loc=d3e534808-122878<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(20))<br> -URI http://asc.fasb.org/extlink&amp;oid=6877327&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AccruedIncomeTaxesCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AccruedIncomeTaxesNoncurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Carrying amount as of the balance sheet date of the unpaid sum of the known and estimated amounts payable to satisfy all domestic and foreign income tax obligations due beyond one year or the operating cycle, whichever is longer. Alternate captions include income taxes payable, noncurrent.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 210<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(a)(15)(b)(1))<br> -URI http://asc.fasb.org/extlink&amp;oid=119400593&amp;loc=d3e572229-122910<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 210<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-03(15)(1))<br> -URI http://asc.fasb.org/extlink&amp;oid=6876686&amp;loc=d3e534808-122878<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(24))<br> -URI http://asc.fasb.org/extlink&amp;oid=6877327&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AccruedIncomeTaxesNoncurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AccruedLiabilitiesCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Carrying value as of the balance sheet date of obligations incurred and payable, pertaining to costs that are statutory in nature, are incurred on contractual obligations, or accumulate over time and for which invoices have not yet been received or will not be rendered. Examples include taxes, interest, rent and utilities. Used to reflect the current portion of the liabilities (due within one year or within the normal operating cycle if longer).</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.20)<br> -URI http://asc.fasb.org/extlink&amp;oid=6877327&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AccruedLiabilitiesCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Accumulated change in equity from transactions and other events and circumstances from non-owner sources, net of tax effect, at period end. Excludes Net Income (Loss), and accumulated changes in equity from transactions resulting from investments by owners and distributions to owners. Includes foreign currency translation items, certain pension adjustments, unrealized gains and losses on certain investments in debt and equity securities, other than temporary impairment (OTTI) losses related to factors other than credit losses on available-for-sale and held-to-maturity debt securities that an entity does not intend to sell and it is not more likely than not that the entity will be required to sell before recovery of the amortized cost basis, as well as changes in the fair value of derivatives related to the effective portion of a designated cash flow hedge.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 45<br> -Paragraph 11<br> -URI http://asc.fasb.org/extlink&amp;oid=118930883&amp;loc=d3e637-108580<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 45<br> -Paragraph 14A<br> -URI http://asc.fasb.org/extlink&amp;oid=118930883&amp;loc=SL7669686-108580<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 45<br> -Paragraph 14<br> -URI http://asc.fasb.org/extlink&amp;oid=118930883&amp;loc=d3e681-108580<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AdditionalPaidInCapitalCommonStock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Value received from shareholders in common stock-related transactions that are in excess of par value or stated value and amounts received from other stock-related transactions. Includes only common stock transactions (excludes preferred stock transactions). May be called contributed capital, capital in excess of par, capital surplus, or paid-in capital.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(30)(a)(1))<br> -URI http://asc.fasb.org/extlink&amp;oid=6877327&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AdditionalPaidInCapitalCommonStock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_Assets">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Sum of the carrying amounts as of the balance sheet date of all assets that are recognized. Assets are probable future economic benefits obtained or controlled by an entity as a result of past transactions or events.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 210<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-03(11))<br> -URI http://asc.fasb.org/extlink&amp;oid=6876686&amp;loc=d3e534808-122878<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 22<br> -URI http://asc.fasb.org/extlink&amp;oid=115929826&amp;loc=d3e8736-108599<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 210<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(a)(12))<br> -URI http://asc.fasb.org/extlink&amp;oid=119400593&amp;loc=d3e572229-122910<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_Assets</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AssetsCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Sum of the carrying amounts as of the balance sheet date of all assets that are expected to be realized in cash, sold, or consumed within one year (or the normal operating cycle, if longer). Assets are probable future economic benefits obtained or controlled by an entity as a result of past transactions or events.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section 45<br> -Paragraph 3<br> -URI http://asc.fasb.org/extlink&amp;oid=118951113&amp;loc=d3e6801-107765<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.9)<br> -URI http://asc.fasb.org/extlink&amp;oid=6877327&amp;loc=d3e13212-122682<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section 45<br> -Paragraph 1<br> -URI http://asc.fasb.org/extlink&amp;oid=118951113&amp;loc=d3e6676-107765<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AssetsCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AssetsCurrentAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AssetsCurrentAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CashAndCashEquivalentsAtCarryingValue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of currency on hand as well as demand deposits with banks or financial institutions. Includes other kinds of accounts that have the general characteristics of demand deposits. Also includes short-term, highly liquid investments that are both readily convertible to known amounts of cash and so near their maturity that they present insignificant risk of changes in value because of changes in interest rates. Excludes cash and cash equivalents within disposal group and discontinued operation.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 4<br> -URI http://asc.fasb.org/extlink&amp;oid=118932676&amp;loc=d3e3044-108585<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section 45<br> -Paragraph 1<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=118951113&amp;loc=d3e6676-107765<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.1)<br> -URI http://asc.fasb.org/extlink&amp;oid=6877327&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CashAndCashEquivalentsAtCarryingValue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CommitmentsAndContingencies">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Represents the caption on the face of the balance sheet to indicate that the entity has entered into (1) purchase or supply arrangements that will require expending a portion of its resources to meet the terms thereof, and (2) is exposed to potential losses or, less frequently, gains, arising from (a) possible claims against a company's resources due to future performance under contract terms, and (b) possible losses or likely gains from uncertainties that will ultimately be resolved when one or more future events that are deemed likely to occur do occur or fail to occur.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.25)<br> -URI http://asc.fasb.org/extlink&amp;oid=6877327&amp;loc=d3e13212-122682<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 210<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03.(a),19)<br> -URI http://asc.fasb.org/extlink&amp;oid=119400593&amp;loc=d3e572229-122910<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 210<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-03.17)<br> -URI http://asc.fasb.org/extlink&amp;oid=6876686&amp;loc=d3e534808-122878<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 450<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1<br> -URI http://asc.fasb.org/extlink&amp;oid=118942415&amp;loc=d3e14326-108349<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CommitmentsAndContingencies</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CommonStockValue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Aggregate par or stated value of issued nonredeemable common stock (or common stock redeemable solely at the option of the issuer). This item includes treasury stock repurchased by the entity. Note: elements for number of nonredeemable common shares, par value and other disclosure concepts are in another section within stockholders' equity.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(29))<br> -URI http://asc.fasb.org/extlink&amp;oid=6877327&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CommonStockValue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ContractWithCustomerLiabilityCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of obligation to transfer good or service to customer for which consideration has been received or is receivable, classified as current.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 606<br> -SubTopic 10<br> -Section 45<br> -Paragraph 1<br> -URI http://asc.fasb.org/extlink&amp;oid=118944033&amp;loc=SL49130531-203044<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 606<br> -SubTopic 10<br> -Section 45<br> -Paragraph 2<br> -URI http://asc.fasb.org/extlink&amp;oid=118944033&amp;loc=SL49130532-203044<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 606<br> -SubTopic 10<br> -Section 50<br> -Paragraph 8<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=118956577&amp;loc=SL49130549-203045<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ContractWithCustomerLiabilityCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DeferredIncomeTaxAssetsNet">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount, after allocation of valuation allowances and deferred tax liability, of deferred tax asset attributable to deductible differences and carryforwards, with jurisdictional netting.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -URI http://asc.fasb.org/extlink&amp;oid=84230637&amp;loc=d3e32537-109319<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DeferredIncomeTaxAssetsNet</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DeferredIncomeTaxLiabilitiesNet">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount, after deferred tax asset, of deferred tax liability attributable to taxable differences with jurisdictional netting.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -URI http://asc.fasb.org/extlink&amp;oid=84230637&amp;loc=d3e32537-109319<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 45<br> -Paragraph 6<br> -URI http://asc.fasb.org/extlink&amp;oid=116821951&amp;loc=d3e31931-109318<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DeferredIncomeTaxLiabilitiesNet</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DeferredRevenueNoncurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of deferred income and obligation to transfer product and service to customer for which consideration has been received or is receivable, classified as noncurrent.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(5))<br> -URI http://asc.fasb.org/extlink&amp;oid=6877327&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DeferredRevenueNoncurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_Goodwill">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount after accumulated impairment loss of an asset representing future economic benefits arising from other assets acquired in a business combination that are not individually identified and separately recognized.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 20<br> -Section 45<br> -Paragraph 5<br> -URI http://asc.fasb.org/extlink&amp;oid=77989000&amp;loc=SL49117168-202975<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 20<br> -Section 45<br> -Paragraph 1<br> -URI http://asc.fasb.org/extlink&amp;oid=99380562&amp;loc=d3e13770-109266<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_Goodwill</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IntangibleAssetsNetExcludingGoodwill">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Sum of the carrying amounts of all intangible assets, excluding goodwill, as of the balance sheet date, net of accumulated amortization and impairment charges.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 30<br> -Section 50<br> -Paragraph 2<br> -Subparagraph ((a)(1),(b))<br> -URI http://asc.fasb.org/extlink&amp;oid=66006027&amp;loc=d3e16323-109275<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 30<br> -Section 45<br> -Paragraph 1<br> -URI http://asc.fasb.org/extlink&amp;oid=6388964&amp;loc=d3e16212-109274<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IntangibleAssetsNetExcludingGoodwill</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_InventoryNet">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount after valuation and LIFO reserves of inventory expected to be sold, or consumed within one year or operating cycle, if longer.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section 45<br> -Paragraph 1<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=118951113&amp;loc=d3e6676-107765<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 330<br> -SubTopic 10<br> -Section 35<br> -Paragraph 2<br> -URI http://asc.fasb.org/extlink&amp;oid=116846819&amp;loc=d3e3927-108312<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.6(a))<br> -URI http://asc.fasb.org/extlink&amp;oid=6877327&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_InventoryNet</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_Liabilities">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Sum of the carrying amounts as of the balance sheet date of all liabilities that are recognized. Liabilities are probable future sacrifices of economic benefits arising from present obligations of an entity to transfer assets or provide services to other entities in the future.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.19-26)<br> -URI http://asc.fasb.org/extlink&amp;oid=6877327&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_Liabilities</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LiabilitiesAndStockholdersEquity">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of liabilities and equity items, including the portion of equity attributable to noncontrolling interests, if any.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 210<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-03(23))<br> -URI http://asc.fasb.org/extlink&amp;oid=6876686&amp;loc=d3e534808-122878<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 210<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(a)(25))<br> -URI http://asc.fasb.org/extlink&amp;oid=119400593&amp;loc=d3e572229-122910<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(32))<br> -URI http://asc.fasb.org/extlink&amp;oid=6877327&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LiabilitiesAndStockholdersEquity</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LiabilitiesCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Total obligations incurred as part of normal operations that are expected to be paid during the following twelve months or within one business cycle, if longer.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.21)<br> -URI http://asc.fasb.org/extlink&amp;oid=6877327&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LiabilitiesCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LiabilitiesCurrentAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LiabilitiesCurrentAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LongTermDebtNoncurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount after unamortized (discount) premium and debt issuance costs of long-term debt classified as noncurrent and excluding amounts to be repaid within one year or the normal operating cycle, if longer. Includes, but not limited to, notes payable, bonds payable, debentures, mortgage loans and commercial paper. Excludes capital lease obligations.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.22)<br> -URI http://asc.fasb.org/extlink&amp;oid=6877327&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LongTermDebtNoncurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OperatingLeaseLiabilityCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Present value of lessee's discounted obligation for lease payments from operating lease, classified as current.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 20<br> -Section 45<br> -Paragraph 1<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=77888419&amp;loc=SL77918627-209977<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OperatingLeaseLiabilityCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OperatingLeaseLiabilityNoncurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Present value of lessee's discounted obligation for lease payments from operating lease, classified as noncurrent.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 20<br> -Section 45<br> -Paragraph 1<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=77888419&amp;loc=SL77918627-209977<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OperatingLeaseLiabilityNoncurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OperatingLeaseRightOfUseAsset">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of lessee's right to use underlying asset under operating lease.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 20<br> -Section 45<br> -Paragraph 1<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=77888419&amp;loc=SL77918627-209977<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OperatingLeaseRightOfUseAsset</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OtherAssetsNoncurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of noncurrent assets classified as other.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.17)<br> -URI http://asc.fasb.org/extlink&amp;oid=6877327&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OtherAssetsNoncurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OtherReceivablesNetCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount, after allowance, of receivables classified as other, due within one year or the operating cycle, if longer.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OtherReceivablesNetCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PrepaidExpenseAndOtherAssetsCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of asset related to consideration paid in advance for costs that provide economic benefits in future periods, and amount of other assets that are expected to be realized or consumed within one year or the normal operating cycle, if longer.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(7))<br> -URI http://asc.fasb.org/extlink&amp;oid=6877327&amp;loc=d3e13212-122682<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section 45<br> -Paragraph 1<br> -URI http://asc.fasb.org/extlink&amp;oid=118951113&amp;loc=d3e6676-107765<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(8))<br> -URI http://asc.fasb.org/extlink&amp;oid=6877327&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PrepaidExpenseAndOtherAssetsCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PropertyPlantAndEquipmentNet">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount after accumulated depreciation, depletion and amortization of physical assets used in the normal conduct of business to produce goods and services and not intended for resale. Examples include, but are not limited to, land, buildings, machinery and equipment, office equipment, and furniture and fixtures.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(14))<br> -URI http://asc.fasb.org/extlink&amp;oid=6877327&amp;loc=d3e13212-122682<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 360<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -URI http://asc.fasb.org/extlink&amp;oid=6391035&amp;loc=d3e2868-110229<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 210<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(a)(8))<br> -URI http://asc.fasb.org/extlink&amp;oid=119400593&amp;loc=d3e572229-122910<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(13))<br> -URI http://asc.fasb.org/extlink&amp;oid=6877327&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PropertyPlantAndEquipmentNet</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_RetainedEarningsAccumulatedDeficit">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The cumulative amount of the reporting entity's undistributed earnings or deficit.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(30)(a)(3))<br> -URI http://asc.fasb.org/extlink&amp;oid=6877327&amp;loc=d3e13212-122682<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 210<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(a)(23)(a)(4))<br> -URI http://asc.fasb.org/extlink&amp;oid=119400593&amp;loc=d3e572229-122910<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.3-04)<br> -URI http://asc.fasb.org/extlink&amp;oid=27012166&amp;loc=d3e187085-122770<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RetainedEarningsAccumulatedDeficit</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StockholdersEquity">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Total of all stockholders' equity (deficit) items, net of receivables from officers, directors, owners, and affiliates of the entity which are attributable to the parent. The amount of the economic entity's stockholders' equity attributable to the parent excludes the amount of stockholders' equity which is allocable to that ownership interest in subsidiary equity which is not attributable to the parent (noncontrolling interest, minority interest). This excludes temporary equity and is sometimes called permanent equity.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 310<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SAB Topic 4.E)<br> -URI http://asc.fasb.org/extlink&amp;oid=27010918&amp;loc=d3e74512-122707<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(31))<br> -URI http://asc.fasb.org/extlink&amp;oid=6877327&amp;loc=d3e13212-122682<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(29))<br> -URI http://asc.fasb.org/extlink&amp;oid=6877327&amp;loc=d3e13212-122682<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(30))<br> -URI http://asc.fasb.org/extlink&amp;oid=6877327&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StockholdersEquity</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StockholdersEquityAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StockholdersEquityAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>42
<FILENAME>R92.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.20.1</span><table class="report" border="0" cellspacing="2" id="idp6900618944">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>Note 18 - Income Taxes - Components of Deferred Income Tax Assets and Liabilities (Details) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th"><div>Jan. 31, 2020</div></th>
<th class="th"><div>Jan. 31, 2019</div></th>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAccruedLiabilities', window );">Accrued liabilities not currently deductible</a></td>
<td class="nump">$ 14,838<span></span>
</td>
<td class="nump">$ 11,483<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DeferredTaxAssetsOperatingLossCarryforwards', window );">Accumulated net operating losses</a></td>
<td class="nump">10,579<span></span>
</td>
<td class="nump">11,081<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DeferredTaxAssetsPropertyPlantAndEquipment', window );">Difference between tax and accounting basis of property and equipment</a></td>
<td class="nump">33,929<span></span>
</td>
<td class="text"> <span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DeferredTaxAssetsTaxCreditCarryforwardsResearch', window );">Research and development and other tax credits and expenses</a></td>
<td class="nump">756<span></span>
</td>
<td class="nump">911<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DeferredTaxAssetsGross', window );">Total deferred income tax assets</a></td>
<td class="nump">60,102<span></span>
</td>
<td class="nump">23,475<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DeferredTaxLiabilitiesGoodwillAndIntangibleAssetsIntangibleAssets', window );">Difference between tax and accounting basis of intangible assets</a></td>
<td class="num">(41,381)<span></span>
</td>
<td class="num">(23,974)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DeferredTaxLiabilitiesPropertyPlantAndEquipment', window );">Difference between tax and accounting basis of property and equipment</a></td>
<td class="text"> <span></span>
</td>
<td class="num">(909)<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DeferredTaxLiabilitiesOther', window );">Other temporary differences</a></td>
<td class="num">(1,716)<span></span>
</td>
<td class="num">(574)<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DeferredIncomeTaxLiabilities', window );">Total deferred income tax liabilities</a></td>
<td class="num">(43,097)<span></span>
</td>
<td class="num">(25,457)<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_dsgx_DeferredTaxAssetsNetBeforeValuationAllowance', window );">Net deferred income taxes</a></td>
<td class="nump">17,005<span></span>
</td>
<td class="num">(1,982)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DeferredTaxAssetsValuationAllowance', window );">Valuation allowance</a></td>
<td class="num">(10,470)<span></span>
</td>
<td class="num">(9,927)<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_dsgx_DeferredTaxAssetsLiabilitesNet1', window );">Net deferred income taxes, net of valuation allowance</a></td>
<td class="nump">$ 6,535<span></span>
</td>
<td class="num">$ (11,909)<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dsgx_DeferredTaxAssetsLiabilitesNet1">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount, after allocation of valuation allowances, of deferred tax asset (liability) attributable to deductible differences and carryforwards, without jurisdictional netting.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dsgx_DeferredTaxAssetsLiabilitesNet1</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dsgx_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dsgx_DeferredTaxAssetsNetBeforeValuationAllowance">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount before allocation of valuation allowances of deferred tax assets.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dsgx_DeferredTaxAssetsNetBeforeValuationAllowance</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dsgx_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DeferredIncomeTaxLiabilities">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of deferred tax liability attributable to taxable temporary differences.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(26)(b))<br> -URI http://asc.fasb.org/extlink&amp;oid=6877327&amp;loc=d3e13212-122682<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 210<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(15)(b)(2))<br> -URI http://asc.fasb.org/extlink&amp;oid=119400593&amp;loc=d3e572229-122910<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 210<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-03(15)(2))<br> -URI http://asc.fasb.org/extlink&amp;oid=6876686&amp;loc=d3e534808-122878<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(26)(a))<br> -URI http://asc.fasb.org/extlink&amp;oid=6877327&amp;loc=d3e13212-122682<br><br>Reference 5: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=84230637&amp;loc=d3e32537-109319<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DeferredIncomeTaxLiabilities</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DeferredTaxAssetsGross">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount before allocation of valuation allowances of deferred tax asset attributable to deductible temporary differences and carryforwards.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=84230637&amp;loc=d3e32537-109319<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DeferredTaxAssetsGross</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DeferredTaxAssetsOperatingLossCarryforwards">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount before allocation of valuation allowances of deferred tax asset attributable to deductible operating loss carryforwards.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 6<br> -URI http://asc.fasb.org/extlink&amp;oid=84230637&amp;loc=d3e32621-109319<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 8<br> -URI http://asc.fasb.org/extlink&amp;oid=84230637&amp;loc=d3e32632-109319<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 25<br> -Paragraph 20<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=117330534&amp;loc=d3e28680-109314<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DeferredTaxAssetsOperatingLossCarryforwards</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DeferredTaxAssetsPropertyPlantAndEquipment">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount before allocation of valuation allowances of deferred tax asset attributable to deductible temporary differences from property, plant, and equipment.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DeferredTaxAssetsPropertyPlantAndEquipment</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DeferredTaxAssetsTaxCreditCarryforwardsResearch">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount before allocation of valuation allowances of deferred tax asset attributable to deductible research tax credit carryforwards.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 8<br> -URI http://asc.fasb.org/extlink&amp;oid=84230637&amp;loc=d3e32632-109319<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=84230637&amp;loc=d3e32559-109319<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 6<br> -URI http://asc.fasb.org/extlink&amp;oid=84230637&amp;loc=d3e32621-109319<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DeferredTaxAssetsTaxCreditCarryforwardsResearch</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAccruedLiabilities">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount before allocation of valuation allowances of deferred tax asset attributable to deductible temporary differences from accrued liabilities.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 8<br> -URI http://asc.fasb.org/extlink&amp;oid=84230637&amp;loc=d3e32632-109319<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 6<br> -URI http://asc.fasb.org/extlink&amp;oid=84230637&amp;loc=d3e32621-109319<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 25<br> -Paragraph 20<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=117330534&amp;loc=d3e28680-109314<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAccruedLiabilities</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DeferredTaxAssetsValuationAllowance">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of deferred tax assets for which it is more likely than not that a tax benefit will not be realized.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)<br> -URI http://asc.fasb.org/extlink&amp;oid=84230637&amp;loc=d3e32537-109319<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DeferredTaxAssetsValuationAllowance</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DeferredTaxLiabilitiesGoodwillAndIntangibleAssetsIntangibleAssets">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of deferred tax liability attributable to taxable temporary differences from intangible assets other than goodwill.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 25<br> -Paragraph 20<br> -URI http://asc.fasb.org/extlink&amp;oid=117330534&amp;loc=d3e28680-109314<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 6<br> -URI http://asc.fasb.org/extlink&amp;oid=84230637&amp;loc=d3e32621-109319<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 8<br> -URI http://asc.fasb.org/extlink&amp;oid=84230637&amp;loc=d3e32632-109319<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DeferredTaxLiabilitiesGoodwillAndIntangibleAssetsIntangibleAssets</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DeferredTaxLiabilitiesOther">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of deferred tax liability attributable to taxable temporary differences classified as other.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 25<br> -Paragraph 20<br> -URI http://asc.fasb.org/extlink&amp;oid=117330534&amp;loc=d3e28680-109314<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 8<br> -URI http://asc.fasb.org/extlink&amp;oid=84230637&amp;loc=d3e32632-109319<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 6<br> -URI http://asc.fasb.org/extlink&amp;oid=84230637&amp;loc=d3e32621-109319<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DeferredTaxLiabilitiesOther</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DeferredTaxLiabilitiesPropertyPlantAndEquipment">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of deferred tax liability attributable to taxable temporary differences from property, plant, and equipment.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 25<br> -Paragraph 20<br> -URI http://asc.fasb.org/extlink&amp;oid=117330534&amp;loc=d3e28680-109314<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 6<br> -URI http://asc.fasb.org/extlink&amp;oid=84230637&amp;loc=d3e32621-109319<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 8<br> -URI http://asc.fasb.org/extlink&amp;oid=84230637&amp;loc=d3e32632-109319<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DeferredTaxLiabilitiesPropertyPlantAndEquipment</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>43
<FILENAME>R62.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.20.1</span><table class="report" border="0" cellspacing="2" id="idp6891971376">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>Note 6 - Other Receivables - Other Receivables (Details) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th"><div>Jan. 31, 2020</div></th>
<th class="th"><div>Jan. 31, 2019</div></th>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_dsgx_NetWorkingCapitalAdjustmentsReceivableFromAcquisitions', window );">Net working capital adjustments receivable from acquisitions</a></td>
<td class="text"> <span></span>
</td>
<td class="nump">$ 55<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_OtherAssetsCurrent', window );">Other receivables</a></td>
<td class="nump">7,294<span></span>
</td>
<td class="nump">4,276<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_OtherReceivablesNetCurrent', window );"></a></td>
<td class="nump">$ 7,294<span></span>
</td>
<td class="nump">$ 4,331<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dsgx_NetWorkingCapitalAdjustmentsReceivableFromAcquisitions">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Net working capital adjustments receivable from acquisitions.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dsgx_NetWorkingCapitalAdjustmentsReceivableFromAcquisitions</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dsgx_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OtherAssetsCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of current assets classified as other.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.8)<br> -URI http://asc.fasb.org/extlink&amp;oid=6877327&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OtherAssetsCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OtherReceivablesNetCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount, after allowance, of receivables classified as other, due within one year or the operating cycle, if longer.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OtherReceivablesNetCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>44
<FILENAME>R66.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.20.1</span><table class="report" border="0" cellspacing="2" id="idp6809800560">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>Note 9 - Intangible Assets - Intangible Assets (Details) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th"><div>Jan. 31, 2020</div></th>
<th class="th"><div>Jan. 31, 2019</div></th>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsGross', window );">Intangible assets, cost</a></td>
<td class="nump">$ 507,695<span></span>
</td>
<td class="nump">$ 375,792<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization', window );">Intangible assets, amortization cost</a></td>
<td class="nump">250,739<span></span>
</td>
<td class="nump">199,600<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsNet', window );">Intangible assets. net</a></td>
<td class="nump">256,956<span></span>
</td>
<td class="nump">176,192<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis=us-gaap_CustomerRelationshipsMember', window );">Customer Relationships [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsGross', window );">Intangible assets, cost</a></td>
<td class="nump">226,514<span></span>
</td>
<td class="nump">177,224<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization', window );">Intangible assets, amortization cost</a></td>
<td class="nump">98,241<span></span>
</td>
<td class="nump">82,028<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis=us-gaap_DevelopedTechnologyRightsMember', window );">Developed Technology Rights [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsGross', window );">Intangible assets, cost</a></td>
<td class="nump">262,614<span></span>
</td>
<td class="nump">184,641<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization', window );">Intangible assets, amortization cost</a></td>
<td class="nump">142,757<span></span>
</td>
<td class="nump">110,051<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis=us-gaap_TradeNamesMember', window );">Trade Names [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsGross', window );">Intangible assets, cost</a></td>
<td class="nump">8,582<span></span>
</td>
<td class="nump">7,754<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization', window );">Intangible assets, amortization cost</a></td>
<td class="nump">5,124<span></span>
</td>
<td class="nump">4,456<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis=us-gaap_NoncompeteAgreementsMember', window );">Noncompete Agreements [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsGross', window );">Intangible assets, cost</a></td>
<td class="nump">9,985<span></span>
</td>
<td class="nump">6,173<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization', window );">Intangible assets, amortization cost</a></td>
<td class="nump">$ 4,617<span></span>
</td>
<td class="nump">$ 3,065<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Accumulated amount of amortization of assets, excluding financial assets and goodwill, lacking physical substance with a finite life.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 30<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)(1)<br> -URI http://asc.fasb.org/extlink&amp;oid=66006027&amp;loc=d3e16323-109275<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FiniteLivedIntangibleAssetsGross">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount before amortization of assets, excluding financial assets and goodwill, lacking physical substance with a finite life.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 928<br> -SubTopic 340<br> -Section 50<br> -Paragraph 1<br> -URI http://asc.fasb.org/extlink&amp;oid=6473545&amp;loc=d3e61844-108004<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 30<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)(1)<br> -URI http://asc.fasb.org/extlink&amp;oid=66006027&amp;loc=d3e16323-109275<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FiniteLivedIntangibleAssetsGross</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FiniteLivedIntangibleAssetsNet">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount after amortization of assets, excluding financial assets and goodwill, lacking physical substance with a finite life.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 30<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)(1)<br> -URI http://asc.fasb.org/extlink&amp;oid=66006027&amp;loc=d3e16323-109275<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FiniteLivedIntangibleAssetsNet</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis=us-gaap_CustomerRelationshipsMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis=us-gaap_CustomerRelationshipsMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis=us-gaap_DevelopedTechnologyRightsMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis=us-gaap_DevelopedTechnologyRightsMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis=us-gaap_TradeNamesMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis=us-gaap_TradeNamesMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis=us-gaap_NoncompeteAgreementsMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis=us-gaap_NoncompeteAgreementsMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>45
<FILENAME>R96.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.20.1</span><table class="report" border="0" cellspacing="2" id="idp6891836816">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Note 19 - Contract Balances, Performance Obligations and Contract Costs 1 (Details Textual) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th" colspan="2">12 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Jan. 31, 2020</div></th>
<th class="th"><div>Jan. 31, 2019</div></th>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_CapitalizedContractCostNet', window );">Capitalized Contract Cost, Net, Total</a></td>
<td class="nump">$ 9,800<span></span>
</td>
<td class="nump">$ 7,300<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_CapitalizedContractCostAmortization', window );">Capitalized Contract Cost, Amortization</a></td>
<td class="nump">2,500<span></span>
</td>
<td class="nump">1,800<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_CapitalizedContractCostImpairmentLoss', window );">Capitalized Contract Cost, Impairment Loss</a></td>
<td class="nump">$ 0<span></span>
</td>
<td class="nump">$ 0<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CapitalizedContractCostAmortization">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of amortization expense for asset recognized from cost incurred to obtain or fulfill contract with customer.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 340<br> -SubTopic 40<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=68051541&amp;loc=SL49131252-203054<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CapitalizedContractCostAmortization</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CapitalizedContractCostImpairmentLoss">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of impairment loss for asset recognized from cost incurred to obtain or fulfill contract with customer.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 340<br> -SubTopic 40<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=68051541&amp;loc=SL49131252-203054<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CapitalizedContractCostImpairmentLoss</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CapitalizedContractCostNet">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount, after accumulated amortization and accumulated impairment loss, of asset recognized from cost incurred to obtain or fulfill contract with customer.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 340<br> -SubTopic 40<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=68051541&amp;loc=SL49131252-203054<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CapitalizedContractCostNet</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>46
<FILENAME>R45.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.20.1</span><table class="report" border="0" cellspacing="2" id="idp6897408736">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Note 17 - Stock-based Compensation Plans (Tables)<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Jan. 31, 2020</div></th></tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_TableTextBlock', window );"><strong>Notes Tables</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTextBlock', window );">Share-based Payment Arrangement, Expensed and Capitalized, Amount [Table Text Block]</a></td>
<td class="text"><div style="display: inline; font-family: times new roman; font-size: 10pt"><table cellpadding="0" cellspacing="0" style="border-collapse: collapse; font: 10pt Times New Roman, Times, Serif; min-; min-width: 700px;"> <tr style="vertical-align: bottom; background-color: White"> <td style="font-style: italic">Year Ended</td> <td style="font-weight: bold">&nbsp;</td> <td style="border-top: Black 1pt solid; font-weight: bold; text-align: left">&nbsp;</td> <td style="border-top: Black 1pt solid; font-weight: bold; text-align: right"><div style="display: inline; font-family: Times New Roman, Times, Serif; font-size: 10pt"><div style="display: inline; font-weight: bold;">January 31,</div></div></td> <td style="border-top: Black 1pt solid; white-space: nowrap; font-weight: bold; text-align: left">&nbsp;</td> <td style="border-top: Black 1pt solid">&nbsp;</td> <td style="border-top: Black 1pt solid; text-align: left">&nbsp;</td> <td style="border-top: Black 1pt solid; text-align: right"><div style="display: inline; font-family: Times New Roman, Times, Serif; font-size: 10pt">January 31,</div></td> <td style="border-top: Black 1pt solid; white-space: nowrap; text-align: left">&nbsp;</td> <td style="border-top: Black 1pt solid">&nbsp;</td> <td style="border-top: Black 1pt solid; text-align: left">&nbsp;</td> <td style="border-top: Black 1pt solid; text-align: right"><div style="display: inline; font-family: Times New Roman, Times, Serif; font-size: 10pt">January 31,</div></td> <td style="border-top: Black 1pt solid; white-space: nowrap; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: White"> <td style="padding-bottom: 1pt">&nbsp;</td> <td style="font-weight: bold">&nbsp;</td> <td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: right">2020</td> <td style="white-space: nowrap; border-bottom: Black 1pt solid; font-weight: bold; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid">&nbsp;</td> <td style="border-bottom: Black 1pt solid; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid; text-align: right">2019</td> <td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid">&nbsp;</td> <td style="border-bottom: Black 1pt solid; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid; text-align: right">2018</td> <td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="width: 58%">Cost of revenues</td> <td style="width: 2%; font-weight: bold">&nbsp;</td> <td style="width: 1%; font-weight: bold; text-align: left">&nbsp;</td> <td style="width: 10%; font-weight: bold; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">220</div></td> <td style="white-space: nowrap; width: 1%; font-weight: bold; text-align: left">&nbsp;</td> <td style="width: 2%">&nbsp;</td> <td style="width: 1%; text-align: left">&nbsp;</td> <td style="width: 10%; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">160</div></td> <td style="white-space: nowrap; width: 1%; text-align: left">&nbsp;</td> <td style="width: 2%">&nbsp;</td> <td style="width: 1%; text-align: left">&nbsp;</td> <td style="width: 10%; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">90</div></td> <td style="white-space: nowrap; width: 1%; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: White"> <td style="text-align: left">Sales and marketing</td> <td style="font-weight: bold">&nbsp;</td> <td style="font-weight: bold; text-align: left">&nbsp;</td> <td style="font-weight: bold; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">706</div></td> <td style="white-space: nowrap; font-weight: bold; text-align: left">&nbsp;</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">436</div></td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">246</div></td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="text-align: left">Research and development</td> <td style="font-weight: bold">&nbsp;</td> <td style="font-weight: bold; text-align: left">&nbsp;</td> <td style="font-weight: bold; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">281</div></td> <td style="white-space: nowrap; font-weight: bold; text-align: left">&nbsp;</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">184</div></td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">85</div></td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: White"> <td style="text-align: left; padding-bottom: 1pt">General and administrative</td> <td style="font-weight: bold">&nbsp;</td> <td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">3,702</div></td> <td style="white-space: nowrap; border-bottom: Black 1pt solid; font-weight: bold; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid">&nbsp;</td> <td style="border-bottom: Black 1pt solid; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">2,930</div></td> <td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid">&nbsp;</td> <td style="border-bottom: Black 1pt solid; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">2,386</div></td> <td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="text-align: left; padding-bottom: 1pt">Effect on net income</td> <td style="font-weight: bold">&nbsp;</td> <td style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">4,909</div></td> <td style="border-bottom: Black 1.5pt solid; white-space: nowrap; font-weight: bold; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1.5pt solid">&nbsp;</td> <td style="border-bottom: Black 1.5pt solid; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1.5pt solid; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">3,710</div></td> <td style="border-bottom: Black 1.5pt solid; white-space: nowrap; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1.5pt solid">&nbsp;</td> <td style="border-bottom: Black 1.5pt solid; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1.5pt solid; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">2,807</div></td> <td style="border-bottom: Black 1.5pt solid; white-space: nowrap; text-align: left">&nbsp;</td> </tr> </table></div><span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsTableTextBlock', window );">Schedule of Share-based Payment Award, Stock Options, Valuation Assumptions [Table Text Block]</a></td>
<td class="text"><div style="display: inline; font-family: times new roman; font-size: 10pt"><table cellpadding="0" cellspacing="0" style="border-collapse: collapse; font: 10pt Times New Roman, Times, Serif; min-; min-width: 700px;"> <tr style="vertical-align: bottom; background-color: White"> <td style="font-style: italic; padding-bottom: 1pt">Year Ended</td> <td style="font-weight: bold">&nbsp;</td> <td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; font-weight: bold; text-align: left">&nbsp;</td> <td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; font-weight: bold; text-align: right"><div style="display: inline; font-family: Times New Roman, Times, Serif; font-size: 10pt"><div style="display: inline; font-weight: bold;">January 31, 2020</div></div></td> <td style="border-top: Black 1pt solid; white-space: nowrap; border-bottom: Black 1pt solid; font-weight: bold; text-align: left">&nbsp;</td> <td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid">&nbsp;</td> <td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; text-align: left">&nbsp;</td> <td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; text-align: right"><div style="display: inline; font-family: Times New Roman, Times, Serif; font-size: 10pt">January 31, 2019</div></td> <td style="border-top: Black 1pt solid; white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&nbsp;</td> <td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid">&nbsp;</td> <td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; text-align: left">&nbsp;</td> <td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; text-align: right"><div style="display: inline; font-family: Times New Roman, Times, Serif; font-size: 10pt">January 31, 2018</div></td> <td style="border-top: Black 1pt solid; white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="text-align: left">&nbsp;&nbsp;Expected dividend yield (%)</td> <td style="font-weight: bold">&nbsp;</td> <td style="font-weight: bold; text-align: left">&nbsp;</td> <td style="font-weight: bold; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">&#x2013;</div></td> <td style="white-space: nowrap; font-weight: bold; text-align: left">&nbsp;</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">&#x2013;</div></td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">&#x2013;</div></td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: White"> <td style="width: 58%; text-align: left">&nbsp;&nbsp;Expected volatility (%)</td> <td style="width: 2%; font-weight: bold">&nbsp;</td> <td style="width: 1%; font-weight: bold; text-align: left">&nbsp;</td> <td style="width: 10%; font-weight: bold; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">23.5</div></td> <td style="white-space: nowrap; width: 1%; font-weight: bold; text-align: left">&nbsp;</td> <td style="width: 2%">&nbsp;</td> <td style="width: 1%; text-align: left">&nbsp;</td> <td style="width: 10%; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">23.6</div></td> <td style="white-space: nowrap; width: 1%; text-align: left">&nbsp;</td> <td style="width: 2%">&nbsp;</td> <td style="width: 1%; text-align: left">&nbsp;</td> <td style="width: 10%; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">23.5</div></td> <td style="white-space: nowrap; width: 1%; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="text-align: left">&nbsp;&nbsp;Risk-free rate (%)</td> <td style="font-weight: bold">&nbsp;</td> <td style="font-weight: bold; text-align: left">&nbsp;</td> <td style="font-weight: bold; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">1.4</div></td> <td style="white-space: nowrap; font-weight: bold; text-align: left">&nbsp;</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">2.0</div></td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">1.0</div></td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: White"> <td style="text-align: left">&nbsp;&nbsp;Expected option life (years)</td> <td style="font-weight: bold">&nbsp;</td> <td style="font-weight: bold; text-align: left">&nbsp;</td> <td style="font-weight: bold; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">5</div></td> <td style="white-space: nowrap; font-weight: bold; text-align: left">&nbsp;</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">5</div></td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">5</div></td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> </tr> </table></div><span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock', window );">Share-based Payment Arrangement, Option, Activity [Table Text Block]</a></td>
<td class="text"><div style="display: inline; font-family: times new roman; font-size: 10pt"><table cellpadding="0" cellspacing="0" style="border-collapse: collapse; font: 10pt Times New Roman, Times, Serif; min-; min-width: 700px;"> <tr style="vertical-align: bottom; background-color: White"> <td style="text-align: center; padding-bottom: 1pt">&nbsp;</td> <td>&nbsp;</td> <td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; text-align: left">&nbsp;</td> <td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; text-align: right"><div style="display: inline; font-family: Times New Roman, Times, Serif; font-size: 10pt">Number of Stock Options Outstanding</div></td> <td style="border-top: Black 1pt solid; white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&nbsp;</td> <td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid">&nbsp;</td> <td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; text-align: left">&nbsp;</td> <td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; text-align: right"><div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: right">Weighted-</div> <div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: right">Average Exercise</div> <div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: right">Price</div></td> <td style="border-top: Black 1pt solid; white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&nbsp;</td> <td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid">&nbsp;</td> <td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; text-align: left">&nbsp;</td> <td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; text-align: right"><div style="display: inline; font-family: Times New Roman, Times, Serif; font-size: 10pt">Weighted- Average Remaining Contractual Life (years)</div></td> <td style="border-top: Black 1pt solid; white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&nbsp;</td> <td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid">&nbsp;</td> <td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; text-align: left">&nbsp;</td> <td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; text-align: right"><div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: right">Aggregate Intrinsic</div> <div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: right">Value</div> <div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: right">(in millions)</div></td> <td style="border-top: Black 1pt solid; white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="width: 48%">Balance at January 31, 2018</td> <td style="width: 2%">&nbsp;</td> <td style="width: 1%; text-align: left">&nbsp;</td> <td style="width: 9%; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">657,209</div></td> <td style="white-space: nowrap; width: 1%; text-align: left">&nbsp;</td> <td style="width: 2%">&nbsp;</td> <td style="width: 1%; text-align: left">$</td> <td style="width: 9%; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">18.21</div></td> <td style="white-space: nowrap; width: 1%; text-align: left">&nbsp;</td> <td style="width: 2%">&nbsp;</td> <td style="width: 1%; text-align: left">&nbsp;</td> <td style="width: 9%; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">4.9</div></td> <td style="white-space: nowrap; width: 1%; text-align: left">&nbsp;</td> <td style="width: 2%">&nbsp;</td> <td style="width: 1%; text-align: left">&nbsp;</td> <td style="width: 9%; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">5.7</div></td> <td style="white-space: nowrap; width: 1%; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: White"> <td style="padding-left: 15.1pt">Granted</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">272,144</div></td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> <td>&nbsp;</td> <td style="text-align: left">$</td> <td style="text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">27.96</div></td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">&nbsp;</div></td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">&nbsp;</div></td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="padding-left: 15.1pt">Exercised</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">(46,065</div></td> <td style="white-space: nowrap; text-align: left">)</td> <td>&nbsp;</td> <td style="text-align: left">$</td> <td style="text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">11.75</div></td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">&nbsp;</div></td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">&nbsp;</div></td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: White"> <td style="padding-bottom: 1pt; padding-left: 15.1pt">Forfeited</td> <td>&nbsp;</td> <td style="border-bottom: Black 1pt solid; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">(3,950</div></td> <td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">)</td> <td style="border-bottom: Black 1pt solid">&nbsp;</td> <td style="border-bottom: Black 1pt solid; text-align: left">$</td> <td style="border-bottom: Black 1pt solid; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">26.43</div></td> <td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid">&nbsp;</td> <td style="border-bottom: Black 1pt solid; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">&nbsp;</div></td> <td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid">&nbsp;</td> <td style="border-bottom: Black 1pt solid; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">&nbsp;</div></td> <td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td>Balance at January 31, 2019</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">879,338</div></td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> <td>&nbsp;</td> <td style="text-align: left">$</td> <td style="text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">21.41</div></td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">4.7</div></td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">8.7</div></td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: White"> <td style="text-indent: 2.75pt; padding-left: 12.25pt">Granted</td> <td style="font-weight: bold">&nbsp;</td> <td style="font-weight: bold; text-align: left">&nbsp;</td> <td style="font-weight: bold; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">367,173</div></td> <td style="white-space: nowrap; font-weight: bold; text-align: left">&nbsp;</td> <td style="font-weight: bold">&nbsp;</td> <td style="font-weight: bold; text-align: left">$</td> <td style="font-weight: bold; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">38.06</div></td> <td style="white-space: nowrap; font-weight: bold; text-align: left">&nbsp;</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">&nbsp;</div></td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">&nbsp;</div></td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="text-indent: 2.75pt; padding-left: 12pt">Exercised</td> <td style="font-weight: bold">&nbsp;</td> <td style="font-weight: bold; text-align: left">&nbsp;</td> <td style="font-weight: bold; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">(94,970</div></td> <td style="white-space: nowrap; font-weight: bold; text-align: left">)</td> <td style="font-weight: bold">&nbsp;</td> <td style="font-weight: bold; text-align: left">$</td> <td style="font-weight: bold; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">15.62</div></td> <td style="white-space: nowrap; font-weight: bold; text-align: left">&nbsp;</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">&nbsp;</div></td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">&nbsp;</div></td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: White"> <td style="padding-bottom: 1pt; text-indent: 2.75pt; padding-left: 12pt">Forfeited</td> <td style="font-weight: bold">&nbsp;</td> <td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">(23,719</div></td> <td style="white-space: nowrap; border-bottom: Black 1pt solid; font-weight: bold; text-align: left">)</td> <td style="font-weight: bold; border-bottom: Black 1pt solid">&nbsp;</td> <td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: left">$</td> <td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">31.93</div></td> <td style="white-space: nowrap; border-bottom: Black 1pt solid; font-weight: bold; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid">&nbsp;</td> <td style="border-bottom: Black 1pt solid; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">&nbsp;</div></td> <td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid">&nbsp;</td> <td style="border-bottom: Black 1pt solid; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">&nbsp;</div></td> <td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="padding-bottom: 1pt">Balance at January 31, 2020</td> <td style="font-weight: bold">&nbsp;</td> <td style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">1,127,822</div></td> <td style="border-bottom: Black 1.5pt solid; white-space: nowrap; font-weight: bold; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1.5pt solid; font-weight: bold">&nbsp;</td> <td style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: left">$</td> <td style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">26.82</div></td> <td style="border-bottom: Black 1.5pt solid; white-space: nowrap; font-weight: bold; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1.5pt solid; font-weight: bold">&nbsp;</td> <td style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">4.6</div></td> <td style="border-bottom: Black 1.5pt solid; white-space: nowrap; font-weight: bold; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1.5pt solid; font-weight: bold">&nbsp;</td> <td style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">20.2</div></td> <td style="border-bottom: Black 1.5pt solid; white-space: nowrap; font-weight: bold; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: White"> <td>&nbsp;</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right">&nbsp;</td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right">&nbsp;</td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right">&nbsp;</td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right">&nbsp;</td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="text-align: left; padding-bottom: 1pt">Vested or expected to vest at January 31, 2020</td> <td style="font-weight: bold">&nbsp;</td> <td style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">1,127,822</div></td> <td style="border-bottom: Black 1.5pt solid; white-space: nowrap; font-weight: bold; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1.5pt solid; font-weight: bold">&nbsp;</td> <td style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: left">$</td> <td style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">26.82</div></td> <td style="border-bottom: Black 1.5pt solid; white-space: nowrap; font-weight: bold; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1.5pt solid; font-weight: bold">&nbsp;</td> <td style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">4.6</div></td> <td style="border-bottom: Black 1.5pt solid; white-space: nowrap; font-weight: bold; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1.5pt solid; font-weight: bold">&nbsp;</td> <td style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">20.2</div></td> <td style="border-bottom: Black 1.5pt solid; white-space: nowrap; font-weight: bold; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: White"> <td>&nbsp;</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right">&nbsp;</td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right">&nbsp;</td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right">&nbsp;</td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right">&nbsp;</td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="padding-bottom: 1pt">Exercisable at January 31, 2020</td> <td style="font-weight: bold">&nbsp;</td> <td style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">718,169</div></td> <td style="border-bottom: Black 1.5pt solid; white-space: nowrap; font-weight: bold; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1.5pt solid; font-weight: bold">&nbsp;</td> <td style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: left">$</td> <td style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">22.88</div></td> <td style="border-bottom: Black 1.5pt solid; white-space: nowrap; font-weight: bold; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1.5pt solid; font-weight: bold">&nbsp;</td> <td style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">4.0</div></td> <td style="border-bottom: Black 1.5pt solid; white-space: nowrap; font-weight: bold; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1.5pt solid; font-weight: bold">&nbsp;</td> <td style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">15.7</div></td> <td style="border-bottom: Black 1.5pt solid; white-space: nowrap; font-weight: bold; text-align: left">&nbsp;</td> </tr> </table></div><span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ScheduleOfShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeTextBlock', window );">Share-based Payment Arrangement, Option, Exercise Price Range [Table Text Block]</a></td>
<td class="text"><div style="display: inline; font-family: times new roman; font-size: 10pt"><table cellpadding="0" cellspacing="0" style="border-collapse: collapse; font: 10pt Times New Roman, Times, Serif; min-; min-width: 700px;"> <tr style="vertical-align: bottom"> <td style="text-align: center">&nbsp;</td> <td style="font-weight: bold">&nbsp;</td> <td colspan="11" style="font-weight: bold; text-align: center; border-bottom: Black 1pt solid">Options Outstanding</td> <td style="font-weight: bold">&nbsp;</td> <td colspan="7" style="font-weight: bold; text-align: center; border-bottom: Black 1pt solid">Options Exercisable</td> </tr> <tr style="vertical-align: bottom; background-color: White"> <td style="font-style: italic; padding-bottom: 1pt">Range of Exercise Prices</td> <td>&nbsp;</td> <td style="border-bottom: Black 1pt solid; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid; text-align: right"><div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: right">Weighted</div> <div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: right">Average Exercise Price</div></td> <td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid">&nbsp;</td> <td style="border-bottom: Black 1pt solid; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid; text-align: right"><div style="display: inline; font-family: Times New Roman, Times, Serif; font-size: 10pt">Number of Stock Options </div></td> <td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid">&nbsp;</td> <td style="border-bottom: Black 1pt solid; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid; text-align: right"><div style="display: inline; font-family: Times New Roman, Times, Serif; font-size: 10pt">Weighted Average Remaining Contractual Life (years)</div></td> <td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&nbsp;</td> <td>&nbsp;</td> <td style="border-bottom: Black 1pt solid; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid; text-align: right"><div style="display: inline; font-family: Times New Roman, Times, Serif; font-size: 10pt">Weighted Average Exercise Price</div></td> <td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid">&nbsp;</td> <td style="border-bottom: Black 1pt solid; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid; text-align: right"><div style="display: inline; font-family: Times New Roman, Times, Serif; font-size: 10pt">Number of Stock Options</div></td> <td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="width: 45%; padding-left: 12pt">$11.43 &#x2013; $11.59</td> <td style="width: 1%"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">&nbsp;</div></td> <td style="width: 1%; text-align: left"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">$</div></td> <td style="width: 8%; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">11.57</div></td> <td style="white-space: nowrap; width: 1%; text-align: left">&nbsp;</td> <td style="width: 1%">&nbsp;</td> <td style="width: 1%; text-align: left">&nbsp;</td> <td style="width: 8%; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">126,500</div></td> <td style="white-space: nowrap; width: 1%; text-align: left">&nbsp;</td> <td style="width: 1%">&nbsp;</td> <td style="width: 1%; text-align: left">&nbsp;</td> <td style="width: 8%; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">1.4</div></td> <td style="white-space: nowrap; width: 1%; text-align: left">&nbsp;</td> <td style="width: 1%">&nbsp;</td> <td style="width: 1%; text-align: left">$</td> <td style="width: 8%; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">11.57</div></td> <td style="white-space: nowrap; width: 1%; text-align: left">&nbsp;</td> <td style="width: 1%">&nbsp;</td> <td style="width: 1%; text-align: left">&nbsp;</td> <td style="width: 8%; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">126,500</div></td> <td style="white-space: nowrap; width: 1%; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: White"> <td style="padding-left: 12pt">$18.71 &#x2013; $22.57</td> <td><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">&nbsp;</div></td> <td style="text-align: left"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">$</div></td> <td style="text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">21.17</div></td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">397,014</div></td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">3.8</div></td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> <td>&nbsp;</td> <td style="text-align: left">$</td> <td style="text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">21.08</div></td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">357,014</div></td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="padding-left: 12pt">$25.91 &#x2013; $27.50</td> <td><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">&nbsp;</div></td> <td style="text-align: left"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">$</div></td> <td style="text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">27.49</div></td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">247,935</div></td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">5.2</div></td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> <td>&nbsp;</td> <td style="text-align: left">$</td> <td style="text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">27.49</div></td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">140,461</div></td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: White"> <td style="padding-bottom: 1pt; padding-left: 12pt">$38.04 &#x2013; $39.70</td> <td><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">&nbsp;</div></td> <td style="border-bottom: Black 1pt solid; text-align: left"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">$</div></td> <td style="border-bottom: Black 1pt solid; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">38.07</div></td> <td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid">&nbsp;</td> <td style="border-bottom: Black 1pt solid; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">356,373</div></td> <td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid">&nbsp;</td> <td style="border-bottom: Black 1pt solid; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">6.2</div></td> <td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&nbsp;</td> <td>&nbsp;</td> <td style="border-bottom: Black 1pt solid; text-align: left">$</td> <td style="border-bottom: Black 1pt solid; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">38.06</div></td> <td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid">&nbsp;</td> <td style="border-bottom: Black 1pt solid; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">94,194</div></td> <td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="padding-bottom: 1pt; padding-left: 12pt">&nbsp;</td> <td style="font-weight: bold"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">&nbsp;</div></td> <td style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: left"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">$</div></td> <td style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">26.82</div></td> <td style="border-bottom: Black 1.5pt solid; white-space: nowrap; font-weight: bold; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1.5pt solid; font-weight: bold">&nbsp;</td> <td style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">1,127,822</div></td> <td style="border-bottom: Black 1.5pt solid; white-space: nowrap; font-weight: bold; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1.5pt solid; font-weight: bold">&nbsp;</td> <td style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">4.6</div></td> <td style="border-bottom: Black 1.5pt solid; white-space: nowrap; font-weight: bold; text-align: left">&nbsp;</td> <td style="font-weight: bold">&nbsp;</td> <td style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: left">$</td> <td style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">22.88</div></td> <td style="border-bottom: Black 1.5pt solid; white-space: nowrap; font-weight: bold; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1.5pt solid; font-weight: bold">&nbsp;</td> <td style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">718,169</div></td> <td style="border-bottom: Black 1.5pt solid; white-space: nowrap; font-weight: bold; text-align: left">&nbsp;</td> </tr> </table></div><span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ScheduleOfNonvestedShareActivityTableTextBlock', window );">Schedule of Nonvested Share Activity [Table Text Block]</a></td>
<td class="text"><div style="display: inline; font-family: times new roman; font-size: 10pt"><table cellpadding="0" cellspacing="0" style="border-collapse: collapse; font: 10pt Times New Roman, Times, Serif; min-; min-width: 700px;"> <tr style="vertical-align: bottom; background-color: White"> <td style="text-align: center; padding-bottom: 1pt">&nbsp;</td> <td style="font-weight: bold">&nbsp;</td> <td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; font-weight: bold; text-align: left">&nbsp;</td> <td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; font-weight: bold; text-align: right"><div style="display: inline; font-family: Times New Roman, Times, Serif; font-size: 10pt"><div style="display: inline; font-weight: bold;">Number of Stock Options Outstanding</div></div></td> <td style="border-top: Black 1pt solid; white-space: nowrap; border-bottom: Black 1pt solid; font-weight: bold; text-align: left">&nbsp;</td> <td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid">&nbsp;</td> <td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; text-align: left">&nbsp;</td> <td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; text-align: right"><div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: right"><div style="display: inline; font-weight: bold;">Weighted-Average Grant-Date Fair Value per Share</div></div></td> <td style="border-top: Black 1pt solid; white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="width: 68%">Balance at January 31, 2018</td> <td style="width: 2%">&nbsp;</td> <td style="width: 1%; text-align: left">&nbsp;</td> <td style="width: 12%; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">276,067</div></td> <td style="white-space: nowrap; width: 1%; text-align: left">&nbsp;</td> <td style="width: 2%">&nbsp;</td> <td style="width: 1%; text-align: left">$</td> <td style="width: 12%; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">4.98</div></td> <td style="white-space: nowrap; width: 1%; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: White"> <td style="padding-left: 12pt">Granted</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">272,144</div></td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> <td>&nbsp;</td> <td style="text-align: left">$</td> <td style="text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">7.10</div></td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="padding-left: 12pt">Vested</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">(219,043</div></td> <td style="white-space: nowrap; text-align: left">)</td> <td>&nbsp;</td> <td style="text-align: left">$</td> <td style="text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">5.56</div></td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: White"> <td style="padding-bottom: 1pt; padding-left: 12pt">Forfeited</td> <td>&nbsp;</td> <td style="border-bottom: Black 1pt solid; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">(3,950</div></td> <td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">)</td> <td style="border-bottom: Black 1pt solid">&nbsp;</td> <td style="border-bottom: Black 1pt solid; text-align: left">$</td> <td style="border-bottom: Black 1pt solid; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">6.41</div></td> <td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td>Balance at January 31, 2019</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">325,218</div></td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> <td>&nbsp;</td> <td style="text-align: left">$</td> <td style="text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">6.18</div></td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: White"> <td style="padding-left: 12pt">Granted</td> <td style="font-weight: bold">&nbsp;</td> <td style="font-weight: bold; text-align: left">&nbsp;</td> <td style="font-weight: bold; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">367,173</div></td> <td style="white-space: nowrap; font-weight: bold; text-align: left">&nbsp;</td> <td style="font-weight: bold">&nbsp;</td> <td style="font-weight: bold; text-align: left">$</td> <td style="font-weight: bold; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">8.99</div></td> <td style="white-space: nowrap; font-weight: bold; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="padding-left: 12pt">Vested</td> <td style="font-weight: bold">&nbsp;</td> <td style="font-weight: bold; text-align: left">&nbsp;</td> <td style="font-weight: bold; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">(259,269</div></td> <td style="white-space: nowrap; font-weight: bold; text-align: left">)</td> <td style="font-weight: bold">&nbsp;</td> <td style="font-weight: bold; text-align: left">$</td> <td style="font-weight: bold; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">6.96</div></td> <td style="white-space: nowrap; font-weight: bold; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: White"> <td style="padding-bottom: 1pt; padding-left: 12pt">Forfeited</td> <td style="font-weight: bold">&nbsp;</td> <td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">(23,469</div></td> <td style="white-space: nowrap; border-bottom: Black 1pt solid; font-weight: bold; text-align: left">)</td> <td style="font-weight: bold; border-bottom: Black 1pt solid">&nbsp;</td> <td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: left">$</td> <td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">7.69</div></td> <td style="white-space: nowrap; border-bottom: Black 1pt solid; font-weight: bold; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="padding-bottom: 1pt">Balance at January 31, 2020</td> <td style="font-weight: bold">&nbsp;</td> <td style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">409,653</div></td> <td style="border-bottom: Black 1.5pt solid; white-space: nowrap; font-weight: bold; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1.5pt solid; font-weight: bold">&nbsp;</td> <td style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: left">$</td> <td style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">8.03</div></td> <td style="border-bottom: Black 1.5pt solid; white-space: nowrap; font-weight: bold; text-align: left">&nbsp;</td> </tr> </table></div><span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationPerformanceSharesAwardOutstandingActivityTableTextBlock', window );">Share-based Payment Arrangement, Performance Shares, Outstanding Activity [Table Text Block]</a></td>
<td class="text"><div style="display: inline; font-family: times new roman; font-size: 10pt"><table cellpadding="0" cellspacing="0" style="border-collapse: collapse; font: 10pt Times New Roman, Times, Serif; min-; min-width: 700px;"> <tr style="vertical-align: bottom; background-color: White"> <td style="text-align: center; padding-bottom: 1pt">&nbsp;</td> <td style="font-weight: bold">&nbsp;</td> <td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; font-weight: bold; text-align: left">&nbsp;</td> <td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; font-weight: bold; text-align: right"><div style="display: inline; font-family: Times New Roman, Times, Serif; font-size: 10pt"><div style="display: inline; font-weight: bold;">Number of PSUs Outstanding</div></div></td> <td style="border-top: Black 1pt solid; white-space: nowrap; border-bottom: Black 1pt solid; font-weight: bold; text-align: left">&nbsp;</td> <td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid">&nbsp;</td> <td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; text-align: left">&nbsp;</td> <td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; text-align: right"><div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: right"><div style="display: inline; font-weight: bold;">Weighted-</div></div> <div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: right"><div style="display: inline; font-weight: bold;">Average Granted Date Fair Value</div></div></td> <td style="border-top: Black 1pt solid; white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&nbsp;</td> <td style="border-top: Black 1pt solid; font-weight: bold; border-bottom: Black 1pt solid">&nbsp;</td> <td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; font-weight: bold; text-align: left">&nbsp;</td> <td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; font-weight: bold; text-align: right"><div style="display: inline; font-family: Times New Roman, Times, Serif; font-size: 10pt"><div style="display: inline; font-weight: bold;">Weighted- Average Remaining Contractual Life (years)</div></div></td> <td style="border-top: Black 1pt solid; white-space: nowrap; border-bottom: Black 1pt solid; font-weight: bold; text-align: left">&nbsp;</td> <td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid">&nbsp;</td> <td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; text-align: left">&nbsp;</td> <td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; text-align: right"><div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: right"><div style="display: inline; font-weight: bold;">Aggregate Intrinsic</div></div> <div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: right"><div style="display: inline; font-weight: bold;">Value</div></div> <div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: right"><div style="display: inline; font-weight: bold;">(in millions)</div></div></td> <td style="border-top: Black 1pt solid; white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="width: 52%">Balance at January 31, 2018</td> <td style="width: 1%">&nbsp;</td> <td style="width: 1%; text-align: left">&nbsp;</td> <td style="width: 9%; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">440,520</div></td> <td style="white-space: nowrap; width: 1%; text-align: left">&nbsp;</td> <td style="width: 1%">&nbsp;</td> <td style="width: 1%; text-align: left">$</td> <td style="width: 9%; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">15.91</div></td> <td style="white-space: nowrap; width: 1%; text-align: left">&nbsp;</td> <td style="width: 1%">&nbsp;</td> <td style="width: 1%; text-align: left">&nbsp;</td> <td style="width: 9%; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">6.1</div></td> <td style="white-space: nowrap; width: 1%; text-align: left">&nbsp;</td> <td style="width: 1%">&nbsp;</td> <td style="width: 1%; text-align: left">&nbsp;</td> <td style="width: 9%; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">11.9</div></td> <td style="white-space: nowrap; width: 1%; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: White"> <td style="padding-left: 12.25pt">Granted</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">54,351</div></td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> <td>&nbsp;</td> <td style="text-align: left">$</td> <td style="text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">35.23</div></td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">&nbsp;</div></td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">&nbsp;</div></td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="text-align: left; padding-bottom: 1pt; padding-left: 12.25pt">Performance units issued</td> <td>&nbsp;</td> <td style="border-bottom: Black 1pt solid; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">35,512</div></td> <td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid">&nbsp;</td> <td style="border-bottom: Black 1pt solid; text-align: left">$</td> <td style="border-bottom: Black 1pt solid; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">19.59</div></td> <td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid">&nbsp;</td> <td style="border-bottom: Black 1pt solid; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">&nbsp;</div></td> <td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid">&nbsp;</td> <td style="border-bottom: Black 1pt solid; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">&nbsp;</div></td> <td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: White"> <td>Balance at January 31, 2019</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">530,383</div></td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> <td>&nbsp;</td> <td style="text-align: left">$</td> <td style="text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">18.02</div></td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">5.5</div></td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">16.6</div></td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="padding-left: 12.25pt">Granted</td> <td style="font-weight: bold">&nbsp;</td> <td style="font-weight: bold; text-align: left">&nbsp;</td> <td style="font-weight: bold; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">53,729</div></td> <td style="white-space: nowrap; font-weight: bold; text-align: left">&nbsp;</td> <td style="font-weight: bold">&nbsp;</td> <td style="font-weight: bold; text-align: left">$</td> <td style="font-weight: bold; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">53.65</div></td> <td style="white-space: nowrap; font-weight: bold; text-align: left">&nbsp;</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">&nbsp;</div></td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">&nbsp;</div></td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: White"> <td style="text-align: left; padding-bottom: 1pt; padding-left: 12.25pt">Performance units issued</td> <td style="font-weight: bold">&nbsp;</td> <td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">45,762</div></td> <td style="white-space: nowrap; border-bottom: Black 1pt solid; font-weight: bold; text-align: left">&nbsp;</td> <td style="font-weight: bold; border-bottom: Black 1pt solid">&nbsp;</td> <td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: left">$</td> <td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">23.24</div></td> <td style="white-space: nowrap; border-bottom: Black 1pt solid; font-weight: bold; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid">&nbsp;</td> <td style="border-bottom: Black 1pt solid; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">&nbsp;</div></td> <td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid">&nbsp;</td> <td style="border-bottom: Black 1pt solid; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">&nbsp;</div></td> <td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="padding-bottom: 1pt">Balance at January 31, 2020</td> <td style="font-weight: bold">&nbsp;</td> <td style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">629,874</div></td> <td style="border-bottom: Black 1.5pt solid; white-space: nowrap; font-weight: bold; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1.5pt solid; font-weight: bold">&nbsp;</td> <td style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: left">$</td> <td style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">21.19</div></td> <td style="border-bottom: Black 1.5pt solid; white-space: nowrap; font-weight: bold; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1.5pt solid; font-weight: bold">&nbsp;</td> <td style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">5.0</div></td> <td style="border-bottom: Black 1.5pt solid; white-space: nowrap; font-weight: bold; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1.5pt solid; font-weight: bold">&nbsp;</td> <td style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">28.2</div></td> <td style="border-bottom: Black 1.5pt solid; white-space: nowrap; font-weight: bold; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: White"> <td>&nbsp;</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right">&nbsp;</td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right">&nbsp;</td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right">&nbsp;</td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right">&nbsp;</td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="text-align: left; padding-bottom: 1pt">Vested or expected to vest at January 31, 2020</td> <td style="font-weight: bold">&nbsp;</td> <td style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">629,874</div></td> <td style="border-bottom: Black 1.5pt solid; white-space: nowrap; font-weight: bold; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1.5pt solid; font-weight: bold">&nbsp;</td> <td style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: left">$</td> <td style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">21.19</div></td> <td style="border-bottom: Black 1.5pt solid; white-space: nowrap; font-weight: bold; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1.5pt solid; font-weight: bold">&nbsp;</td> <td style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">5.0</div></td> <td style="border-bottom: Black 1.5pt solid; white-space: nowrap; font-weight: bold; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1.5pt solid; font-weight: bold">&nbsp;</td> <td style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">28.2</div></td> <td style="border-bottom: Black 1.5pt solid; white-space: nowrap; font-weight: bold; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: White"> <td>&nbsp;</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right">&nbsp;</td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right">&nbsp;</td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right">&nbsp;</td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right">&nbsp;</td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="padding-bottom: 1pt">Exercisable at January 31, 2020</td> <td style="font-weight: bold">&nbsp;</td> <td style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">521,794</div></td> <td style="border-bottom: Black 1.5pt solid; white-space: nowrap; font-weight: bold; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1.5pt solid; font-weight: bold">&nbsp;</td> <td style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: left">$</td> <td style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">16.45</div></td> <td style="border-bottom: Black 1.5pt solid; white-space: nowrap; font-weight: bold; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1.5pt solid; font-weight: bold">&nbsp;</td> <td style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">4.3</div></td> <td style="border-bottom: Black 1.5pt solid; white-space: nowrap; font-weight: bold; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1.5pt solid; font-weight: bold">&nbsp;</td> <td style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">23.4</div></td> <td style="border-bottom: Black 1.5pt solid; white-space: nowrap; font-weight: bold; text-align: left">&nbsp;</td> </tr> </table></div><span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ScheduleOfSharebasedCompensationRestrictedStockAndRestrictedStockUnitsActivityTableTextBlock', window );">Share-based Payment Arrangement, Restricted Stock and Restricted Stock Unit, Activity [Table Text Block]</a></td>
<td class="text"><div style="display: inline; font-family: times new roman; font-size: 10pt"><table cellpadding="0" cellspacing="0" style="border-collapse: collapse; font: 10pt Times New Roman, Times, Serif; min-; min-width: 700px;"> <tr style="vertical-align: bottom; background-color: White"> <td style="text-align: center; padding-bottom: 1pt">&nbsp;</td> <td style="font-weight: bold">&nbsp;</td> <td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; font-weight: bold; text-align: left">&nbsp;</td> <td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; font-weight: bold; text-align: right"><div style="display: inline; font-family: Times New Roman, Times, Serif; font-size: 10pt"><div style="display: inline; font-weight: bold;">Number of RSUs Outstanding</div></div></td> <td style="border-top: Black 1pt solid; white-space: nowrap; border-bottom: Black 1pt solid; font-weight: bold; text-align: left">&nbsp;</td> <td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid">&nbsp;</td> <td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; text-align: left">&nbsp;</td> <td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; text-align: right"><div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: right"><div style="display: inline; font-weight: bold;">Weighted-</div></div> <div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: right"><div style="display: inline; font-weight: bold;">Average Granted Date Fair Value</div></div></td> <td style="border-top: Black 1pt solid; white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&nbsp;</td> <td style="border-top: Black 1pt solid; font-weight: bold; border-bottom: Black 1pt solid">&nbsp;</td> <td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; font-weight: bold; text-align: left">&nbsp;</td> <td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; font-weight: bold; text-align: right"><div style="display: inline; font-family: Times New Roman, Times, Serif; font-size: 10pt"><div style="display: inline; font-weight: bold;">Weighted- Average Remaining Contractual Life (years)</div></div></td> <td style="border-top: Black 1pt solid; white-space: nowrap; border-bottom: Black 1pt solid; font-weight: bold; text-align: left">&nbsp;</td> <td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid">&nbsp;</td> <td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; text-align: left">&nbsp;</td> <td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; text-align: right"><div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: right"><div style="display: inline; font-weight: bold;">Aggregate Intrinsic</div></div> <div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: right"><div style="display: inline; font-weight: bold;">Value</div></div> <div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: right"><div style="display: inline; font-weight: bold;">(in millions)</div></div></td> <td style="border-top: Black 1pt solid; white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="width: 52%">Balance at January 31, 2018</td> <td style="width: 1%">&nbsp;</td> <td style="width: 1%; text-align: left">&nbsp;</td> <td style="width: 9%; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">299,020</div></td> <td style="white-space: nowrap; width: 1%; text-align: left">&nbsp;</td> <td style="width: 1%">&nbsp;</td> <td style="width: 1%; text-align: left">$</td> <td style="width: 9%; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">12.80</div></td> <td style="white-space: nowrap; width: 1%; text-align: left">&nbsp;</td> <td style="width: 1%">&nbsp;</td> <td style="width: 1%; text-align: left">&nbsp;</td> <td style="width: 9%; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">6.1</div></td> <td style="white-space: nowrap; width: 1%; text-align: left">&nbsp;</td> <td style="width: 1%">&nbsp;</td> <td style="width: 1%; text-align: left">&nbsp;</td> <td style="width: 9%; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">8.1</div></td> <td style="white-space: nowrap; width: 1%; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: White"> <td style="padding-bottom: 1pt; padding-left: 12.25pt">Granted</td> <td>&nbsp;</td> <td style="border-bottom: Black 1pt solid; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">38,046</div></td> <td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid">&nbsp;</td> <td style="border-bottom: Black 1pt solid; text-align: left">$</td> <td style="border-bottom: Black 1pt solid; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">27.96</div></td> <td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid">&nbsp;</td> <td style="border-bottom: Black 1pt solid; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">&nbsp;</div></td> <td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid">&nbsp;</td> <td style="border-bottom: Black 1pt solid; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">&nbsp;</div></td> <td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td>Balance at January 31, 2019</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">337,066</div></td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> <td>&nbsp;</td> <td style="text-align: left">$</td> <td style="text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">14.42</div></td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">5.6</div></td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">10.6</div></td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: White"> <td style="padding-bottom: 1pt; padding-left: 12.25pt">Granted</td> <td style="font-weight: bold">&nbsp;</td> <td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">37,611</div></td> <td style="white-space: nowrap; border-bottom: Black 1pt solid; font-weight: bold; text-align: left">&nbsp;</td> <td style="font-weight: bold; border-bottom: Black 1pt solid">&nbsp;</td> <td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: left">$</td> <td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">38.04</div></td> <td style="white-space: nowrap; border-bottom: Black 1pt solid; font-weight: bold; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid">&nbsp;</td> <td style="border-bottom: Black 1pt solid; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">&nbsp;</div></td> <td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid">&nbsp;</td> <td style="border-bottom: Black 1pt solid; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">&nbsp;</div></td> <td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="padding-bottom: 1pt">Balance at January 31, 2020</td> <td style="font-weight: bold">&nbsp;</td> <td style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">374,677</div></td> <td style="border-bottom: Black 1.5pt solid; white-space: nowrap; font-weight: bold; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1.5pt solid; font-weight: bold">&nbsp;</td> <td style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: left">$</td> <td style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">16.57</div></td> <td style="border-bottom: Black 1.5pt solid; white-space: nowrap; font-weight: bold; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1.5pt solid; font-weight: bold">&nbsp;</td> <td style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">5.0</div></td> <td style="border-bottom: Black 1.5pt solid; white-space: nowrap; font-weight: bold; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1.5pt solid; font-weight: bold">&nbsp;</td> <td style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">16.8</div></td> <td style="border-bottom: Black 1.5pt solid; white-space: nowrap; font-weight: bold; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: White"> <td>&nbsp;</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right">&nbsp;</td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right">&nbsp;</td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right">&nbsp;</td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right">&nbsp;</td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="text-align: left; padding-bottom: 1pt">Vested or expected to vest at January 31, 2020</td> <td style="font-weight: bold">&nbsp;</td> <td style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">374,677</div></td> <td style="border-bottom: Black 1.5pt solid; white-space: nowrap; font-weight: bold; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1.5pt solid; font-weight: bold">&nbsp;</td> <td style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: left">$</td> <td style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">16.57</div></td> <td style="border-bottom: Black 1.5pt solid; white-space: nowrap; font-weight: bold; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1.5pt solid; font-weight: bold">&nbsp;</td> <td style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">5.0</div></td> <td style="border-bottom: Black 1.5pt solid; white-space: nowrap; font-weight: bold; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1.5pt solid; font-weight: bold">&nbsp;</td> <td style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">16.8</div></td> <td style="border-bottom: Black 1.5pt solid; white-space: nowrap; font-weight: bold; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: White"> <td>&nbsp;</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right">&nbsp;</td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right">&nbsp;</td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right">&nbsp;</td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right">&nbsp;</td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="padding-bottom: 1pt">Exercisable at January 31, 2020</td> <td style="font-weight: bold">&nbsp;</td> <td style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">336,921</div></td> <td style="border-bottom: Black 1.5pt solid; white-space: nowrap; font-weight: bold; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1.5pt solid; font-weight: bold">&nbsp;</td> <td style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: left">$</td> <td style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">14.56</div></td> <td style="border-bottom: Black 1.5pt solid; white-space: nowrap; font-weight: bold; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1.5pt solid; font-weight: bold">&nbsp;</td> <td style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">4.6</div></td> <td style="border-bottom: Black 1.5pt solid; white-space: nowrap; font-weight: bold; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1.5pt solid; font-weight: bold">&nbsp;</td> <td style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">15.1</div></td> <td style="border-bottom: Black 1.5pt solid; white-space: nowrap; font-weight: bold; text-align: left">&nbsp;</td> </tr> </table></div><span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_dsgx_ScheduleOfCashSettledRestrictedShareUnitPlanActivityTableTextBlock', window );">Schedule Of Cash Settled Restricted Share Unit Plan Activity [Table Text Block]</a></td>
<td class="text"><div style="display: inline; font-family: times new roman; font-size: 10pt"><table cellpadding="0" cellspacing="0" style="border-collapse: collapse; font: 10pt Times New Roman, Times, Serif; min-; min-width: 700px;"> <tr style="vertical-align: bottom; background-color: White"> <td style="text-align: center; padding-bottom: 1pt">&nbsp;</td> <td style="font-weight: bold">&nbsp;</td> <td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; font-weight: bold; text-align: left">&nbsp;</td> <td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; font-weight: bold; text-align: right"><div style="display: inline; font-family: Times New Roman, Times, Serif; font-size: 10pt"><div style="display: inline; font-weight: bold;">Number of CRSUs Outstanding</div></div></td> <td style="border-top: Black 1pt solid; white-space: nowrap; border-bottom: Black 1pt solid; font-weight: bold; text-align: left">&nbsp;</td> <td style="border-top: Black 1pt solid; font-weight: bold; border-bottom: Black 1pt solid">&nbsp;</td> <td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; font-weight: bold; text-align: left">&nbsp;</td> <td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; font-weight: bold; text-align: right"><div style="display: inline; font-family: Times New Roman, Times, Serif; font-size: 10pt"><div style="display: inline; font-weight: bold;">Weighted- Average Remaining Contractual Life (years)</div></div></td> <td style="border-top: Black 1pt solid; white-space: nowrap; border-bottom: Black 1pt solid; font-weight: bold; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="width: 68%">Balance at January 31, 2018</td> <td style="width: 2%">&nbsp;</td> <td style="width: 1%; text-align: left">&nbsp;</td> <td style="width: 12%; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">58,171</div></td> <td style="white-space: nowrap; width: 1%; text-align: left">&nbsp;</td> <td style="width: 2%">&nbsp;</td> <td style="width: 1%; text-align: left">&nbsp;</td> <td style="width: 12%; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">1.5</div></td> <td style="white-space: nowrap; width: 1%; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: White"> <td style="padding-left: 12.25pt">Granted</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">32,261</div></td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">&nbsp;</div></td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="text-align: left; padding-bottom: 1pt; padding-left: 12.25pt">Vested and settled in cash</td> <td>&nbsp;</td> <td style="border-bottom: Black 1pt solid; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">(45,369</div></td> <td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">)</td> <td style="border-bottom: Black 1pt solid">&nbsp;</td> <td style="border-bottom: Black 1pt solid; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">&nbsp;</div></td> <td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: White"> <td>Balance at January 31, 2019</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">45,063</div></td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">1.6</div></td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="padding-left: 12pt">Granted</td> <td style="font-weight: bold">&nbsp;</td> <td style="font-weight: bold; text-align: left">&nbsp;</td> <td style="font-weight: bold; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">30,086</div></td> <td style="white-space: nowrap; font-weight: bold; text-align: left">&nbsp;</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">&nbsp;</div></td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: White"> <td style="text-align: left; padding-bottom: 1pt; padding-left: 12pt">Vested and settled in cash</td> <td style="font-weight: bold">&nbsp;</td> <td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">(32,422</div></td> <td style="white-space: nowrap; border-bottom: Black 1pt solid; font-weight: bold; text-align: left">)</td> <td style="border-bottom: Black 1pt solid">&nbsp;</td> <td style="border-bottom: Black 1pt solid; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">&nbsp;</div></td> <td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="padding-bottom: 1pt">Balance at January 31, 2020</td> <td style="font-weight: bold">&nbsp;</td> <td style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">42,727</div></td> <td style="border-bottom: Black 1.5pt solid; white-space: nowrap; font-weight: bold; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1.5pt solid; font-weight: bold">&nbsp;</td> <td style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">1.6</div></td> <td style="border-bottom: Black 1.5pt solid; white-space: nowrap; font-weight: bold; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: White"> <td>&nbsp;</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right">&nbsp;</td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right">&nbsp;</td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="padding-bottom: 1pt">Non-vested at January 31, 2020</td> <td style="font-weight: bold">&nbsp;</td> <td style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">42,727</div></td> <td style="border-bottom: Black 1.5pt solid; white-space: nowrap; font-weight: bold; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1.5pt solid; font-weight: bold">&nbsp;</td> <td style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">1.6</div></td> <td style="border-bottom: Black 1.5pt solid; white-space: nowrap; font-weight: bold; text-align: left">&nbsp;</td> </tr> </table></div><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dsgx_ScheduleOfCashSettledRestrictedShareUnitPlanActivityTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Schedule of cash settled under restricted share units.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dsgx_ScheduleOfCashSettledRestrictedShareUnitPlanActivityTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dsgx_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>nonnum:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of allocation of amount expensed and capitalized for award under share-based payment arrangement to statement of income or comprehensive income and statement of financial position. Includes, but is not limited to, corresponding line item in financial statement.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (h)(1)<br> -URI http://asc.fasb.org/extlink&amp;oid=116856206&amp;loc=d3e5070-113901<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB Topic 14.F)<br> -URI http://asc.fasb.org/extlink&amp;oid=115993241&amp;loc=d3e301413-122809<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=116856206&amp;loc=d3e5047-113901<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>nonnum:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ScheduleOfNonvestedShareActivityTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of the changes in outstanding nonvested shares.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(2)<br> -URI http://asc.fasb.org/extlink&amp;oid=116856206&amp;loc=d3e5070-113901<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ScheduleOfNonvestedShareActivityTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>nonnum:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ScheduleOfShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of option exercise prices, by grouped ranges, including the upper and lower limits of the price range, the number of shares under option, weighted average exercise price and remaining contractual option terms.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -URI http://asc.fasb.org/extlink&amp;oid=116856206&amp;loc=d3e5070-113901<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ScheduleOfShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>nonnum:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure for stock option plans. Includes, but is not limited to, outstanding awards at beginning and end of year, grants, exercises, forfeitures, and weighted-average grant date fair value.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (d)<br> -URI http://asc.fasb.org/extlink&amp;oid=116856206&amp;loc=d3e5070-113901<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (e)<br> -URI http://asc.fasb.org/extlink&amp;oid=116856206&amp;loc=d3e5070-113901<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)<br> -URI http://asc.fasb.org/extlink&amp;oid=116856206&amp;loc=d3e5070-113901<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>nonnum:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of the significant assumptions used during the year to estimate the fair value of stock options, including, but not limited to: (a) expected term of share options and similar instruments, (b) expected volatility of the entity's shares, (c) expected dividends, (d) risk-free rate(s), and (e) discount for post-vesting restrictions.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (f)(2)<br> -URI http://asc.fasb.org/extlink&amp;oid=116856206&amp;loc=d3e5070-113901<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>nonnum:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ScheduleOfSharebasedCompensationRestrictedStockAndRestrictedStockUnitsActivityTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Disclosure of the number and weighted-average grant date fair value for restricted stock and restricted stock units that were outstanding at the beginning and end of the year, and the number of restricted stock and restricted stock units that were granted, vested, or forfeited during the year.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ScheduleOfSharebasedCompensationRestrictedStockAndRestrictedStockUnitsActivityTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>nonnum:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationPerformanceSharesAwardOutstandingActivityTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of the number and weighted-average grant date fair value for outstanding performance shares.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)<br> -URI http://asc.fasb.org/extlink&amp;oid=116856206&amp;loc=d3e5070-113901<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationPerformanceSharesAwardOutstandingActivityTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>nonnum:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_TableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_TableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>47
<FILENAME>R41.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.20.1</span><table class="report" border="0" cellspacing="2" id="idp6891893232">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Note 12 - Debt (Tables)<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Jan. 31, 2020</div></th></tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_TableTextBlock', window );"><strong>Notes Tables</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ScheduleOfDebtInstrumentsTextBlock', window );">Schedule of Long-term Debt Instruments [Table Text Block]</a></td>
<td class="text"><div style="display: inline; font-family: times new roman; font-size: 10pt"><table cellpadding="0" cellspacing="0" style="border-collapse: collapse; font: 10pt Times New Roman, Times, Serif; min-; min-width: 700px;"> <tr style="vertical-align: bottom; background-color: White"> <td style="text-align: right">&nbsp;</td> <td style="font-weight: bold">&nbsp;</td> <td style="border-top: Black 1pt solid; font-weight: bold; text-align: left">&nbsp;</td> <td style="border-top: Black 1pt solid; font-weight: bold; text-align: right"><div style="display: inline; font-family: Times New Roman, Times, Serif; font-size: 10pt"><div style="display: inline; font-weight: bold;">January 31,</div></div></td> <td style="border-top: Black 1pt solid; white-space: nowrap; font-weight: bold; text-align: left">&nbsp;</td> <td style="border-top: Black 1pt solid">&nbsp;</td> <td style="border-top: Black 1pt solid; text-align: left">&nbsp;</td> <td style="border-top: Black 1pt solid; text-align: right"><div style="display: inline; font-family: Times New Roman, Times, Serif; font-size: 10pt">January 31,</div></td> <td style="border-top: Black 1pt solid; white-space: nowrap; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: White"> <td style="text-align: right; padding-bottom: 1pt">&nbsp;</td> <td style="font-weight: bold">&nbsp;</td> <td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: right">2020</td> <td style="white-space: nowrap; border-bottom: Black 1pt solid; font-weight: bold; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid">&nbsp;</td> <td style="border-bottom: Black 1pt solid; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid; text-align: right">2019</td> <td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="width: 68%; text-align: left; padding-bottom: 1pt">Credit facility</td> <td style="width: 2%; font-weight: bold">&nbsp;</td> <td style="width: 1%; border-bottom: Black 1pt solid; font-weight: bold; text-align: left">&nbsp;</td> <td style="width: 12%; border-bottom: Black 1pt solid; font-weight: bold; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">&#x2013;</div></td> <td style="white-space: nowrap; width: 1%; border-bottom: Black 1pt solid; font-weight: bold; text-align: left">&nbsp;</td> <td style="width: 2%; border-bottom: Black 1pt solid">&nbsp;</td> <td style="width: 1%; border-bottom: Black 1pt solid; text-align: left">&nbsp;</td> <td style="width: 12%; border-bottom: Black 1pt solid; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">25,464</div></td> <td style="white-space: nowrap; width: 1%; border-bottom: Black 1pt solid; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: White"> <td>&nbsp;</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right">&nbsp;</td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right">&nbsp;</td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="text-align: left; padding-bottom: 1pt">Available for use</td> <td style="font-weight: bold">&nbsp;</td> <td style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">350,000</div></td> <td style="border-bottom: Black 1.5pt solid; white-space: nowrap; font-weight: bold; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1.5pt solid">&nbsp;</td> <td style="border-bottom: Black 1.5pt solid; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1.5pt solid; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">324,536</div></td> <td style="border-bottom: Black 1.5pt solid; white-space: nowrap; text-align: left">&nbsp;</td> </tr> </table></div><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ScheduleOfDebtInstrumentsTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of long-debt instruments or arrangements, including identification, terms, features, collateral requirements and other information necessary to a fair presentation. These are debt arrangements that originally required repayment more than twelve months after issuance or greater than the normal operating cycle of the entity, if longer.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.22)<br> -URI http://asc.fasb.org/extlink&amp;oid=6877327&amp;loc=d3e13212-122682<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 835<br> -SubTopic 30<br> -Section 45<br> -Paragraph 1A<br> -URI http://asc.fasb.org/extlink&amp;oid=114775744&amp;loc=d3e28541-108399<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section 50<br> -Paragraph 6<br> -URI http://asc.fasb.org/extlink&amp;oid=109259400&amp;loc=d3e21506-112644<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08.(e),(f))<br> -URI http://asc.fasb.org/extlink&amp;oid=26873400&amp;loc=d3e23780-122690<br><br>Reference 5: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 835<br> -SubTopic 30<br> -Section 45<br> -Paragraph 2<br> -URI http://asc.fasb.org/extlink&amp;oid=114775744&amp;loc=d3e28551-108399<br><br>Reference 6: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section 50<br> -Paragraph 7<br> -URI http://asc.fasb.org/extlink&amp;oid=109259400&amp;loc=d3e21521-112644<br><br>Reference 7: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section 50<br> -Paragraph 8<br> -URI http://asc.fasb.org/extlink&amp;oid=109259400&amp;loc=d3e21538-112644<br><br>Reference 8: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 470<br> -Section 50<br> -Paragraph 3<br> -URI http://asc.fasb.org/extlink&amp;oid=75038535&amp;loc=d3e64711-112823<br><br>Reference 9: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 835<br> -SubTopic 30<br> -Section 55<br> -Paragraph 8<br> -URI http://asc.fasb.org/extlink&amp;oid=114775985&amp;loc=d3e28878-108400<br><br>Reference 10: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -URI http://asc.fasb.org/extlink&amp;oid=109259400&amp;loc=d3e21475-112644<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ScheduleOfDebtInstrumentsTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>nonnum:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_TableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_TableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>48
<FILENAME>R49.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.20.1</span><table class="report" border="0" cellspacing="2" id="idp6909465520">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Note 21 - Supplemental Cash Flow Information (Tables)<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Jan. 31, 2020</div></th></tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_TableTextBlock', window );"><strong>Notes Tables</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ScheduleOfCashFlowSupplementalDisclosuresTableTextBlock', window );">Schedule of Cash Flow, Supplemental Disclosures [Table Text Block]</a></td>
<td class="text"><div style="display: inline; font-family: times new roman; font-size: 10pt"><table style="border-collapse: collapse; font: 10pt Times New Roman, Times, Serif; min-; min-width: 700px;" cellspacing="0" cellpadding="0"> <tr style="vertical-align: bottom; background-color: White"> <td style="font-style: italic">Year Ended</td> <td style="font-weight: bold">&nbsp;</td> <td style="border-top: Black 1pt solid; font-weight: bold; text-align: left">&nbsp;</td> <td style="border-top: Black 1pt solid; font-weight: bold; text-align: right"><div style="display: inline; font-family: Times New Roman, Times, Serif; font-size: 10pt"><div style="display: inline; font-weight: bold;">January 31,</div></div></td> <td style="border-top: Black 1pt solid; white-space: nowrap; font-weight: bold; text-align: left">&nbsp;</td> <td style="border-top: Black 1pt solid">&nbsp;</td> <td style="border-top: Black 1pt solid; text-align: left">&nbsp;</td> <td style="border-top: Black 1pt solid; text-align: right"><div style="display: inline; font-family: Times New Roman, Times, Serif; font-size: 10pt">January 31,</div></td> <td style="border-top: Black 1pt solid; white-space: nowrap; text-align: left">&nbsp;</td> <td style="border-top: Black 1pt solid">&nbsp;</td> <td style="border-top: Black 1pt solid; text-align: left">&nbsp;</td> <td style="border-top: Black 1pt solid; text-align: right"><div style="display: inline; font-family: Times New Roman, Times, Serif; font-size: 10pt">January 31,</div></td> <td style="border-top: Black 1pt solid; white-space: nowrap; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: White"> <td style="padding-bottom: 1pt">&nbsp;</td> <td style="font-weight: bold">&nbsp;</td> <td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: right">2020</td> <td style="white-space: nowrap; border-bottom: Black 1pt solid; font-weight: bold; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid">&nbsp;</td> <td style="border-bottom: Black 1pt solid; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid; text-align: right">2019</td> <td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid">&nbsp;</td> <td style="border-bottom: Black 1pt solid; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid; text-align: right">2018</td> <td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="width: 55%; text-align: left">Trade accounts receivable</td> <td style="width: 2%; font-weight: bold">&nbsp;</td> <td style="width: 1%; font-weight: bold; text-align: left">&nbsp;</td> <td style="width: 11%; font-weight: bold; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">3,733</div></td> <td style="white-space: nowrap; width: 1%; font-weight: bold; text-align: left">&nbsp;</td> <td style="width: 2%">&nbsp;</td> <td style="width: 1%; text-align: left">&nbsp;</td> <td style="width: 11%; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">(135</div></td> <td style="white-space: nowrap; width: 1%; text-align: left">)</td> <td style="width: 2%">&nbsp;</td> <td style="width: 1%; text-align: left">&nbsp;</td> <td style="width: 11%; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">(1,963</div></td> <td style="white-space: nowrap; width: 1%; text-align: left">)</td> </tr> <tr style="vertical-align: bottom; background-color: White"> <td style="text-align: left">Other accounts receivable</td> <td style="font-weight: bold">&nbsp;</td> <td style="font-weight: bold; text-align: left">&nbsp;</td> <td style="font-weight: bold; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">(2,547</div></td> <td style="white-space: nowrap; font-weight: bold; text-align: left">)</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">(451</div></td> <td style="white-space: nowrap; text-align: left">)</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">16</div></td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="text-align: left">Prepaid expenses and other</td> <td style="font-weight: bold">&nbsp;</td> <td style="font-weight: bold; text-align: left">&nbsp;</td> <td style="font-weight: bold; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">(5,942</div></td> <td style="white-space: nowrap; font-weight: bold; text-align: left">)</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">(4,466</div></td> <td style="white-space: nowrap; text-align: left">)</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">(1,772</div></td> <td style="white-space: nowrap; text-align: left">)</td> </tr> <tr style="vertical-align: bottom; background-color: White"> <td>Inventory</td> <td style="font-weight: bold">&nbsp;</td> <td style="font-weight: bold; text-align: left">&nbsp;</td> <td style="font-weight: bold; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">(345</div></td> <td style="white-space: nowrap; font-weight: bold; text-align: left">)</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">74</div></td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">52</div></td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="text-align: left">Accounts payable</td> <td style="font-weight: bold">&nbsp;</td> <td style="font-weight: bold; text-align: left">&nbsp;</td> <td style="font-weight: bold; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">1,768</div></td> <td style="white-space: nowrap; font-weight: bold; text-align: left">&nbsp;</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">(1,065</div></td> <td style="white-space: nowrap; text-align: left">)</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">1,428</div></td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: White"> <td style="text-align: left">Accrued liabilities</td> <td style="font-weight: bold">&nbsp;</td> <td style="font-weight: bold; text-align: left">&nbsp;</td> <td style="font-weight: bold; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">3,265</div></td> <td style="white-space: nowrap; font-weight: bold; text-align: left">&nbsp;</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">2,570</div></td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">(592</div></td> <td style="white-space: nowrap; text-align: left">)</td> </tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="text-align: left">Income taxes payable</td> <td style="font-weight: bold">&nbsp;</td> <td style="font-weight: bold; text-align: left">&nbsp;</td> <td style="font-weight: bold; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">(1,550</div></td> <td style="white-space: nowrap; font-weight: bold; text-align: left">)</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">(2,423</div></td> <td style="white-space: nowrap; text-align: left">)</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">6,326</div></td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: White"> <td style="text-align: left">Operating leases</td> <td style="font-weight: bold">&nbsp;</td> <td style="font-weight: bold; text-align: left">&nbsp;</td> <td style="font-weight: bold; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">546</div></td> <td style="white-space: nowrap; font-weight: bold; text-align: left">&nbsp;</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">&#x2013;</div></td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">&#x2013;</div></td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="text-align: left; padding-bottom: 1pt">Deferred revenue</td> <td style="font-weight: bold">&nbsp;</td> <td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">(4,184</div></td> <td style="white-space: nowrap; border-bottom: Black 1pt solid; font-weight: bold; text-align: left">)</td> <td style="border-bottom: Black 1pt solid">&nbsp;</td> <td style="border-bottom: Black 1pt solid; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">2,047</div></td> <td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid">&nbsp;</td> <td style="border-bottom: Black 1pt solid; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">902</div></td> <td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: White"> <td style="padding-bottom: 1pt">&nbsp;</td> <td style="font-weight: bold">&nbsp;</td> <td style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">(5,256</div></td> <td style="border-bottom: Black 1.5pt solid; white-space: nowrap; font-weight: bold; text-align: left">)</td> <td style="border-bottom: Black 1.5pt solid">&nbsp;</td> <td style="border-bottom: Black 1.5pt solid; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1.5pt solid; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">(3,849</div></td> <td style="border-bottom: Black 1.5pt solid; white-space: nowrap; text-align: left">)</td> <td style="border-bottom: Black 1.5pt solid">&nbsp;</td> <td style="border-bottom: Black 1.5pt solid; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1.5pt solid; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">4,397</div></td> <td style="border-bottom: Black 1.5pt solid; white-space: nowrap; text-align: left">&nbsp;</td> </tr> </table></div><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ScheduleOfCashFlowSupplementalDisclosuresTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of supplemental cash flow information for the periods presented.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ScheduleOfCashFlowSupplementalDisclosuresTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>nonnum:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_TableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_TableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>49
<FILENAME>R28.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.20.1</span><table class="report" border="0" cellspacing="2" id="idp6682154528">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Note 20 - Other Charges<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Jan. 31, 2020</div></th></tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DisclosureTextBlockAbstract', window );"><strong>Notes to Financial Statements</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_OtherIncomeAndOtherExpenseDisclosureTextBlock', window );">Other Income and Other Expense Disclosure [Text Block]</a></td>
<td class="text"><div style="display: inline; font-family: times new roman; font-size: 10pt"><div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"><div style="display: inline; font-weight: bold;">Note <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">20</div> - Other Charges</div></div> <div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0">&nbsp;</div> <div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">Other charges are comprised of acquisition-related costs and restructuring initiatives which have been undertaken from time to time under various restructuring plans. Acquisition-related costs primarily include advisory services, brokerage services, administrative costs and retention bonuses to employees joining by way of an acquisition, and collectively relate to completed and prospective acquisitions.</div> <div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&nbsp;</div> <div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">The following tables shows the components of other charges as follows:</div> <div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&nbsp;</div> <div> <table cellpadding="0" cellspacing="0" style="border-collapse: collapse; font: 10pt Times New Roman, Times, Serif; min-width: 700px;">  <tr style="vertical-align: bottom; background-color: White"> <td style="font-style: italic">Year Ended</td> <td style="font-weight: bold">&nbsp;</td> <td style="border-top: Black 1pt solid; font-weight: bold; text-align: left">&nbsp;</td> <td style="border-top: Black 1pt solid; font-weight: bold; text-align: right"><div style="display: inline; font-family: Times New Roman, Times, Serif; font-size: 10pt"><div style="display: inline; font-weight: bold;">January 31,</div></div></td> <td style="border-top: Black 1pt solid; white-space: nowrap; font-weight: bold; text-align: left">&nbsp;</td> <td style="border-top: Black 1pt solid">&nbsp;</td> <td style="border-top: Black 1pt solid; text-align: left">&nbsp;</td> <td style="border-top: Black 1pt solid; text-align: right"><div style="display: inline; font-family: Times New Roman, Times, Serif; font-size: 10pt">January 31,</div></td> <td style="border-top: Black 1pt solid; white-space: nowrap; text-align: left">&nbsp;</td> <td style="border-top: Black 1pt solid">&nbsp;</td> <td style="border-top: Black 1pt solid; text-align: left">&nbsp;</td> <td style="border-top: Black 1pt solid; text-align: right"><div style="display: inline; font-family: Times New Roman, Times, Serif; font-size: 10pt">January 31,</div></td> <td style="border-top: Black 1pt solid; white-space: nowrap; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: White"> <td style="padding-bottom: 1pt">&nbsp;</td> <td style="font-weight: bold">&nbsp;</td> <td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: right">2020</td> <td style="white-space: nowrap; border-bottom: Black 1pt solid; font-weight: bold; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid">&nbsp;</td> <td style="border-bottom: Black 1pt solid; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid; text-align: right">2019</td> <td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid">&nbsp;</td> <td style="border-bottom: Black 1pt solid; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid; text-align: right">2018</td> <td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="width: 55%; text-align: left">Acquisition-related costs</td> <td style="width: 2%; font-weight: bold">&nbsp;</td> <td style="width: 1%; font-weight: bold; text-align: left">&nbsp;</td> <td style="width: 11%; font-weight: bold; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">3,797</div></td> <td style="white-space: nowrap; width: 1%; font-weight: bold; text-align: left">&nbsp;</td> <td style="width: 2%">&nbsp;</td> <td style="width: 1%; text-align: left">&nbsp;</td> <td style="width: 11%; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">3,778</div></td> <td style="white-space: nowrap; width: 1%; text-align: left">&nbsp;</td> <td style="width: 2%">&nbsp;</td> <td style="width: 1%; text-align: left">&nbsp;</td> <td style="width: 11%; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">3,471</div></td> <td style="white-space: nowrap; width: 1%; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: White"> <td style="text-align: left; padding-bottom: 1pt">Restructuring plans</td> <td style="font-weight: bold">&nbsp;</td> <td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">&#x2013;</div></td> <td style="white-space: nowrap; border-bottom: Black 1pt solid; font-weight: bold; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid">&nbsp;</td> <td style="border-bottom: Black 1pt solid; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">20</div></td> <td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid">&nbsp;</td> <td style="border-bottom: Black 1pt solid; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">523</div></td> <td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="padding-bottom: 1pt">&nbsp;</td> <td style="font-weight: bold">&nbsp;</td> <td style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">3,797</div></td> <td style="border-bottom: Black 1.5pt solid; white-space: nowrap; font-weight: bold; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1.5pt solid">&nbsp;</td> <td style="border-bottom: Black 1.5pt solid; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1.5pt solid; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">3,798</div></td> <td style="border-bottom: Black 1.5pt solid; white-space: nowrap; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1.5pt solid">&nbsp;</td> <td style="border-bottom: Black 1.5pt solid; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1.5pt solid; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">3,994</div></td> <td style="border-bottom: Black 1.5pt solid; white-space: nowrap; text-align: left">&nbsp;</td> </tr>  </table> </div></div><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DisclosureTextBlockAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DisclosureTextBlockAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OtherIncomeAndOtherExpenseDisclosureTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The entire disclosure for other income or other expense items (both operating and nonoperating). Sources of nonoperating income or nonoperating expense that may be disclosed, include amounts earned from dividends, interest on securities, profits (losses) on securities, net and miscellaneous other income or income deductions.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 720<br> -URI http://asc.fasb.org/topic&amp;trid=2122503<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 610<br> -URI http://asc.fasb.org/topic&amp;trid=49130413<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OtherIncomeAndOtherExpenseDisclosureTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>nonnum:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>50
<FILENAME>R20.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.20.1</span><table class="report" border="0" cellspacing="2" id="idp6902041136">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Note 12 - Debt<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Jan. 31, 2020</div></th></tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DisclosureTextBlockAbstract', window );"><strong>Notes to Financial Statements</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DebtDisclosureTextBlock', window );">Debt Disclosure [Text Block]</a></td>
<td class="text"><div style="display: inline; font-family: times new roman; font-size: 10pt"><div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"><div style="display: inline; font-weight: bold;">Note <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">12</div> - Debt</div></div> <div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&nbsp;</div> <div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">On <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"> January 25, 2019, </div>we amended and increased our existing <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">$150.0</div> million senior secured revolving credit facility. The amended facility is now a <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">$350.0</div> million revolving operating credit facility to be available for general corporate purposes, including the financing of ongoing working capital needs and acquisitions. With the approval of the lenders, the credit facility can be expanded to a total of <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">$500.0</div> million. The credit facility has a <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">five</div>-year maturity with <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">no</div> fixed repayment dates prior to the end of the <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">five</div>-year term ending <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"> January 2024. </div>Borrowings under the credit facility are secured by a <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">first</div> charge over substantially all of Descartes&#x2019; assets. Depending on the type of advance, interest rates under the revolving operating portion of the credit facility are based on the Canada or US prime rate, Bankers&#x2019; Acceptance (BA) or London Interbank Offered Rate (LIBOR) plus an additional <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">0</div> to <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">250</div> basis points based on the ratio of net debt to adjusted earnings before interest, taxes, depreciation and amortization, as defined in the credit agreement. A standby fee of between <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">20</div> to <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">40</div> basis points will be charged on all undrawn amounts. The credit facility contains certain customary representations, warranties and guarantees, and covenants.</div> <div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&nbsp;</div> <div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">Long-term debt is comprised of the following:</div> <div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&nbsp;</div> <div> <table cellpadding="0" cellspacing="0" style="border-collapse: collapse; font: 10pt Times New Roman, Times, Serif; min-width: 700px;">  <tr style="vertical-align: bottom; background-color: White"> <td style="text-align: right">&nbsp;</td> <td style="font-weight: bold">&nbsp;</td> <td style="border-top: Black 1pt solid; font-weight: bold; text-align: left">&nbsp;</td> <td style="border-top: Black 1pt solid; font-weight: bold; text-align: right"><div style="display: inline; font-family: Times New Roman, Times, Serif; font-size: 10pt"><div style="display: inline; font-weight: bold;">January 31,</div></div></td> <td style="border-top: Black 1pt solid; white-space: nowrap; font-weight: bold; text-align: left">&nbsp;</td> <td style="border-top: Black 1pt solid">&nbsp;</td> <td style="border-top: Black 1pt solid; text-align: left">&nbsp;</td> <td style="border-top: Black 1pt solid; text-align: right"><div style="display: inline; font-family: Times New Roman, Times, Serif; font-size: 10pt">January 31,</div></td> <td style="border-top: Black 1pt solid; white-space: nowrap; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: White"> <td style="text-align: right; padding-bottom: 1pt">&nbsp;</td> <td style="font-weight: bold">&nbsp;</td> <td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: right">2020</td> <td style="white-space: nowrap; border-bottom: Black 1pt solid; font-weight: bold; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid">&nbsp;</td> <td style="border-bottom: Black 1pt solid; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid; text-align: right">2019</td> <td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="width: 68%; text-align: left; padding-bottom: 1pt">Credit facility</td> <td style="width: 2%; font-weight: bold">&nbsp;</td> <td style="width: 1%; border-bottom: Black 1pt solid; font-weight: bold; text-align: left">&nbsp;</td> <td style="width: 12%; border-bottom: Black 1pt solid; font-weight: bold; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">&#x2013;</div></td> <td style="white-space: nowrap; width: 1%; border-bottom: Black 1pt solid; font-weight: bold; text-align: left">&nbsp;</td> <td style="width: 2%; border-bottom: Black 1pt solid">&nbsp;</td> <td style="width: 1%; border-bottom: Black 1pt solid; text-align: left">&nbsp;</td> <td style="width: 12%; border-bottom: Black 1pt solid; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">25,464</div></td> <td style="white-space: nowrap; width: 1%; border-bottom: Black 1pt solid; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: White"> <td>&nbsp;</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right">&nbsp;</td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right">&nbsp;</td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="text-align: left; padding-bottom: 1pt">Available for use</td> <td style="font-weight: bold">&nbsp;</td> <td style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">350,000</div></td> <td style="border-bottom: Black 1.5pt solid; white-space: nowrap; font-weight: bold; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1.5pt solid">&nbsp;</td> <td style="border-bottom: Black 1.5pt solid; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1.5pt solid; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">324,536</div></td> <td style="border-bottom: Black 1.5pt solid; white-space: nowrap; text-align: left">&nbsp;</td> </tr>  </table> </div> <div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&nbsp;</div> <div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">We were in compliance with the covenants of the credit facility as of <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"> January 31, 2020.</div></div> <div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&nbsp;</div> <div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">As at <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"> January 31, 2020, </div>we had outstanding letters of credit of approximately <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">$0.2</div> million (<div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">$0.2</div> million as at <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"> January 31, 2019), </div>which were <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">not</div> related to our credit facility.</div></div><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DebtDisclosureTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The entire disclosure for information about short-term and long-term debt arrangements, which includes amounts of borrowings under each line of credit, note payable, commercial paper issue, bonds indenture, debenture issue, own-share lending arrangements and any other contractual agreement to repay funds, and about the underlying arrangements, rationale for a classification as long-term, including repayment terms, interest rates, collateral provided, restrictions on use of assets and activities, whether or not in compliance with debt covenants, and other matters important to users of the financial statements, such as the effects of refinancing and noncompliance with debt covenants.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -URI http://asc.fasb.org/topic&amp;trid=2208564<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DebtDisclosureTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>nonnum:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DisclosureTextBlockAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DisclosureTextBlockAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>51
<FILENAME>R24.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.20.1</span><table class="report" border="0" cellspacing="2" id="idp6891896640">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Note 16 - Earnings Per Share<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Jan. 31, 2020</div></th></tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DisclosureTextBlockAbstract', window );"><strong>Notes to Financial Statements</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_EarningsPerShareTextBlock', window );">Earnings Per Share [Text Block]</a></td>
<td class="text"><div style="display: inline; font-family: times new roman; font-size: 10pt"><div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><div style="display: inline; font-weight: bold;">Note <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">16</div> - Earnings Per Share</div></div> <div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&nbsp;</div> <div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">The following table sets forth the computation of basic and diluted earnings per share (&#x201c;EPS&#x201d;) (number of shares in thousands):</div> <div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&nbsp;</div> <div> <table cellpadding="0" cellspacing="0" style="border-collapse: collapse; font: 10pt Times New Roman, Times, Serif; min-width: 700px;">  <tr style="vertical-align: bottom; background-color: White"> <td style="font-style: italic; padding-bottom: 1pt">Year Ended</td> <td style="font-weight: bold">&nbsp;</td> <td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; font-weight: bold; text-align: left">&nbsp;</td> <td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; font-weight: bold; text-align: right"><div style="display: inline; font-family: Times New Roman, Times, Serif; font-size: 10pt"><div style="display: inline; font-weight: bold;">January 31, 2020</div></div></td> <td style="border-top: Black 1pt solid; white-space: nowrap; border-bottom: Black 1pt solid; font-weight: bold; text-align: left">&nbsp;</td> <td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid">&nbsp;</td> <td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; text-align: left">&nbsp;</td> <td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; text-align: right"><div style="display: inline; font-family: Times New Roman, Times, Serif; font-size: 10pt">January 31, 2019</div></td> <td style="border-top: Black 1pt solid; white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&nbsp;</td> <td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid">&nbsp;</td> <td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; text-align: left">&nbsp;</td> <td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; text-align: right"><div style="display: inline; font-family: Times New Roman, Times, Serif; font-size: 10pt">January 31, 2018</div></td> <td style="border-top: Black 1pt solid; white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td>&nbsp;</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right">&nbsp;</td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right">&nbsp;</td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right">&nbsp;</td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: White"> <td style="width: 58%; text-align: left; padding-bottom: 1pt">Net income for purposes of calculating basic and diluted earnings per share</td> <td style="width: 2%; font-weight: bold">&nbsp;</td> <td style="width: 1%; border-bottom: Black 1pt solid; font-weight: bold; text-align: left">&nbsp;</td> <td style="width: 10%; border-bottom: Black 1pt solid; font-weight: bold; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">36,997</div></td> <td style="white-space: nowrap; width: 1%; border-bottom: Black 1pt solid; font-weight: bold; text-align: left">&nbsp;</td> <td style="width: 2%; border-bottom: Black 1pt solid">&nbsp;</td> <td style="width: 1%; border-bottom: Black 1pt solid; text-align: left">&nbsp;</td> <td style="width: 10%; border-bottom: Black 1pt solid; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">31,277</div></td> <td style="white-space: nowrap; width: 1%; border-bottom: Black 1pt solid; text-align: left">&nbsp;</td> <td style="width: 2%; border-bottom: Black 1pt solid">&nbsp;</td> <td style="width: 1%; border-bottom: Black 1pt solid; text-align: left">&nbsp;</td> <td style="width: 10%; border-bottom: Black 1pt solid; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">26,879</div></td> <td style="white-space: nowrap; width: 1%; border-bottom: Black 1pt solid; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td>Weighted average shares outstanding</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">81,659</div></td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">76,832</div></td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">76,324</div></td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: White"> <td style="text-align: left">Dilutive effect of employee stock options</td> <td style="font-weight: bold">&nbsp;</td> <td style="font-weight: bold; text-align: left">&nbsp;</td> <td style="font-weight: bold; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">318</div></td> <td style="white-space: nowrap; font-weight: bold; text-align: left">&nbsp;</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">205</div></td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">167</div></td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="text-align: left; padding-bottom: 1pt">Dilutive effect of restricted and performance share units</td> <td style="font-weight: bold">&nbsp;</td> <td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">890</div></td> <td style="white-space: nowrap; border-bottom: Black 1pt solid; font-weight: bold; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid">&nbsp;</td> <td style="border-bottom: Black 1pt solid; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">754</div></td> <td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid">&nbsp;</td> <td style="border-bottom: Black 1pt solid; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">621</div></td> <td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: White"> <td style="text-align: left; padding-bottom: 1pt">Weighted average common and common equivalent shares outstanding</td> <td>&nbsp;</td> <td style="border-bottom: Black 1pt solid; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">82,867</div></td> <td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid">&nbsp;</td> <td style="border-bottom: Black 1pt solid; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">77,791</div></td> <td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid">&nbsp;</td> <td style="border-bottom: Black 1pt solid; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">77,112</div></td> <td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td>Earnings per share</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right">&nbsp;</td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right">&nbsp;</td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right">&nbsp;</td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: White"> <td style="padding-left: 12pt">Basic</td> <td style="font-weight: bold">&nbsp;</td> <td style="font-weight: bold; text-align: left">&nbsp;</td> <td style="font-weight: bold; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">0.45</div></td> <td style="white-space: nowrap; font-weight: bold; text-align: left">&nbsp;</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">0.41</div></td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">0.35</div></td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="padding-bottom: 1pt; padding-left: 12pt">Diluted</td> <td style="font-weight: bold">&nbsp;</td> <td style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">0.45</div></td> <td style="border-bottom: Black 1.5pt solid; white-space: nowrap; font-weight: bold; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1.5pt solid">&nbsp;</td> <td style="border-bottom: Black 1.5pt solid; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1.5pt solid; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">0.40</div></td> <td style="border-bottom: Black 1.5pt solid; white-space: nowrap; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1.5pt solid">&nbsp;</td> <td style="border-bottom: Black 1.5pt solid; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1.5pt solid; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">0.35</div></td> <td style="border-bottom: Black 1.5pt solid; white-space: nowrap; text-align: left">&nbsp;</td> </tr>  </table> </div> <div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0">&nbsp;</div> <div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">For the years ended <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"> January 31, 2020, </div><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">2019</div> and <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">2018,</div> the application of the treasury stock method excluded <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">350,464,</div> <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">271,869</div> and <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">270,525</div> stock options, respectively, from the calculation of diluted EPS as the assumed proceeds from the unrecognized stock-based compensation expense of such stock options that are attributed to future service periods made such stock options anti-dilutive.</div> <div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0">&nbsp;</div> <div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">For the years ended <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"> January 31, 2020, </div><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">2019</div> and <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">2018,</div> <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">5,909,</div> <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">nil</div> and <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">2,475</div> stock options, respectively, were excluded from the calculation of diluted EPS as those options had an exercise price greater than or equal to the average market value of our common shares during the applicable periods and their inclusion would have been anti-dilutive.</div></div><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DisclosureTextBlockAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DisclosureTextBlockAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_EarningsPerShareTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The entire disclosure for earnings per share.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -URI http://asc.fasb.org/topic&amp;trid=2144383<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EarningsPerShareTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>nonnum:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>52
<FILENAME>R7.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.20.1</span><table class="report" border="0" cellspacing="2" id="idp6909324176">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>Consolidated Statements of Shareholders' Equity - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th"><div>Total</div></th>
<th class="th"><div>Common Stock [Member]</div></th>
<th class="th"><div>Additional Paid-in Capital [Member]</div></th>
<th class="th"><div>AOCI Attributable to Parent [Member]</div></th>
<th class="th"><div>Retained Earnings [Member]</div></th>
</tr>
<tr class="rc">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_StockholdersEquity', window );">Balance at Jan. 31, 2017</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 253,242<span></span>
</td>
<td class="nump">$ 448,597<span></span>
</td>
<td class="num">$ (32,779)<span></span>
</td>
<td class="num">$ (238,465)<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_StockIssuedDuringPeriodValueStockOptionsExercised', window );">Stock options and share units exercised</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">1,294<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_StockIssuedDuringPeriodValueNewIssues', window );">Issuance of common shares, net of issuance costs (Note 15)</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text"> <span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_StockIssuedDuringPeriodValueAcquisitions', window );">Acquisitions (Note 3)</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">20,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rc">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_StockholdersEquity', window );">Balance at Jan. 31, 2018</a></td>
<td class="nump">$ 498,812<span></span>
</td>
<td class="nump">274,536<span></span>
</td>
<td class="nump">451,151<span></span>
</td>
<td class="num">(15,252)<span></span>
</td>
<td class="num">(211,623)<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue', window );">Stock-based compensation expense (Note 17)</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">2,807<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationAndExerciseOfStockOptions', window );">Stock options and share units exercised</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(290)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent', window );">Other comprehensive income (loss), net of income taxes</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">17,527<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_NetIncomeLoss', window );">Net income</a></td>
<td class="nump">26,879<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">26,879<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_CumulativeEffectOfNewAccountingPrincipleInPeriodOfAdoption', window );">Cumulative adjustment upon modified retrospective accounting policy adoption (Note 2)</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">37<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(37)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_StockIssuedDuringPeriodValueStockOptionsExercised', window );">Stock options and share units exercised</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">681<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_StockIssuedDuringPeriodValueNewIssues', window );">Issuance of common shares, net of issuance costs (Note 15)</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text"> <span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_StockIssuedDuringPeriodValueAcquisitions', window );">Acquisitions (Note 3)</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">1,536<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rc">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_StockholdersEquity', window );">Balance at Jan. 31, 2019</a></td>
<td class="nump">533,507<span></span>
</td>
<td class="nump">276,753<span></span>
</td>
<td class="nump">454,722<span></span>
</td>
<td class="num">(25,201)<span></span>
</td>
<td class="num">(172,767)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue', window );">Stock-based compensation expense (Note 17)</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">3,710<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationAndExerciseOfStockOptions', window );">Stock options and share units exercised</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(139)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent', window );">Other comprehensive income (loss), net of income taxes</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(9,949)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_NetIncomeLoss', window );">Net income</a></td>
<td class="nump">31,277<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">31,277<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_CumulativeEffectOfNewAccountingPrincipleInPeriodOfAdoption', window );">Cumulative adjustment upon modified retrospective accounting policy adoption (Note 2)</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text"> <span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">7,579<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_StockIssuedDuringPeriodValueStockOptionsExercised', window );">Stock options and share units exercised</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">1,788<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_StockIssuedDuringPeriodValueNewIssues', window );">Issuance of common shares, net of issuance costs (Note 15)</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">236,568<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_StockIssuedDuringPeriodValueAcquisitions', window );">Acquisitions (Note 3)</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">9,045<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rc">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_StockholdersEquity', window );">Balance at Jan. 31, 2020</a></td>
<td class="nump">821,709<span></span>
</td>
<td class="nump">$ 524,154<span></span>
</td>
<td class="nump">459,269<span></span>
</td>
<td class="num">(25,944)<span></span>
</td>
<td class="num">(135,770)<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue', window );">Stock-based compensation expense (Note 17)</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">4,909<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationAndExerciseOfStockOptions', window );">Stock options and share units exercised</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(362)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent', window );">Other comprehensive income (loss), net of income taxes</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="num">$ (743)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_NetIncomeLoss', window );">Net income</a></td>
<td class="nump">$ 36,997<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">36,997<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_CumulativeEffectOfNewAccountingPrincipleInPeriodOfAdoption', window );">Cumulative adjustment upon modified retrospective accounting policy adoption (Note 2)</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text"> <span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text"> <span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationAndExerciseOfStockOptions">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of increase (decrease) to additional paid-in capital (APIC) for recognition and exercise of award under share-based payment arrangement.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationAndExerciseOfStockOptions</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of increase to additional paid-in capital (APIC) for recognition of cost for award under share-based payment arrangement.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 20<br> -Section 55<br> -Paragraph 12<br> -URI http://asc.fasb.org/extlink&amp;oid=118258462&amp;loc=d3e11149-113907<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=116856206&amp;loc=d3e5047-113901<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 20<br> -Section 55<br> -Paragraph 13<br> -URI http://asc.fasb.org/extlink&amp;oid=118258462&amp;loc=d3e11178-113907<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 35<br> -Paragraph 2<br> -URI http://asc.fasb.org/extlink&amp;oid=116855982&amp;loc=d3e4534-113899<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CumulativeEffectOfNewAccountingPrincipleInPeriodOfAdoption">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount after tax of increase (decrease) to equity or (increase) decrease to net assets, resulting from the cumulative effect adjustment of a new accounting principle applied in the period of adoption.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CumulativeEffectOfNewAccountingPrincipleInPeriodOfAdoption</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_NetIncomeLoss">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The portion of profit or loss for the period, net of income taxes, which is attributable to the parent.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 45<br> -Paragraph 1A<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=118930883&amp;loc=SL7669619-108580<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 220<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-04(22))<br> -URI http://asc.fasb.org/extlink&amp;oid=116637391&amp;loc=SL114874048-224260<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 45<br> -Paragraph 1B<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=118930883&amp;loc=SL7669625-108580<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 220<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(18))<br> -URI http://asc.fasb.org/extlink&amp;oid=116637232&amp;loc=SL114874131-224263<br><br>Reference 5: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(20))<br> -URI http://asc.fasb.org/extlink&amp;oid=116634182&amp;loc=SL114868664-224227<br><br>Reference 6: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 28<br> -URI http://asc.fasb.org/extlink&amp;oid=118932676&amp;loc=d3e3602-108585<br><br>Reference 7: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -URI http://asc.fasb.org/extlink&amp;oid=6371337&amp;loc=d3e3550-109257<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_NetIncomeLoss</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount after tax of other comprehensive income (loss) attributable to parent entity.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 45<br> -Paragraph 1B<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=118930883&amp;loc=SL7669625-108580<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 810<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1A<br> -Subparagraph (c)(3)<br> -URI http://asc.fasb.org/extlink&amp;oid=109239629&amp;loc=SL4573702-111684<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 810<br> -SubTopic 10<br> -Section 45<br> -Paragraph 20<br> -URI http://asc.fasb.org/extlink&amp;oid=108774443&amp;loc=SL4569643-111683<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 45<br> -Paragraph 1A<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=118930883&amp;loc=SL7669619-108580<br><br>Reference 5: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 810<br> -SubTopic 10<br> -Section 45<br> -Paragraph 19<br> -URI http://asc.fasb.org/extlink&amp;oid=108774443&amp;loc=SL4569616-111683<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StockIssuedDuringPeriodValueAcquisitions">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Value of stock issued pursuant to acquisitions during the period.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -URI http://asc.fasb.org/extlink&amp;oid=109259400&amp;loc=d3e21463-112644<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.3-04)<br> -URI http://asc.fasb.org/extlink&amp;oid=27012166&amp;loc=d3e187085-122770<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.29-31)<br> -URI http://asc.fasb.org/extlink&amp;oid=6877327&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StockIssuedDuringPeriodValueAcquisitions</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StockIssuedDuringPeriodValueNewIssues">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Equity impact of the value of new stock issued during the period. Includes shares issued in an initial public offering or a secondary public offering.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.3-04)<br> -URI http://asc.fasb.org/extlink&amp;oid=27012166&amp;loc=d3e187085-122770<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -URI http://asc.fasb.org/extlink&amp;oid=109259400&amp;loc=d3e21463-112644<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(29))<br> -URI http://asc.fasb.org/extlink&amp;oid=6877327&amp;loc=d3e13212-122682<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(28))<br> -URI http://asc.fasb.org/extlink&amp;oid=6877327&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StockIssuedDuringPeriodValueNewIssues</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StockIssuedDuringPeriodValueStockOptionsExercised">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Value of stock issued as a result of the exercise of stock options.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -URI http://asc.fasb.org/extlink&amp;oid=109259400&amp;loc=d3e21463-112644<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.3-04)<br> -URI http://asc.fasb.org/extlink&amp;oid=27012166&amp;loc=d3e187085-122770<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.29-31)<br> -URI http://asc.fasb.org/extlink&amp;oid=6877327&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StockIssuedDuringPeriodValueStockOptionsExercised</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StockholdersEquity">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Total of all stockholders' equity (deficit) items, net of receivables from officers, directors, owners, and affiliates of the entity which are attributable to the parent. The amount of the economic entity's stockholders' equity attributable to the parent excludes the amount of stockholders' equity which is allocable to that ownership interest in subsidiary equity which is not attributable to the parent (noncontrolling interest, minority interest). This excludes temporary equity and is sometimes called permanent equity.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 310<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SAB Topic 4.E)<br> -URI http://asc.fasb.org/extlink&amp;oid=27010918&amp;loc=d3e74512-122707<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(31))<br> -URI http://asc.fasb.org/extlink&amp;oid=6877327&amp;loc=d3e13212-122682<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(29))<br> -URI http://asc.fasb.org/extlink&amp;oid=6877327&amp;loc=d3e13212-122682<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(30))<br> -URI http://asc.fasb.org/extlink&amp;oid=6877327&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StockholdersEquity</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>53
<FILENAME>R3.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.20.1</span><table class="report" border="0" cellspacing="2" id="idp6892090496">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>Consolidated Balance Sheets (Parentheticals) - shares<br></strong></div></th>
<th class="th"><div>Jan. 31, 2020</div></th>
<th class="th"><div>Jan. 31, 2019</div></th>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_CommonStockSharesIssued', window );">Common shares, shares issued (in shares)</a></td>
<td class="nump">84,156,316<span></span>
</td>
<td class="nump">76,864,866<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_CommonStockSharesOutstanding', window );">Common shares, shares outstanding (in shares)</a></td>
<td class="nump">84,156,316<span></span>
</td>
<td class="nump">76,864,866<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CommonStockSharesIssued">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Total number of common shares of an entity that have been sold or granted to shareholders (includes common shares that were issued, repurchased and remain in the treasury). These shares represent capital invested by the firm's shareholders and owners, and may be all or only a portion of the number of shares authorized. Shares issued include shares outstanding and shares held in the treasury.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(29))<br> -URI http://asc.fasb.org/extlink&amp;oid=6877327&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CommonStockSharesIssued</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CommonStockSharesOutstanding">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Number of shares of common stock outstanding. Common stock represent the ownership interest in a corporation.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -URI http://asc.fasb.org/extlink&amp;oid=109259400&amp;loc=d3e21463-112644<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(29))<br> -URI http://asc.fasb.org/extlink&amp;oid=6877327&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CommonStockSharesOutstanding</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>54
<FILENAME>R35.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.20.1</span><table class="report" border="0" cellspacing="2" id="idp6891889104">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Note 5 - Trade Receivables (Tables)<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Jan. 31, 2020</div></th></tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_TableTextBlock', window );"><strong>Notes Tables</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ScheduleOfAccountsNotesLoansAndFinancingReceivableTextBlock', window );">Schedule of Accounts, Notes, Loans and Financing Receivable [Table Text Block]</a></td>
<td class="text"><div style="display: inline; font-family: times new roman; font-size: 10pt"><table cellpadding="0" cellspacing="0" style="border-collapse: collapse; font: 10pt Times New Roman, Times, Serif; min-; min-width: 700px;"> <tr style="vertical-align: bottom; background-color: White"> <td>&nbsp;</td> <td style="font-weight: bold">&nbsp;</td> <td style="border-top: Black 1pt solid; font-weight: bold; text-align: left">&nbsp;</td> <td style="border-top: Black 1pt solid; font-weight: bold; text-align: right"><div style="display: inline; font-family: Times New Roman, Times, Serif; font-size: 10pt"><div style="display: inline; font-weight: bold;">January 31,</div></div></td> <td style="border-top: Black 1pt solid; white-space: nowrap; font-weight: bold; text-align: left">&nbsp;</td> <td style="border-top: Black 1pt solid">&nbsp;</td> <td style="border-top: Black 1pt solid; text-align: left">&nbsp;</td> <td style="border-top: Black 1pt solid; text-align: right"><div style="display: inline; font-family: Times New Roman, Times, Serif; font-size: 10pt">January 31,</div></td> <td style="border-top: Black 1pt solid; white-space: nowrap; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: White"> <td style="padding-bottom: 1pt">&nbsp;</td> <td style="font-weight: bold">&nbsp;</td> <td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: right">2020</td> <td style="white-space: nowrap; border-bottom: Black 1pt solid; font-weight: bold; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid">&nbsp;</td> <td style="border-bottom: Black 1pt solid; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid; text-align: right">2019</td> <td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="width: 68%; text-align: left">Trade receivables</td> <td style="width: 2%; font-weight: bold">&nbsp;</td> <td style="width: 1%; font-weight: bold; text-align: left">&nbsp;</td> <td style="width: 12%; font-weight: bold; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">37,121</div></td> <td style="white-space: nowrap; width: 1%; font-weight: bold; text-align: left">&nbsp;</td> <td style="width: 2%">&nbsp;</td> <td style="width: 1%; text-align: left">&nbsp;</td> <td style="width: 12%; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">33,350</div></td> <td style="white-space: nowrap; width: 1%; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: White"> <td style="text-align: left; padding-bottom: 1pt">Less: Allowance for doubtful accounts</td> <td style="font-weight: bold">&nbsp;</td> <td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">(2,003</div></td> <td style="white-space: nowrap; border-bottom: Black 1pt solid; font-weight: bold; text-align: left">)</td> <td style="border-bottom: Black 1pt solid">&nbsp;</td> <td style="border-bottom: Black 1pt solid; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">(1,857</div></td> <td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">)</td> </tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="padding-bottom: 1pt">&nbsp;</td> <td style="font-weight: bold">&nbsp;</td> <td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">35,118</div></td> <td style="white-space: nowrap; border-bottom: Black 1pt solid; font-weight: bold; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid">&nbsp;</td> <td style="border-bottom: Black 1pt solid; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">31,493</div></td> <td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&nbsp;</td> </tr> </table></div><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ScheduleOfAccountsNotesLoansAndFinancingReceivableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of the various types of trade accounts and notes receivable and for each the gross carrying value, allowance, and net carrying value as of the balance sheet date. Presentation is categorized by current, noncurrent and unclassified receivables.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.3,4)<br> -URI http://asc.fasb.org/extlink&amp;oid=6877327&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ScheduleOfAccountsNotesLoansAndFinancingReceivableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>nonnum:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_TableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_TableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>55
<FILENAME>R31.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.20.1</span><table class="report" border="0" cellspacing="2" id="idp6891997376">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Note 23 - Subsequent Event<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Jan. 31, 2020</div></th></tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DisclosureTextBlockAbstract', window );"><strong>Notes to Financial Statements</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_SubsequentEventsTextBlock', window );">Subsequent Events [Text Block]</a></td>
<td class="text"><div style="display: inline; font-family: times new roman; font-size: 10pt"><div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><div style="display: inline; font-weight: bold;">Note <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">23</div> &#x2013; Subsequent Event</div></div> <div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><div style="display: inline; font-weight: bold;">&nbsp;</div></div> <div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">On <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"> February 21, 2020, </div>Descartes acquired all the shares of Peoplevox Limited (&#x201c;Peoplevox&#x201d;), a provider of cloud-based ecommerce warehouse management solutions. The purchase price for the acquisition was approximately <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">$24.5</div> million (GBP <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">18.9</div> million), net of cash acquired, which was funded from a combination of cash on hand and drawing on Descartes&#x2019; existing credit facility. As of the issue date of these consolidated financial statements, the fair value of the acquired assets and liabilities has <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">not</div> been determined.</div></div><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DisclosureTextBlockAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DisclosureTextBlockAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_SubsequentEventsTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The entire disclosure for significant events or transactions that occurred after the balance sheet date through the date the financial statements were issued or the date the financial statements were available to be issued. Examples include: the sale of a capital stock issue, purchase of a business, settlement of litigation, catastrophic loss, significant foreign exchange rate changes, loans to insiders or affiliates, and transactions not in the ordinary course of business.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 855<br> -URI http://asc.fasb.org/topic&amp;trid=2122774<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_SubsequentEventsTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>nonnum:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>56
<FILENAME>R39.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.20.1</span><table class="report" border="0" cellspacing="2" id="idp6891462640">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Note 10 - Goodwill (Tables)<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Jan. 31, 2020</div></th></tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_TableTextBlock', window );"><strong>Notes Tables</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_srt_ScheduleOfCondensedCashFlowStatementTableTextBlock', window );">Condensed Cash Flow Statement [Table Text Block]</a></td>
<td class="text"><div style="display: inline; font-family: times new roman; font-size: 10pt"><table cellpadding="0" cellspacing="0" style="border-collapse: collapse; font: 10pt Times New Roman, Times, Serif; min-; min-width: 700px;"> <tr style="vertical-align: bottom; background-color: White"> <td>&nbsp;</td> <td style="font-weight: bold">&nbsp;</td> <td style="border-top: Black 1pt solid; font-weight: bold; text-align: left">&nbsp;</td> <td style="border-top: Black 1pt solid; font-weight: bold; text-align: right"><div style="display: inline; font-family: Times New Roman, Times, Serif; font-size: 10pt"><div style="display: inline; font-weight: bold;">January 31,</div></div></td> <td style="border-top: Black 1pt solid; white-space: nowrap; font-weight: bold; text-align: left">&nbsp;</td> <td style="border-top: Black 1pt solid">&nbsp;</td> <td style="border-top: Black 1pt solid; text-align: left">&nbsp;</td> <td style="border-top: Black 1pt solid; text-align: right"><div style="display: inline; font-family: Times New Roman, Times, Serif; font-size: 10pt">January 31,</div></td> <td style="border-top: Black 1pt solid; white-space: nowrap; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: White"> <td style="padding-bottom: 1pt">&nbsp;</td> <td style="font-weight: bold">&nbsp;</td> <td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: right">2020</td> <td style="white-space: nowrap; border-bottom: Black 1pt solid; font-weight: bold; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid">&nbsp;</td> <td style="border-bottom: Black 1pt solid; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid; text-align: right">2019</td> <td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="width: 68%; text-align: left">Balance at beginning of year</td> <td style="width: 2%; font-weight: bold">&nbsp;</td> <td style="width: 1%; font-weight: bold; text-align: left">&nbsp;</td> <td style="width: 12%; font-weight: bold; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">378,178</div></td> <td style="white-space: nowrap; width: 1%; font-weight: bold; text-align: left">&nbsp;</td> <td style="width: 2%">&nbsp;</td> <td style="width: 1%; text-align: left">&nbsp;</td> <td style="width: 12%; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">350,148</div></td> <td style="white-space: nowrap; width: 1%; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: White"> <td style="padding-left: 12pt">Acquisition of Aljex</td> <td style="font-weight: bold">&nbsp;</td> <td style="font-weight: bold; text-align: left">&nbsp;</td> <td style="font-weight: bold; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">&#x2013;</div></td> <td style="white-space: nowrap; font-weight: bold; text-align: left">&nbsp;</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">18,903</div></td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="text-align: left; padding-left: 12pt">Acquisition of Velocity Mail</td> <td style="font-weight: bold">&nbsp;</td> <td style="font-weight: bold; text-align: left">&nbsp;</td> <td style="font-weight: bold; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">&#x2013;</div></td> <td style="white-space: nowrap; font-weight: bold; text-align: left">&nbsp;</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">8,448</div></td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: White"> <td style="padding-left: 12pt">Acquisition of PinPoint</td> <td style="font-weight: bold">&nbsp;</td> <td style="font-weight: bold; text-align: left">&nbsp;</td> <td style="font-weight: bold; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">&#x2013;</div></td> <td style="white-space: nowrap; font-weight: bold; text-align: left">&nbsp;</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">6,306</div></td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="text-align: left; padding-left: 12pt">Acquisition of Visual Compliance</td> <td style="font-weight: bold">&nbsp;</td> <td style="font-weight: bold; text-align: left">&nbsp;</td> <td style="font-weight: bold; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">118,785</div></td> <td style="white-space: nowrap; font-weight: bold; text-align: left">&nbsp;</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">&#x2013;</div></td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: White"> <td style="padding-left: 12pt">Acquisition of CORE</td> <td style="font-weight: bold">&nbsp;</td> <td style="font-weight: bold; text-align: left">&nbsp;</td> <td style="font-weight: bold; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">12,670</div></td> <td style="white-space: nowrap; font-weight: bold; text-align: left">&nbsp;</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">&#x2013;</div></td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="padding-left: 12pt">Acquisition of STEPcom</td> <td style="font-weight: bold">&nbsp;</td> <td style="font-weight: bold; text-align: left">&nbsp;</td> <td style="font-weight: bold; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">10,019</div></td> <td style="white-space: nowrap; font-weight: bold; text-align: left">&nbsp;</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">&#x2013;</div></td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: White"> <td style="padding-left: 12pt">Acquisition of BestTransport</td> <td style="font-weight: bold">&nbsp;</td> <td style="font-weight: bold; text-align: left">&nbsp;</td> <td style="font-weight: bold; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">5,513</div></td> <td style="white-space: nowrap; font-weight: bold; text-align: left">&nbsp;</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">&#x2013;</div></td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="text-align: left; padding-bottom: 1pt; padding-left: 12pt">Adjustments on account of foreign exchange</td> <td style="font-weight: bold">&nbsp;</td> <td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">(1,475</div></td> <td style="white-space: nowrap; border-bottom: Black 1pt solid; font-weight: bold; text-align: left">)</td> <td style="border-bottom: Black 1pt solid">&nbsp;</td> <td style="border-bottom: Black 1pt solid; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">(5,627</div></td> <td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">)</td> </tr> <tr style="vertical-align: bottom; background-color: White"> <td style="text-align: left; padding-bottom: 1pt">Balance at end of year</td> <td style="font-weight: bold">&nbsp;</td> <td style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">523,690</div></td> <td style="border-bottom: Black 1.5pt solid; white-space: nowrap; font-weight: bold; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1.5pt solid">&nbsp;</td> <td style="border-bottom: Black 1.5pt solid; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1.5pt solid; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">378,178</div></td> <td style="border-bottom: Black 1.5pt solid; white-space: nowrap; text-align: left">&nbsp;</td> </tr> </table></div><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_ScheduleOfCondensedCashFlowStatementTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of condensed cash flow statement, including, but not limited to, cash flow statements of consolidated entities and consolidation eliminations.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher SEC<br> -Name Regulation S-X (SX)<br> -Number 210<br> -Section 3<br> -Paragraph i<br> -Subsection 10<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_ScheduleOfCondensedCashFlowStatementTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>srt_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>nonnum:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_TableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_TableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>57
<FILENAME>R12.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.20.1</span><table class="report" border="0" cellspacing="2" id="idp6891817376">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Note 4 - Fair Value Measurements<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Jan. 31, 2020</div></th></tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DisclosureTextBlockAbstract', window );"><strong>Notes to Financial Statements</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FairValueDisclosuresTextBlock', window );">Fair Value Disclosures [Text Block]</a></td>
<td class="text"><div style="display: inline; font-family: times new roman; font-size: 10pt"><div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><div style="display: inline; font-weight: bold;">Note <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">4</div> &#x2013; Fair Value Measurements</div></div> <div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&nbsp;</div> <div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">ASC Topic <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">820</div> &#x201c;Fair Value Measurements and Disclosures&#x201d; (Topic <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">820</div>) defines fair value as the price that would be received upon sale of an asset or paid upon transfer of a liability in an orderly transaction between market participants at the measurement date and in the principal or most advantageous market for that asset or liability. The fair value, in this context, should be calculated based on assumptions that market participants would use in pricing the asset or liability, <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">not</div> on assumptions specific to the entity. In addition, the fair value of liabilities should include consideration of non-performance risk, including our own credit risk.</div> <div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&nbsp;</div> <div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">Topic <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">820</div> establishes a fair value hierarchy which prioritizes the inputs used in the valuation methodologies in measuring fair value into <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">three</div> levels:</div> <table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; min-width: 700px;">  <tr style="vertical-align: top"> <td style="width: 0.25in"></td> <td style="width: 0.25in">&#x2022;</td> <td style="text-align: justify">Level <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">1&#x2014;inputs</div> are based upon unadjusted quoted prices for identical instruments traded in active markets.</td> </tr>  </table> <table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; min-width: 700px;">  <tr style="vertical-align: top"> <td style="width: 0.25in"></td> <td style="width: 0.25in">&#x2022;</td> <td style="text-align: justify">Level <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">2&#x2014;inputs</div> are based upon quoted prices for similar instruments in active markets, quoted prices for identical or similar instruments in markets that are <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">not</div> active, and model-based valuation techniques for which all significant assumptions are observable in the market or can be corroborated by observable market data for substantially the full term of the assets or liabilities.</td> </tr>  </table> <table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; min-width: 700px;">  <tr style="vertical-align: top"> <td style="width: 0.25in"></td> <td style="width: 0.25in">&#x2022;</td> <td style="text-align: justify">Level <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">3&#x2014;inputs</div> are generally unobservable and typically reflect management&#x2019;s estimates of assumptions that market participants would use in pricing the asset or liability. The fair values are therefore determined using model-based techniques that include option pricing models, discounted cash flow models, and similar techniques.</td> </tr>  </table> <div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&nbsp;</div> <div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"></div> <!-- Field: Page; Sequence: 21 -->   <div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"></div> <div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">The carrying amounts of the Company&#x2019;s cash, accounts receivable (net), accounts payable, accrued liabilities and income taxes payable approximate their fair value (a Level <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">2</div> measurement) due to their short maturities.</div> <div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&nbsp;</div> <div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">The Company enters into equity derivative contracts including floating-rate equity forwards to partially offset the potential fluctuations of certain future share-based compensation expenses. The Company does <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">not</div> hold derivatives for speculative purposes. As at <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"> January 31, 2020, </div>we had equity derivatives for <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">251,422</div> Descartes common shares with a weighted average price of <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">$22.37.</div></div> <div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&nbsp;</div> <div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">The following table shows the Company&#x2019;s derivative instruments measured at fair value on a recurring basis as of <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"> January 31, 2020:</div></div> <div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&nbsp;</div> <div> <table cellpadding="0" cellspacing="0" style="border-collapse: collapse; font: 10pt Times New Roman, Times, Serif; min-width: 700px;">  <tr style="vertical-align: bottom; background-color: White"> <td style="padding-bottom: 1pt">&nbsp;</td> <td style="font-weight: bold">&nbsp;</td> <td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; font-weight: bold; text-align: left">&nbsp;</td> <td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; font-weight: bold; text-align: right"><div style="display: inline; font-family: Times New Roman, Times, Serif; font-size: 10pt"><div style="display: inline; font-weight: bold;">Fair Value of Derivatives Designated as Hedge Instruments</div></div></td> <td style="border-top: Black 1pt solid; white-space: nowrap; border-bottom: Black 1pt solid; font-weight: bold; text-align: left">&nbsp;</td> <td style="border-top: Black 1pt solid; font-weight: bold; border-bottom: Black 1pt solid">&nbsp;</td> <td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; font-weight: bold; text-align: left">&nbsp;</td> <td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; font-weight: bold; text-align: right"><div style="display: inline; font-family: Times New Roman, Times, Serif; font-size: 10pt"><div style="display: inline; font-weight: bold;">Fair Value of Derivatives Not Designated As Hedge Instruments</div></div></td> <td style="border-top: Black 1pt solid; white-space: nowrap; border-bottom: Black 1pt solid; font-weight: bold; text-align: left">&nbsp;</td> <td style="border-top: Black 1pt solid; font-weight: bold; border-bottom: Black 1pt solid">&nbsp;</td> <td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; font-weight: bold; text-align: left">&nbsp;</td> <td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; font-weight: bold; text-align: right"><div style="display: inline; font-family: Times New Roman, Times, Serif; font-size: 10pt"><div style="display: inline; font-weight: bold;">Fair Value</div></div></td> <td style="border-top: Black 1pt solid; white-space: nowrap; border-bottom: Black 1pt solid; font-weight: bold; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="text-align: left">Derivative assets:</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right">&nbsp;</td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right">&nbsp;</td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right">&nbsp;</td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: White"> <td style="width: 55%; text-align: left; padding-bottom: 1pt">Equity contracts</td> <td style="width: 2%; font-weight: bold">&nbsp;</td> <td style="border-bottom: Black 1.5pt solid; width: 1%; font-weight: bold; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1.5pt solid; width: 11%; font-weight: bold; text-align: right">&#x2013;</td> <td style="border-bottom: Black 1.5pt solid; white-space: nowrap; width: 1%; font-weight: bold; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1.5pt solid; width: 2%; font-weight: bold">&nbsp;</td> <td style="border-bottom: Black 1.5pt solid; width: 1%; font-weight: bold; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1.5pt solid; width: 11%; font-weight: bold; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">5,656</div></td> <td style="border-bottom: Black 1.5pt solid; white-space: nowrap; width: 1%; font-weight: bold; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1.5pt solid; width: 2%; font-weight: bold">&nbsp;</td> <td style="border-bottom: Black 1.5pt solid; width: 1%; font-weight: bold; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1.5pt solid; width: 11%; font-weight: bold; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">5,656</div></td> <td style="border-bottom: Black 1.5pt solid; white-space: nowrap; width: 1%; font-weight: bold; text-align: left">&nbsp;</td> </tr>  </table> </div> <div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&nbsp;</div> <div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">The following table shows the Company&#x2019;s derivative instruments measured at fair value on a recurring basis as of <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"> January 31, 2019:</div></div> <div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&nbsp;</div> <div> <table cellpadding="0" cellspacing="0" style="border-collapse: collapse; font: 10pt Times New Roman, Times, Serif; min-width: 700px;">  <tr style="vertical-align: bottom; background-color: White"> <td style="padding-bottom: 1pt">&nbsp;</td> <td style="font-weight: bold">&nbsp;</td> <td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; font-weight: bold; text-align: left">&nbsp;</td> <td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; font-weight: bold; text-align: right"><div style="display: inline; font-family: Times New Roman, Times, Serif; font-size: 10pt"><div style="display: inline; font-weight: bold;">Fair Value of Derivatives Designated as Hedge Instruments</div></div></td> <td style="border-top: Black 1pt solid; white-space: nowrap; border-bottom: Black 1pt solid; font-weight: bold; text-align: left">&nbsp;</td> <td style="border-top: Black 1pt solid; font-weight: bold; border-bottom: Black 1pt solid">&nbsp;</td> <td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; font-weight: bold; text-align: left">&nbsp;</td> <td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; font-weight: bold; text-align: right"><div style="display: inline; font-family: Times New Roman, Times, Serif; font-size: 10pt"><div style="display: inline; font-weight: bold;">Fair Value of Derivatives Not Designated As Hedge Instruments</div></div></td> <td style="border-top: Black 1pt solid; white-space: nowrap; border-bottom: Black 1pt solid; font-weight: bold; text-align: left">&nbsp;</td> <td style="border-top: Black 1pt solid; font-weight: bold; border-bottom: Black 1pt solid">&nbsp;</td> <td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; font-weight: bold; text-align: left">&nbsp;</td> <td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; font-weight: bold; text-align: right"><div style="display: inline; font-family: Times New Roman, Times, Serif; font-size: 10pt"><div style="display: inline; font-weight: bold;">Fair Value</div></div></td> <td style="border-top: Black 1pt solid; white-space: nowrap; border-bottom: Black 1pt solid; font-weight: bold; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="text-align: left">Derivative assets:</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right">&nbsp;</td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right">&nbsp;</td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right">&nbsp;</td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: White"> <td style="width: 55%; text-align: left; padding-bottom: 1pt">Equity contracts</td> <td style="width: 2%; font-weight: bold">&nbsp;</td> <td style="border-bottom: Black 1.5pt solid; width: 1%; font-weight: bold; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1.5pt solid; width: 11%; font-weight: bold; text-align: right">&#x2013;</td> <td style="border-bottom: Black 1.5pt solid; white-space: nowrap; width: 1%; font-weight: bold; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1.5pt solid; width: 2%">&nbsp;</td> <td style="border-bottom: Black 1.5pt solid; width: 1%; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1.5pt solid; width: 11%; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">2,794</div></td> <td style="border-bottom: Black 1.5pt solid; white-space: nowrap; width: 1%; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1.5pt solid; width: 2%">&nbsp;</td> <td style="border-bottom: Black 1.5pt solid; width: 1%; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1.5pt solid; width: 11%; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">2,794</div></td> <td style="border-bottom: Black 1.5pt solid; white-space: nowrap; width: 1%; text-align: left">&nbsp;</td> </tr>  </table> </div> <div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&nbsp;</div> <div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&nbsp;</div> <div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">The fair value of equity contract derivatives is determined utilizing a valuation model based on the quoted market value of <div style="display: inline; color: black">our common shares at the balance sheet date </div>(Level <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">2</div> fair value inputs). The fair value of equity contract derivatives is recorded as other current assets and gains and losses are recorded in general and administrative expenses in the consolidated financial statements. For the years ended <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"> January 31, 2020, </div><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">2019</div> and <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">2018,</div> we recognized an expense (recovery) in general and administrative expenses of (<div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">$4.0</div>) million, (<div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">$1.2</div>) million and (<div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">$1.1</div>) million, respectively.</div></div><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DisclosureTextBlockAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DisclosureTextBlockAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FairValueDisclosuresTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The entire disclosure for the fair value of financial instruments (as defined), including financial assets and financial liabilities (collectively, as defined), and the measurements of those instruments as well as disclosures related to the fair value of non-financial assets and liabilities. Such disclosures about the financial instruments, assets, and liabilities would include: (1) the fair value of the required items together with their carrying amounts (as appropriate); (2) for items for which it is not practicable to estimate fair value, disclosure would include: (a) information pertinent to estimating fair value (including, carrying amount, effective interest rate, and maturity, and (b) the reasons why it is not practicable to estimate fair value; (3) significant concentrations of credit risk including: (a) information about the activity, region, or economic characteristics identifying a concentration, (b) the maximum amount of loss the entity is exposed to based on the gross fair value of the related item, (c) policy for requiring collateral or other security and information as to accessing such collateral or security, and (d) the nature and brief description of such collateral or security; (4) quantitative information about market risks and how such risks are managed; (5) for items measured on both a recurring and nonrecurring basis information regarding the inputs used to develop the fair value measurement; and (6) for items presented in the financial statement for which fair value measurement is elected: (a) information necessary to understand the reasons for the election, (b) discussion of the effect of fair value changes on earnings, (c) a description of [similar groups] items for which the election is made and the relation thereof to the balance sheet, the aggregate carrying value of items included in the balance sheet that are not eligible for the election; (7) all other required (as defined) and desired information.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 820<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -URI http://asc.fasb.org/extlink&amp;oid=117815213&amp;loc=d3e19207-110258<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FairValueDisclosuresTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>nonnum:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>58
<FILENAME>R16.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.20.1</span><table class="report" border="0" cellspacing="2" id="idp6891721792">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Note 8 - Property and Equipment<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Jan. 31, 2020</div></th></tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DisclosureTextBlockAbstract', window );"><strong>Notes to Financial Statements</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentDisclosureTextBlock', window );">Property, Plant and Equipment Disclosure [Text Block]</a></td>
<td class="text"><div style="display: inline; font-family: times new roman; font-size: 10pt"><div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"><div style="display: inline; font-weight: bold;">Note <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">8</div> &#x2013; Property and Equipment</div></div> <div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0">&nbsp;</div> <div> <table cellpadding="0" cellspacing="0" style="border-collapse: collapse; font: 10pt Times New Roman, Times, Serif; min-width: 700px;">  <tr style="vertical-align: bottom; background-color: White"> <td>&nbsp;</td> <td style="font-weight: bold">&nbsp;</td> <td style="border-top: Black 1pt solid; font-weight: bold; text-align: left">&nbsp;</td> <td style="border-top: Black 1pt solid; font-weight: bold; text-align: right"><div style="display: inline; font-family: Times New Roman, Times, Serif; font-size: 10pt"><div style="display: inline; font-weight: bold;">January 31,</div></div></td> <td style="border-top: Black 1pt solid; white-space: nowrap; font-weight: bold; text-align: left">&nbsp;</td> <td style="border-top: Black 1pt solid">&nbsp;</td> <td style="border-top: Black 1pt solid; text-align: left">&nbsp;</td> <td style="border-top: Black 1pt solid; text-align: right"><div style="display: inline; font-family: Times New Roman, Times, Serif; font-size: 10pt">January 31,</div></td> <td style="border-top: Black 1pt solid; white-space: nowrap; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: White"> <td style="padding-bottom: 1pt">&nbsp;</td> <td style="font-weight: bold">&nbsp;</td> <td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: right">2020</td> <td style="white-space: nowrap; border-bottom: Black 1pt solid; font-weight: bold; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid">&nbsp;</td> <td style="border-bottom: Black 1pt solid; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid; text-align: right">2019</td> <td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td>Cost</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right">&nbsp;</td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right">&nbsp;</td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: White"> <td style="width: 68%; text-align: left; padding-left: 12pt">Computer equipment and software</td> <td style="width: 2%; font-weight: bold">&nbsp;</td> <td style="width: 1%; font-weight: bold; text-align: left">&nbsp;</td> <td style="width: 12%; font-weight: bold; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">34,442</div></td> <td style="white-space: nowrap; width: 1%; font-weight: bold; text-align: left">&nbsp;</td> <td style="width: 2%">&nbsp;</td> <td style="width: 1%; text-align: left">&nbsp;</td> <td style="width: 12%; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">34,870</div></td> <td style="white-space: nowrap; width: 1%; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="text-align: left; padding-left: 12pt">Furniture and fixtures</td> <td style="font-weight: bold">&nbsp;</td> <td style="font-weight: bold; text-align: left">&nbsp;</td> <td style="font-weight: bold; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">1,432</div></td> <td style="white-space: nowrap; font-weight: bold; text-align: left">&nbsp;</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">1,262</div></td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: White"> <td style="text-align: left; padding-left: 12pt">Leasehold improvements</td> <td style="font-weight: bold">&nbsp;</td> <td style="font-weight: bold; text-align: left">&nbsp;</td> <td style="font-weight: bold; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">778</div></td> <td style="white-space: nowrap; font-weight: bold; text-align: left">&nbsp;</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">444</div></td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="text-align: left; padding-left: 12pt">Equipment installed with customers</td> <td style="font-weight: bold">&nbsp;</td> <td style="font-weight: bold; text-align: left">&nbsp;</td> <td style="font-weight: bold; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">1,289</div></td> <td style="white-space: nowrap; font-weight: bold; text-align: left">&nbsp;</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">&#x2013;</div></td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: White"> <td style="text-align: left; padding-bottom: 1pt; padding-left: 12pt">Assets under construction</td> <td style="font-weight: bold">&nbsp;</td> <td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">829</div></td> <td style="white-space: nowrap; border-bottom: Black 1pt solid; font-weight: bold; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid">&nbsp;</td> <td style="border-bottom: Black 1pt solid; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">&#x2013;</div></td> <td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td>&nbsp;</td> <td style="font-weight: bold">&nbsp;</td> <td style="font-weight: bold; text-align: left">&nbsp;</td> <td style="font-weight: bold; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">38,770</div></td> <td style="white-space: nowrap; font-weight: bold; text-align: left">&nbsp;</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">36,576</div></td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: White"> <td style="text-align: left">Accumulated depreciation</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right">&nbsp;</td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right">&nbsp;</td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="text-align: left; padding-left: 12pt">Computer equipment and software</td> <td style="font-weight: bold">&nbsp;</td> <td style="font-weight: bold; text-align: left">&nbsp;</td> <td style="font-weight: bold; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">23,730</div></td> <td style="white-space: nowrap; font-weight: bold; text-align: left">&nbsp;</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">23,070</div></td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: White"> <td style="text-align: left; padding-left: 12pt">Furniture and fixtures</td> <td style="font-weight: bold">&nbsp;</td> <td style="font-weight: bold; text-align: left">&nbsp;</td> <td style="font-weight: bold; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">816</div></td> <td style="white-space: nowrap; font-weight: bold; text-align: left">&nbsp;</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">634</div></td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="text-align: left; padding-left: 12pt">Leasehold improvements</td> <td style="font-weight: bold">&nbsp;</td> <td style="font-weight: bold; text-align: left">&nbsp;</td> <td style="font-weight: bold; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">290</div></td> <td style="white-space: nowrap; font-weight: bold; text-align: left">&nbsp;</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">260</div></td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: White"> <td style="text-align: left; padding-bottom: 1pt; padding-left: 12pt">Equipment installed with customers</td> <td style="font-weight: bold">&nbsp;</td> <td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">203</div></td> <td style="white-space: nowrap; border-bottom: Black 1pt solid; font-weight: bold; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid">&nbsp;</td> <td style="border-bottom: Black 1pt solid; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">&#x2013;</div></td> <td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="padding-bottom: 1pt">&nbsp;</td> <td style="font-weight: bold">&nbsp;</td> <td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">25,039</div></td> <td style="white-space: nowrap; border-bottom: Black 1pt solid; font-weight: bold; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid">&nbsp;</td> <td style="border-bottom: Black 1pt solid; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">23,964</div></td> <td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: White"> <td style="padding-bottom: 1pt">Net</td> <td style="font-weight: bold">&nbsp;</td> <td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">13,731</div></td> <td style="white-space: nowrap; border-bottom: Black 1pt solid; font-weight: bold; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid">&nbsp;</td> <td style="border-bottom: Black 1pt solid; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">12,612</div></td> <td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&nbsp;</td> </tr>  </table> </div></div><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DisclosureTextBlockAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DisclosureTextBlockAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PropertyPlantAndEquipmentDisclosureTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The entire disclosure for long-lived, physical assets used in the normal conduct of business and not intended for resale. Includes, but is not limited to, accounting policies and methodology, roll forwards, depreciation, depletion and amortization expense, including composite depreciation, accumulated depreciation, depletion and amortization expense, useful lives and method used, income statement disclosures, assets held for sale and public utility disclosures.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 360<br> -URI http://asc.fasb.org/topic&amp;trid=2155823<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PropertyPlantAndEquipmentDisclosureTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>nonnum:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>59
<FILENAME>R87.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.20.1</span><table class="report" border="0" cellspacing="2" id="idp6900012896">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Note 17 - Stock-based Compensation Plans - Summary of Restricted Share Units Activity (Details) - USD ($)<br> $ / shares in Units, $ in Millions</strong></div></th>
<th class="th" colspan="3">12 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Jan. 31, 2020</div></th>
<th class="th"><div>Jan. 31, 2019</div></th>
<th class="th"><div>Jan. 31, 2018</div></th>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageExercisePrice', window );">Vested or expected to vest, weighted-average exercise price (in dollars per share)</a></td>
<td class="nump">$ 26.82<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageRemainingContractualTerm1', window );">Vested or expected to vest, weighted-average remaining contractual life (Year)</a></td>
<td class="text">4 years 219 days<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingAggregateIntrinsicValue', window );">Vested or expected to vest, aggregate intrinsic value</a></td>
<td class="nump">$ 20.2<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AwardTypeAxis=us-gaap_RestrictedStockUnitsRSUMember', window );">Restricted Stock Units (RSUs) [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsOutstandingNumber', window );">Number of Units Outstanding (in shares)</a></td>
<td class="nump">337,066<span></span>
</td>
<td class="nump">299,020<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue', window );">Weighted-Average Grant Date Fair Value, PSU (in dollars per share)</a></td>
<td class="nump">$ 14.42<span></span>
</td>
<td class="nump">$ 12.80<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsOutstandingWeightedAverageRemainingContractualTerms', window );">Weighted-Average Remaining Contractual, PSU (Year)</a></td>
<td class="text">5 years<span></span>
</td>
<td class="text">5 years 219 days<span></span>
</td>
<td class="text">6 years 36 days<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsAggregateIntrinsicValueOutstanding', window );">Aggregate Intrinsic Value, PSU</a></td>
<td class="nump">$ 16.8<span></span>
</td>
<td class="nump">$ 10.6<span></span>
</td>
<td class="nump">$ 8.1<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod', window );">Number of PSUs Granted (in shares)</a></td>
<td class="nump">37,611<span></span>
</td>
<td class="nump">38,046<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue', window );">PSUs Granted, Weighted-Average Granted Date Fair Value (in dollars per share)</a></td>
<td class="nump">$ 38.04<span></span>
</td>
<td class="nump">$ 27.96<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsOutstandingNumber', window );">Number of Units Outstanding (in shares)</a></td>
<td class="nump">374,677<span></span>
</td>
<td class="nump">337,066<span></span>
</td>
<td class="nump">299,020<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue', window );">Weighted-Average Grant Date Fair Value, PSU (in dollars per share)</a></td>
<td class="nump">$ 16.57<span></span>
</td>
<td class="nump">$ 14.42<span></span>
</td>
<td class="nump">$ 12.80<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestExercisableNumber', window );">Vested or expected to vest, RSU (in shares)</a></td>
<td class="nump">374,677<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageExercisePrice', window );">Vested or expected to vest, weighted-average exercise price (in dollars per share)</a></td>
<td class="nump">$ 16.57<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageRemainingContractualTerm1', window );">Vested or expected to vest, weighted-average remaining contractual life (Year)</a></td>
<td class="text">5 years<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingAggregateIntrinsicValue', window );">Vested or expected to vest, aggregate intrinsic value</a></td>
<td class="nump">$ 16.8<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_dsgx_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsExercisable', window );">Exercisable, number of units (in shares)</a></td>
<td class="nump">336,921<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_dsgx_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsExercisableWeightedAverageGrantDateFairValue', window );">Exercisable, PSU weighted-average granted date fair value (in dollars per share)</a></td>
<td class="nump">$ 14.56<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_dsgx_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsExercisableWeightedAverageRemainingContractualTerm', window );">Exercisable, Weighted-Average Remaining Contractual, PSU (Year)</a></td>
<td class="text">4 years 219 days<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_dsgx_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsAggregateIntrinsicValueExercisable', window );">Exercisable, Aggregate Intrinsic Value, PSU</a></td>
<td class="nump">$ 15.1<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dsgx_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsAggregateIntrinsicValueExercisable">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Intrinsic value of equity-based compensation awards exercisable. Excludes stock and unit options.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dsgx_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsAggregateIntrinsicValueExercisable</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dsgx_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dsgx_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsExercisable">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The number of units exercisable other than stock (or unit) option plans (for example, phantom stock or unit plan, stock or unit appreciation rights plan, performance target plan).</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dsgx_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsExercisable</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dsgx_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dsgx_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsExercisableWeightedAverageGrantDateFairValue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The weighted average fair value of exercisable awards on equity-based plans excluding option plans (for example, phantom stock or unit plan, stock or unit appreciation rights plan, revenue or profit achievement stock award plan) for which the employer is contingently obligated to issue equity instruments or transfer assets to an employee who has not yet satisfied service or performance criteria necessary to gain title to proceeds from the sale of the award or underlying shares or units.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dsgx_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsExercisableWeightedAverageGrantDateFairValue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dsgx_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>num:perShareItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dsgx_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsExercisableWeightedAverageRemainingContractualTerm">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Weighted average remaining contractual term for vested portions of equity instruments other than options outstanding and currently exercisable or convertible, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents the reported fact of one year, five months, and thirteen days.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dsgx_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsExercisableWeightedAverageRemainingContractualTerm</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dsgx_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:durationItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The number of grants made during the period on other than stock (or unit) option plans (for example, phantom stock or unit plan, stock or unit appreciation rights plan, performance target plan).</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(2)(iii)(1)<br> -URI http://asc.fasb.org/extlink&amp;oid=116856206&amp;loc=d3e5070-113901<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The weighted average fair value at grant date for nonvested equity-based awards issued during the period on other than stock (or unit) option plans (for example, phantom stock or unit plan, stock or unit appreciation rights plan, performance target plan).</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(2)(iii)(1)<br> -URI http://asc.fasb.org/extlink&amp;oid=116856206&amp;loc=d3e5070-113901<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>num:perShareItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Per share or unit weighted-average fair value of nonvested award under share-based payment arrangement. Excludes share and unit options.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(2)(i)-(ii)<br> -URI http://asc.fasb.org/extlink&amp;oid=116856206&amp;loc=d3e5070-113901<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>num:perShareItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsOutstandingWeightedAverageRemainingContractualTerms">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Weighted average remaining contractual term for equity-based awards excluding options, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents the reported fact of one year, five months, and thirteen days.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (e)(1)<br> -URI http://asc.fasb.org/extlink&amp;oid=116856206&amp;loc=d3e5070-113901<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsOutstandingWeightedAverageRemainingContractualTerms</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:durationItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsOutstandingNumber">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Number of equity instruments other than options outstanding, including both vested and non-vested instruments.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(ii)<br> -URI http://asc.fasb.org/extlink&amp;oid=116856206&amp;loc=d3e5070-113901<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(i)<br> -URI http://asc.fasb.org/extlink&amp;oid=116856206&amp;loc=d3e5070-113901<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsOutstandingNumber</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestExercisableNumber">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Number of fully vested and expected to vest exercisable options that may be converted into shares under option plan. Includes, but is not limited to, unvested options for which requisite service period has not been rendered but that are expected to vest based on achievement of performance condition, if forfeitures are recognized when they occur.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (e)(2)<br> -URI http://asc.fasb.org/extlink&amp;oid=116856206&amp;loc=d3e5070-113901<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestExercisableNumber</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingAggregateIntrinsicValue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount by which current fair value of underlying stock exceeds exercise price of fully vested and expected to vest options outstanding. Includes, but is not limited to, unvested options for which requisite service period has not been rendered but that are expected to vest based on achievement of performance condition, if forfeitures are recognized when they occur.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (e)<br> -URI http://asc.fasb.org/extlink&amp;oid=116856206&amp;loc=d3e5070-113901<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingAggregateIntrinsicValue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageExercisePrice">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Weighted-average exercise price, at which grantee can acquire shares reserved for issuance, for fully vested and expected to vest options outstanding. Includes, but is not limited to, unvested options for which requisite service period has not been rendered but that are expected to vest based on achievement of performance condition, if forfeitures are recognized when they occur.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (e)(1)<br> -URI http://asc.fasb.org/extlink&amp;oid=116856206&amp;loc=d3e5070-113901<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageExercisePrice</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>num:perShareItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsAggregateIntrinsicValueOutstanding">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Intrinsic value of outstanding award under share-based payment arrangement. Excludes share and unit options.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsAggregateIntrinsicValueOutstanding</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageRemainingContractualTerm1">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Weighted average remaining contractual term for fully vested and expected to vest options outstanding, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents reported fact of one year, five months, and thirteen days. Includes, but is not limited to, unvested options for which requisite service period has not been rendered but that are expected to vest based on achievement of performance condition, if forfeitures are recognized when they occur.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (e)(1)<br> -URI http://asc.fasb.org/extlink&amp;oid=116856206&amp;loc=d3e5070-113901<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageRemainingContractualTerm1</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:durationItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AwardTypeAxis=us-gaap_RestrictedStockUnitsRSUMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AwardTypeAxis=us-gaap_RestrictedStockUnitsRSUMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>60
<FILENAME>R77.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.20.1</span><table class="report" border="0" cellspacing="2" id="idp6911764384">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Note 15 - Share Capital - Common Shares Outstanding (Details) - shares<br></strong></div></th>
<th class="th" colspan="1"></th>
<th class="th" colspan="3">12 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Jun. 10, 2019</div></th>
<th class="th"><div>Jan. 31, 2020</div></th>
<th class="th"><div>Jan. 31, 2019</div></th>
<th class="th"><div>Jan. 31, 2018</div></th>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_CommonStockSharesOutstanding', window );">Balance, beginning of year (in shares)</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">76,864,866<span></span>
</td>
<td class="nump">76,773,000<span></span>
</td>
<td class="nump">75,875,000<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_dsgx_StockIssuedDuringPeriodSharesOptionsAndShareUnitsExercised', window );">Stock options and share units exercised (in shares)</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">95,000<span></span>
</td>
<td class="nump">46,000<span></span>
</td>
<td class="nump">141,000<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_StockIssuedDuringPeriodSharesNewIssues', window );">Issuance of common shares (in shares)</a></td>
<td class="nump">6,900,000<span></span>
</td>
<td class="nump">6,900,000<span></span>
</td>
<td class="text"> <span></span>
</td>
<td class="text"> <span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessAcquisitionEquityInterestsIssuedOrIssuableNumberOfSharesIssued', window );">Acquisitions (Note 3) (in shares)</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">296,000<span></span>
</td>
<td class="nump">46,000<span></span>
</td>
<td class="nump">757,000<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_CommonStockSharesOutstanding', window );">Balance, end of year (in shares)</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">84,156,316<span></span>
</td>
<td class="nump">76,864,866<span></span>
</td>
<td class="nump">76,773,000<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dsgx_StockIssuedDuringPeriodSharesOptionsAndShareUnitsExercised">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Represents the number of shares issued from the exercise of stock options and share units.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dsgx_StockIssuedDuringPeriodSharesOptionsAndShareUnitsExercised</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dsgx_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_BusinessAcquisitionEquityInterestsIssuedOrIssuableNumberOfSharesIssued">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Number of shares of equity interests issued or issuable to acquire entity.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 805<br> -SubTopic 30<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (b)(4)<br> -URI http://asc.fasb.org/extlink&amp;oid=35744584&amp;loc=d3e6927-128479<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_BusinessAcquisitionEquityInterestsIssuedOrIssuableNumberOfSharesIssued</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CommonStockSharesOutstanding">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Number of shares of common stock outstanding. Common stock represent the ownership interest in a corporation.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -URI http://asc.fasb.org/extlink&amp;oid=109259400&amp;loc=d3e21463-112644<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(29))<br> -URI http://asc.fasb.org/extlink&amp;oid=6877327&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CommonStockSharesOutstanding</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StockIssuedDuringPeriodSharesNewIssues">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Number of new stock issued during the period.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(29))<br> -URI http://asc.fasb.org/extlink&amp;oid=6877327&amp;loc=d3e13212-122682<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -URI http://asc.fasb.org/extlink&amp;oid=109259400&amp;loc=d3e21463-112644<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.3-04)<br> -URI http://asc.fasb.org/extlink&amp;oid=27012166&amp;loc=d3e187085-122770<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(28))<br> -URI http://asc.fasb.org/extlink&amp;oid=6877327&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StockIssuedDuringPeriodSharesNewIssues</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>61
<FILENAME>R73.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.20.1</span><table class="report" border="0" cellspacing="2" id="idp6898475008">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>Note 13 - Leases - Maturities of Operating Lease Liabilities (Details) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th"><div>Jan. 31, 2020</div></th>
<th class="th"><div>Jan. 31, 2019</div></th>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths', window );">2021</a></td>
<td class="nump">$ 4,343<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearTwo', window );">2022</a></td>
<td class="nump">3,283<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearThree', window );">2023</a></td>
<td class="nump">2,508<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFour', window );">2024</a></td>
<td class="nump">1,924<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFive', window );">2025</a></td>
<td class="nump">1,252<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueAfterYearFive', window );">2026 and thereafter</a></td>
<td class="nump">1,049<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue', window );">Total lease payments</a></td>
<td class="nump">14,359<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_LesseeOperatingLeaseLiabilityUndiscountedExcessAmount', window );">Less: imputed interest</a></td>
<td class="num">(954)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_OperatingLeaseLiability', window );">Total lease obligations</a></td>
<td class="nump">13,405<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_OperatingLeaseLiabilityCurrent', window );">Current</a></td>
<td class="nump">3,928<span></span>
</td>
<td class="text"> <span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_OperatingLeaseLiabilityNoncurrent', window );">Long-term</a></td>
<td class="nump">$ 9,477<span></span>
</td>
<td class="text"> <span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of lessee's undiscounted obligation for lease payments for operating lease.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 20<br> -Section 50<br> -Paragraph 6<br> -URI http://asc.fasb.org/extlink&amp;oid=77888426&amp;loc=SL77918701-209980<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueAfterYearFive">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of lessee's undiscounted obligation for lease payments for operating lease, due after fifth fiscal year following latest fiscal year.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 20<br> -Section 50<br> -Paragraph 6<br> -URI http://asc.fasb.org/extlink&amp;oid=77888426&amp;loc=SL77918701-209980<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueAfterYearFive</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of lessee's undiscounted obligation for lease payments for operating lease, due in next fiscal year following latest fiscal year.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 20<br> -Section 50<br> -Paragraph 6<br> -URI http://asc.fasb.org/extlink&amp;oid=77888426&amp;loc=SL77918701-209980<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFive">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of lessee's undiscounted obligation for lease payments for operating lease, due in fifth fiscal year following latest fiscal year.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 20<br> -Section 50<br> -Paragraph 6<br> -URI http://asc.fasb.org/extlink&amp;oid=77888426&amp;loc=SL77918701-209980<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFive</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFour">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of lessee's undiscounted obligation for lease payments for operating lease, due in fourth fiscal year following latest fiscal year.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 20<br> -Section 50<br> -Paragraph 6<br> -URI http://asc.fasb.org/extlink&amp;oid=77888426&amp;loc=SL77918701-209980<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFour</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearThree">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of lessee's undiscounted obligation for lease payments for operating lease, due in third fiscal year following latest fiscal year.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 20<br> -Section 50<br> -Paragraph 6<br> -URI http://asc.fasb.org/extlink&amp;oid=77888426&amp;loc=SL77918701-209980<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearThree</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearTwo">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of lessee's undiscounted obligation for lease payments for operating lease, due in second fiscal year following latest fiscal year.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 20<br> -Section 50<br> -Paragraph 6<br> -URI http://asc.fasb.org/extlink&amp;oid=77888426&amp;loc=SL77918701-209980<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearTwo</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LesseeOperatingLeaseLiabilityUndiscountedExcessAmount">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of lessee's undiscounted obligation for lease payments in excess of discounted obligation for lease payments for operating lease.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 20<br> -Section 50<br> -Paragraph 6<br> -URI http://asc.fasb.org/extlink&amp;oid=77888426&amp;loc=SL77918701-209980<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LesseeOperatingLeaseLiabilityUndiscountedExcessAmount</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OperatingLeaseLiability">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Present value of lessee's discounted obligation for lease payments from operating lease.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 20<br> -Section 45<br> -Paragraph 1<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=77888419&amp;loc=SL77918627-209977<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OperatingLeaseLiability</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OperatingLeaseLiabilityCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Present value of lessee's discounted obligation for lease payments from operating lease, classified as current.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 20<br> -Section 45<br> -Paragraph 1<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=77888419&amp;loc=SL77918627-209977<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OperatingLeaseLiabilityCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OperatingLeaseLiabilityNoncurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Present value of lessee's discounted obligation for lease payments from operating lease, classified as noncurrent.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 20<br> -Section 45<br> -Paragraph 1<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=77888419&amp;loc=SL77918627-209977<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OperatingLeaseLiabilityNoncurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>62
<FILENAME>R83.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.20.1</span><table class="report" border="0" cellspacing="2" id="idp6912545824">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Note 17 -Stock-based Compensation Plans - Summary of Option Activity (Details) - USD ($)<br> $ / shares in Units, $ in Millions</strong></div></th>
<th class="th" colspan="3">12 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Jan. 31, 2020</div></th>
<th class="th"><div>Jan. 31, 2019</div></th>
<th class="th"><div>Jan. 31, 2018</div></th>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber', window );">Number of Stock Options Outstanding (in shares)</a></td>
<td class="nump">879,338<span></span>
</td>
<td class="nump">657,209<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice', window );">Weighted-Average Exercise Price (in dollars per share)</a></td>
<td class="nump">$ 21.41<span></span>
</td>
<td class="nump">$ 18.21<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2', window );">Weighted-Average Remaining Contractual Life (Year)</a></td>
<td class="text">4 years 219 days<span></span>
</td>
<td class="text">4 years 255 days<span></span>
</td>
<td class="text">4 years 328 days<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue', window );">Aggregate Intrinsic Value</a></td>
<td class="nump">$ 20.2<span></span>
</td>
<td class="nump">$ 8.7<span></span>
</td>
<td class="nump">$ 5.7<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross', window );">Granted, shares (in shares)</a></td>
<td class="nump">367,173<span></span>
</td>
<td class="nump">272,144<span></span>
</td>
<td class="nump">274,500<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice', window );">Granted, weighted-average exercise price (in dollars per share)</a></td>
<td class="nump">$ 38.06<span></span>
</td>
<td class="nump">$ 27.96<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised', window );">Exercised, shares (in shares)</a></td>
<td class="num">(94,970)<span></span>
</td>
<td class="num">(46,065)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice', window );">Exercised, weighted-average exercise price (in dollars per share)</a></td>
<td class="nump">$ 15.62<span></span>
</td>
<td class="nump">$ 11.75<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresInPeriod', window );">Forfeited, shares (in shares)</a></td>
<td class="num">(23,719)<span></span>
</td>
<td class="num">(3,950)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsForfeituresInPeriodWeightedAverageExercisePrice', window );">Forfeited, weighted-average exercise price (in dollars per share)</a></td>
<td class="nump">$ 31.93<span></span>
</td>
<td class="nump">$ 26.43<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber', window );">Number of Stock Options Outstanding (in shares)</a></td>
<td class="nump">1,127,822<span></span>
</td>
<td class="nump">879,338<span></span>
</td>
<td class="nump">657,209<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice', window );">Weighted-Average Exercise Price (in dollars per share)</a></td>
<td class="nump">$ 26.82<span></span>
</td>
<td class="nump">$ 21.41<span></span>
</td>
<td class="nump">$ 18.21<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingNumber', window );">Vested or expected to vest, shares (in shares)</a></td>
<td class="nump">1,127,822<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageExercisePrice', window );">Vested or expected to vest, weighted-average exercise price (in dollars per share)</a></td>
<td class="nump">$ 26.82<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageRemainingContractualTerm1', window );">Vested or expected to vest, weighted-average remaining contractual life (Year)</a></td>
<td class="text">4 years 219 days<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingAggregateIntrinsicValue', window );">Vested or expected to vest, aggregate intrinsic value</a></td>
<td class="nump">$ 20.2<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber', window );">Exercisable, shares (in shares)</a></td>
<td class="nump">718,169<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice', window );">Exercisable, weighted-average exercise price (in dollars per share)</a></td>
<td class="nump">$ 22.88<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageRemainingContractualTerm1', window );">Exercisable, weighted-average remaining contractual life (Year)</a></td>
<td class="text">4 years<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableIntrinsicValue1', window );">Exercisable, aggregate intrinsic value</a></td>
<td class="nump">$ 15.7<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The number of shares into which fully or partially vested stock options outstanding as of the balance sheet date can be currently converted under the option plan.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(iii)<br> -URI http://asc.fasb.org/extlink&amp;oid=116856206&amp;loc=d3e5070-113901<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The weighted-average price as of the balance sheet date at which grantees can acquire the shares reserved for issuance on vested portions of options outstanding and currently exercisable under the stock option plan.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(iii)<br> -URI http://asc.fasb.org/extlink&amp;oid=116856206&amp;loc=d3e5070-113901<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>num:perShareItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresInPeriod">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The number of shares under options that were cancelled during the reporting period as a result of occurrence of a terminating event specified in contractual agreements pertaining to the stock option plan.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(iv)(3)<br> -URI http://asc.fasb.org/extlink&amp;oid=116856206&amp;loc=d3e5070-113901<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresInPeriod</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Gross number of share options (or share units) granted during the period.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount by which the current fair value of the underlying stock exceeds the exercise price of options outstanding.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -URI http://asc.fasb.org/extlink&amp;oid=116856206&amp;loc=d3e5070-113901<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Number of options outstanding, including both vested and non-vested options.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -URI http://asc.fasb.org/extlink&amp;oid=116856206&amp;loc=d3e5070-113901<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(i)-(ii)<br> -URI http://asc.fasb.org/extlink&amp;oid=116856206&amp;loc=d3e5070-113901<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Weighted average price at which grantees can acquire the shares reserved for issuance under the stock option plan.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(i)<br> -URI http://asc.fasb.org/extlink&amp;oid=116856206&amp;loc=d3e5070-113901<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>num:perShareItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingAggregateIntrinsicValue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount by which current fair value of underlying stock exceeds exercise price of fully vested and expected to vest options outstanding. Includes, but is not limited to, unvested options for which requisite service period has not been rendered but that are expected to vest based on achievement of performance condition, if forfeitures are recognized when they occur.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (e)<br> -URI http://asc.fasb.org/extlink&amp;oid=116856206&amp;loc=d3e5070-113901<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingAggregateIntrinsicValue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingNumber">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Number of fully vested and expected to vest options outstanding that can be converted into shares under option plan. Includes, but is not limited to, unvested options for which requisite service period has not been rendered but that are expected to vest based on achievement of performance condition, if forfeitures are recognized when they occur.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (e)(1)<br> -URI http://asc.fasb.org/extlink&amp;oid=116856206&amp;loc=d3e5070-113901<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingNumber</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageExercisePrice">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Weighted-average exercise price, at which grantee can acquire shares reserved for issuance, for fully vested and expected to vest options outstanding. Includes, but is not limited to, unvested options for which requisite service period has not been rendered but that are expected to vest based on achievement of performance condition, if forfeitures are recognized when they occur.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (e)(1)<br> -URI http://asc.fasb.org/extlink&amp;oid=116856206&amp;loc=d3e5070-113901<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageExercisePrice</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>num:perShareItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Weighted average price at which option holders acquired shares when converting their stock options into shares.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>num:perShareItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsForfeituresInPeriodWeightedAverageExercisePrice">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Weighted average price at which grantees could have acquired the underlying shares with respect to stock options that were terminated.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsForfeituresInPeriodWeightedAverageExercisePrice</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>num:perShareItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Weighted average per share amount at which grantees can acquire shares of common stock by exercise of options.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>num:perShareItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableIntrinsicValue1">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of difference between fair value of the underlying shares reserved for issuance and exercise price of vested portions of options outstanding and currently exercisable.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -URI http://asc.fasb.org/extlink&amp;oid=116856206&amp;loc=d3e5070-113901<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableIntrinsicValue1</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageRemainingContractualTerm1">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Weighted average remaining contractual term for vested portions of options outstanding and currently exercisable or convertible, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents the reported fact of one year, five months, and thirteen days.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -URI http://asc.fasb.org/extlink&amp;oid=116856206&amp;loc=d3e5070-113901<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageRemainingContractualTerm1</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:durationItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Weighted average remaining contractual term for option awards outstanding, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents the reported fact of one year, five months, and thirteen days.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (e)(1)<br> -URI http://asc.fasb.org/extlink&amp;oid=116856206&amp;loc=d3e5070-113901<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:durationItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageRemainingContractualTerm1">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Weighted average remaining contractual term for fully vested and expected to vest options outstanding, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents reported fact of one year, five months, and thirteen days. Includes, but is not limited to, unvested options for which requisite service period has not been rendered but that are expected to vest based on achievement of performance condition, if forfeitures are recognized when they occur.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (e)(1)<br> -URI http://asc.fasb.org/extlink&amp;oid=116856206&amp;loc=d3e5070-113901<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageRemainingContractualTerm1</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:durationItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Number of share options (or share units) exercised during the current period.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(iv)(2)<br> -URI http://asc.fasb.org/extlink&amp;oid=116856206&amp;loc=d3e5070-113901<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.3-04)<br> -URI http://asc.fasb.org/extlink&amp;oid=27012166&amp;loc=d3e187085-122770<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(28))<br> -URI http://asc.fasb.org/extlink&amp;oid=6877327&amp;loc=d3e13212-122682<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(29))<br> -URI http://asc.fasb.org/extlink&amp;oid=6877327&amp;loc=d3e13212-122682<br><br>Reference 5: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -URI http://asc.fasb.org/extlink&amp;oid=109259400&amp;loc=d3e21463-112644<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>63
<FILENAME>R58.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.20.1</span><table class="report" border="0" cellspacing="2" id="idp6909391232">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>Note 4 - Fair Value Measurements - Derivative Instruments at Fair Value (Details) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th"><div>Jan. 31, 2020</div></th>
<th class="th"><div>Jan. 31, 2019</div></th>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DerivativeAssets', window );">Equity contracts</a></td>
<td class="nump">$ 5,656<span></span>
</td>
<td class="nump">$ 2,794<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_HedgingDesignationAxis=us-gaap_DesignatedAsHedgingInstrumentMember', window );">Designated as Hedging Instrument [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DerivativeAssets', window );">Equity contracts</a></td>
<td class="text"> <span></span>
</td>
<td class="text"> <span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_HedgingDesignationAxis=us-gaap_NondesignatedMember', window );">Not Designated as Hedging Instrument [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DerivativeAssets', window );">Equity contracts</a></td>
<td class="nump">$ 5,656<span></span>
</td>
<td class="nump">$ 2,794<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DerivativeAssets">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Fair value, after the effects of master netting arrangements, of a financial asset or other contract with one or more underlyings, notional amount or payment provision or both, and the contract can be net settled by means outside the contract or delivery of an asset. Includes assets not subject to a master netting arrangement and not elected to be offset.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 20<br> -Section 55<br> -Paragraph 10<br> -URI http://asc.fasb.org/extlink&amp;oid=99393222&amp;loc=SL20226008-175313<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 825<br> -SubTopic 10<br> -Section 50<br> -Paragraph 10<br> -URI http://asc.fasb.org/extlink&amp;oid=118260190&amp;loc=d3e13433-108611<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 20<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -URI http://asc.fasb.org/extlink&amp;oid=51824906&amp;loc=SL20225862-175312<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DerivativeAssets</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_HedgingDesignationAxis=us-gaap_DesignatedAsHedgingInstrumentMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_HedgingDesignationAxis=us-gaap_DesignatedAsHedgingInstrumentMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_HedgingDesignationAxis=us-gaap_NondesignatedMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_HedgingDesignationAxis=us-gaap_NondesignatedMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>64
<FILENAME>R103.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.20.1</span><table class="report" border="0" cellspacing="2" id="idp6892241728">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Note 22 - Segmented Information - Segmented Revenue by Revenue Type (Details) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th" colspan="3">12 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Jan. 31, 2020</div></th>
<th class="th"><div>Jan. 31, 2019</div></th>
<th class="th"><div>Jan. 31, 2018</div></th>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax', window );">Revenues</a></td>
<td class="nump">$ 325,791<span></span>
</td>
<td class="nump">$ 275,171<span></span>
</td>
<td class="nump">$ 237,439<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_srt_ProductOrServiceAxis=us-gaap_ServiceMember', window );">Service [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax', window );">Revenues</a></td>
<td class="nump">284,654<span></span>
</td>
<td class="nump">241,543<span></span>
</td>
<td class="nump">204,376<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_srt_ProductOrServiceAxis=dsgx_ProfessionalServicesAndOtherMember', window );">Professional Services and Other [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax', window );">Revenues</a></td>
<td class="nump">33,555<span></span>
</td>
<td class="nump">27,774<span></span>
</td>
<td class="nump">24,918<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_srt_ProductOrServiceAxis=us-gaap_LicenseMember', window );">License [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax', window );">Revenues</a></td>
<td class="nump">$ 7,582<span></span>
</td>
<td class="nump">$ 5,854<span></span>
</td>
<td class="nump">$ 8,145<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount, including tax collected from customer, of revenue from satisfaction of performance obligation by transferring promised good or service to customer. Tax collected from customer is tax assessed by governmental authority that is both imposed on and concurrent with specific revenue-producing transaction, including, but not limited to, sales, use, value-added and excise.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 606<br> -SubTopic 10<br> -Section 50<br> -Paragraph 5<br> -URI http://asc.fasb.org/extlink&amp;oid=118956577&amp;loc=SL49130545-203045<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 606<br> -SubTopic 10<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=118956577&amp;loc=SL49130543-203045<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_ProductOrServiceAxis=us-gaap_ServiceMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_ProductOrServiceAxis=us-gaap_ServiceMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_ProductOrServiceAxis=dsgx_ProfessionalServicesAndOtherMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_ProductOrServiceAxis=dsgx_ProfessionalServicesAndOtherMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_ProductOrServiceAxis=us-gaap_LicenseMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_ProductOrServiceAxis=us-gaap_LicenseMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>65
<FILENAME>R50.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.20.1</span><table class="report" border="0" cellspacing="2" id="idp6674801248">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Note 22 - Segmented Information (Tables)<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Jan. 31, 2020</div></th></tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_TableTextBlock', window );"><strong>Notes Tables</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ScheduleOfRevenueFromExternalCustomersAttributedToForeignCountriesByGeographicAreaTextBlock', window );">Schedule of Revenue from External Customers Attributed to Foreign Countries by Geographic Area [Table Text Block]</a></td>
<td class="text"><div style="display: inline; font-family: times new roman; font-size: 10pt"><table cellpadding="0" cellspacing="0" style="border-collapse: collapse; font: 10pt Times New Roman, Times, Serif; min-; min-width: 700px;"> <tr style="vertical-align: bottom; background-color: White"> <td style="font-style: italic">Year Ended</td> <td style="font-weight: bold">&nbsp;</td> <td style="border-top: Black 1pt solid; font-weight: bold; text-align: left">&nbsp;</td> <td style="border-top: Black 1pt solid; font-weight: bold; text-align: right"><div style="display: inline; font-family: Times New Roman, Times, Serif; font-size: 10pt"><div style="display: inline; font-weight: bold;">January 31,</div></div></td> <td style="border-top: Black 1pt solid; white-space: nowrap; font-weight: bold; text-align: left">&nbsp;</td> <td style="border-top: Black 1pt solid">&nbsp;</td> <td style="border-top: Black 1pt solid; text-align: left">&nbsp;</td> <td style="border-top: Black 1pt solid; text-align: right"><div style="display: inline; font-family: Times New Roman, Times, Serif; font-size: 10pt">January 31,</div></td> <td style="border-top: Black 1pt solid; white-space: nowrap; text-align: left">&nbsp;</td> <td style="border-top: Black 1pt solid">&nbsp;</td> <td style="border-top: Black 1pt solid; text-align: left">&nbsp;</td> <td style="border-top: Black 1pt solid; text-align: right"><div style="display: inline; font-family: Times New Roman, Times, Serif; font-size: 10pt">January 31,</div></td> <td style="border-top: Black 1pt solid; white-space: nowrap; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: White"> <td style="padding-bottom: 1pt">&nbsp;</td> <td style="font-weight: bold">&nbsp;</td> <td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: right">2020</td> <td style="white-space: nowrap; border-bottom: Black 1pt solid; font-weight: bold; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid">&nbsp;</td> <td style="border-bottom: Black 1pt solid; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid; text-align: right">2019</td> <td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid">&nbsp;</td> <td style="border-bottom: Black 1pt solid; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid; text-align: right">2018</td> <td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td>Revenues</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right">&nbsp;</td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right">&nbsp;</td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right">&nbsp;</td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: White"> <td style="width: 55%; text-align: left; padding-left: 12pt">United States</td> <td style="width: 2%; font-weight: bold">&nbsp;</td> <td style="width: 1%; font-weight: bold; text-align: left">&nbsp;</td> <td style="width: 11%; font-weight: bold; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">202,814</div></td> <td style="white-space: nowrap; width: 1%; font-weight: bold; text-align: left">&nbsp;</td> <td style="width: 2%">&nbsp;</td> <td style="width: 1%; text-align: left">&nbsp;</td> <td style="width: 11%; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">165,115</div></td> <td style="white-space: nowrap; width: 1%; text-align: left">&nbsp;</td> <td style="width: 2%">&nbsp;</td> <td style="width: 1%; text-align: left">&nbsp;</td> <td style="width: 11%; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">133,263</div></td> <td style="white-space: nowrap; width: 1%; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="text-align: left; padding-left: 12pt">Europe, Middle-East and Africa</td> <td style="font-weight: bold">&nbsp;</td> <td style="font-weight: bold; text-align: left">&nbsp;</td> <td style="font-weight: bold; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">82,596</div></td> <td style="white-space: nowrap; font-weight: bold; text-align: left">&nbsp;</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">80,094</div></td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">77,576</div></td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: White"> <td style="padding-left: 12pt">Canada</td> <td style="font-weight: bold">&nbsp;</td> <td style="font-weight: bold; text-align: left">&nbsp;</td> <td style="font-weight: bold; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">27,304</div></td> <td style="white-space: nowrap; font-weight: bold; text-align: left">&nbsp;</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">18,167</div></td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">15,667</div></td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="text-align: left; padding-bottom: 1pt; padding-left: 12pt">Asia Pacific</td> <td style="font-weight: bold">&nbsp;</td> <td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">13,077</div></td> <td style="white-space: nowrap; border-bottom: Black 1pt solid; font-weight: bold; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid">&nbsp;</td> <td style="border-bottom: Black 1pt solid; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">11,795</div></td> <td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid">&nbsp;</td> <td style="border-bottom: Black 1pt solid; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">10,933</div></td> <td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: White"> <td style="padding-bottom: 1pt">&nbsp;</td> <td style="font-weight: bold">&nbsp;</td> <td style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">325,791</div></td> <td style="border-bottom: Black 1.5pt solid; white-space: nowrap; font-weight: bold; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1.5pt solid">&nbsp;</td> <td style="border-bottom: Black 1.5pt solid; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1.5pt solid; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">275,171</div></td> <td style="border-bottom: Black 1.5pt solid; white-space: nowrap; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1.5pt solid">&nbsp;</td> <td style="border-bottom: Black 1.5pt solid; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1.5pt solid; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">237,439</div></td> <td style="border-bottom: Black 1.5pt solid; white-space: nowrap; text-align: left">&nbsp;</td> </tr> </table></div><span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ScheduleOfSegmentReportingInformationBySegmentTextBlock', window );">Schedule of Segment Reporting Information, by Segment [Table Text Block]</a></td>
<td class="text"><div style="display: inline; font-family: times new roman; font-size: 10pt"><table cellpadding="0" cellspacing="0" style="border-collapse: collapse; font: 10pt Times New Roman, Times, Serif; min-; min-width: 700px;"> <tr style="vertical-align: bottom; background-color: White"> <td style="font-style: italic">Year Ended</td> <td style="font-weight: bold">&nbsp;</td> <td style="border-top: Black 1pt solid; font-weight: bold; text-align: left">&nbsp;</td> <td style="border-top: Black 1pt solid; font-weight: bold; text-align: right"><div style="display: inline; font-family: Times New Roman, Times, Serif; font-size: 10pt"><div style="display: inline; font-weight: bold;">January 31,</div></div></td> <td style="border-top: Black 1pt solid; white-space: nowrap; font-weight: bold; text-align: left">&nbsp;</td> <td style="border-top: Black 1pt solid">&nbsp;</td> <td style="border-top: Black 1pt solid; text-align: left">&nbsp;</td> <td style="border-top: Black 1pt solid; text-align: right"><div style="display: inline; font-family: Times New Roman, Times, Serif; font-size: 10pt">January 31,</div></td> <td style="border-top: Black 1pt solid; white-space: nowrap; text-align: left">&nbsp;</td> <td style="border-top: Black 1pt solid">&nbsp;</td> <td style="border-top: Black 1pt solid; text-align: left">&nbsp;</td> <td style="border-top: Black 1pt solid; text-align: right"><div style="display: inline; font-family: Times New Roman, Times, Serif; font-size: 10pt">January 31,</div></td> <td style="border-top: Black 1pt solid; white-space: nowrap; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: White"> <td style="padding-bottom: 1pt">&nbsp;</td> <td style="font-weight: bold">&nbsp;</td> <td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: right">2020</td> <td style="white-space: nowrap; border-bottom: Black 1pt solid; font-weight: bold; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid">&nbsp;</td> <td style="border-bottom: Black 1pt solid; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid; text-align: right">2019</td> <td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid">&nbsp;</td> <td style="border-bottom: Black 1pt solid; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid; text-align: right">2018</td> <td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td>Revenues</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right">&nbsp;</td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right">&nbsp;</td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right">&nbsp;</td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: White"> <td style="width: 55%; padding-left: 12pt">Services</td> <td style="width: 2%; font-weight: bold">&nbsp;</td> <td style="width: 1%; font-weight: bold; text-align: left">&nbsp;</td> <td style="width: 11%; font-weight: bold; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">284,654</div></td> <td style="white-space: nowrap; width: 1%; font-weight: bold; text-align: left">&nbsp;</td> <td style="width: 2%">&nbsp;</td> <td style="width: 1%; text-align: left">&nbsp;</td> <td style="width: 11%; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">241,543</div></td> <td style="white-space: nowrap; width: 1%; text-align: left">&nbsp;</td> <td style="width: 2%">&nbsp;</td> <td style="width: 1%; text-align: left">&nbsp;</td> <td style="width: 11%; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">204,376</div></td> <td style="white-space: nowrap; width: 1%; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="text-align: left; padding-left: 12pt">Professional services and other</td> <td style="font-weight: bold">&nbsp;</td> <td style="font-weight: bold; text-align: left">&nbsp;</td> <td style="font-weight: bold; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">33,555</div></td> <td style="white-space: nowrap; font-weight: bold; text-align: left">&nbsp;</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">27,774</div></td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">24,918</div></td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: White"> <td style="padding-bottom: 1pt; padding-left: 12pt">Licenses</td> <td style="font-weight: bold">&nbsp;</td> <td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">7,582</div></td> <td style="white-space: nowrap; border-bottom: Black 1pt solid; font-weight: bold; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid">&nbsp;</td> <td style="border-bottom: Black 1pt solid; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">5,854</div></td> <td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid">&nbsp;</td> <td style="border-bottom: Black 1pt solid; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">8,145</div></td> <td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="padding-bottom: 1pt">&nbsp;</td> <td style="font-weight: bold">&nbsp;</td> <td style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">325,791</div></td> <td style="border-bottom: Black 1.5pt solid; white-space: nowrap; font-weight: bold; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1.5pt solid">&nbsp;</td> <td style="border-bottom: Black 1.5pt solid; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1.5pt solid; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">275,171</div></td> <td style="border-bottom: Black 1.5pt solid; white-space: nowrap; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1.5pt solid">&nbsp;</td> <td style="border-bottom: Black 1.5pt solid; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1.5pt solid; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">237,439</div></td> <td style="border-bottom: Black 1.5pt solid; white-space: nowrap; text-align: left">&nbsp;</td> </tr> </table></div><span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ScheduleOfEntityWideDisclosureOnGeographicAreasLongLivedAssetsInIndividualForeignCountriesByCountryTextBlock', window );">Schedule of Disclosure on Geographic Areas, Long-Lived Assets in Individual Foreign Countries by Country [Table Text Block]</a></td>
<td class="text"><div style="display: inline; font-family: times new roman; font-size: 10pt"><table cellpadding="0" cellspacing="0" style="border-collapse: collapse; font: 10pt Times New Roman, Times, Serif; min-; min-width: 700px;"> <tr style="vertical-align: bottom; background-color: White"> <td>&nbsp;</td> <td style="font-weight: bold">&nbsp;</td> <td style="border-top: Black 1pt solid; font-weight: bold; text-align: left">&nbsp;</td> <td style="border-top: Black 1pt solid; font-weight: bold; text-align: right"><div style="display: inline; font-family: Times New Roman, Times, Serif; font-size: 10pt"><div style="display: inline; font-weight: bold;">January 31,</div></div></td> <td style="border-top: Black 1pt solid; white-space: nowrap; font-weight: bold; text-align: left">&nbsp;</td> <td style="border-top: Black 1pt solid">&nbsp;</td> <td style="border-top: Black 1pt solid; text-align: left">&nbsp;</td> <td style="border-top: Black 1pt solid; text-align: right"><div style="display: inline; font-family: Times New Roman, Times, Serif; font-size: 10pt">January 31,</div></td> <td style="border-top: Black 1pt solid; white-space: nowrap; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: White"> <td style="padding-bottom: 1pt">&nbsp;</td> <td style="font-weight: bold">&nbsp;</td> <td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: right">2020</td> <td style="white-space: nowrap; border-bottom: Black 1pt solid; font-weight: bold; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid">&nbsp;</td> <td style="border-bottom: Black 1pt solid; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid; text-align: right">2019</td> <td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="font-weight: normal; text-align: left">Total long-lived assets</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right">&nbsp;</td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right">&nbsp;</td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: White"> <td style="width: 68%; text-align: left; padding-left: 7.5pt">United States</td> <td style="width: 2%; font-weight: bold">&nbsp;</td> <td style="width: 1%; font-weight: bold; text-align: left">&nbsp;</td> <td style="width: 12%; font-weight: bold; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">114,980</div></td> <td style="white-space: nowrap; width: 1%; font-weight: bold; text-align: left">&nbsp;</td> <td style="width: 2%">&nbsp;</td> <td style="width: 1%; text-align: left">&nbsp;</td> <td style="width: 12%; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">119,958</div></td> <td style="white-space: nowrap; width: 1%; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="text-align: left; padding-left: 7.5pt">Europe, Middle-East and Africa</td> <td style="font-weight: bold">&nbsp;</td> <td style="font-weight: bold; text-align: left">&nbsp;</td> <td style="font-weight: bold; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">31,299</div></td> <td style="white-space: nowrap; font-weight: bold; text-align: left">&nbsp;</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">28,433</div></td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: White"> <td style="padding-left: 7.5pt">Canada</td> <td style="font-weight: bold">&nbsp;</td> <td style="font-weight: bold; text-align: left">&nbsp;</td> <td style="font-weight: bold; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">111,264</div></td> <td style="white-space: nowrap; font-weight: bold; text-align: left">&nbsp;</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">40,413</div></td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="padding-bottom: 1pt; padding-left: 7.5pt">Asia-Pacific</td> <td style="font-weight: bold">&nbsp;</td> <td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">13,144</div></td> <td style="white-space: nowrap; border-bottom: Black 1pt solid; font-weight: bold; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid">&nbsp;</td> <td style="border-bottom: Black 1pt solid; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">&#x2013;</div></td> <td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: White"> <td style="padding-bottom: 1pt">&nbsp;</td> <td style="font-weight: bold">&nbsp;</td> <td style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">270,687</div></td> <td style="border-bottom: Black 1.5pt solid; white-space: nowrap; font-weight: bold; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1.5pt solid">&nbsp;</td> <td style="border-bottom: Black 1.5pt solid; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1.5pt solid; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">188,804</div></td> <td style="border-bottom: Black 1.5pt solid; white-space: nowrap; text-align: left">&nbsp;</td> </tr> </table></div><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ScheduleOfEntityWideDisclosureOnGeographicAreasLongLivedAssetsInIndividualForeignCountriesByCountryTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of the names of foreign countries in which material long-lived assets other than financial instruments, long-term customer relationships of a financial institution, mortgage and other servicing rights, deferred policy acquisition costs, and deferred tax assets are located, and amount of such long-lived assets located in that country or foreign geographic area.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 41<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=115929826&amp;loc=d3e9038-108599<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ScheduleOfEntityWideDisclosureOnGeographicAreasLongLivedAssetsInIndividualForeignCountriesByCountryTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>nonnum:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ScheduleOfRevenueFromExternalCustomersAttributedToForeignCountriesByGeographicAreaTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of the names of foreign countries from which revenue is material and the amount of revenue from external customers attributed to those countries. An entity may also provide subtotals of geographic information about groups of countries.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03.1)<br> -URI http://asc.fasb.org/extlink&amp;oid=116634182&amp;loc=SL114868664-224227<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 41<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=115929826&amp;loc=d3e9038-108599<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ScheduleOfRevenueFromExternalCustomersAttributedToForeignCountriesByGeographicAreaTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>nonnum:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ScheduleOfSegmentReportingInformationBySegmentTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of the profit or loss and total assets for each reportable segment. An entity discloses certain information on each reportable segment if the amounts (a) are included in the measure of segment profit or loss reviewed by the chief operating decision maker or (b) are otherwise regularly provided to the chief operating decision maker, even if not included in that measure of segment profit or loss.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 22<br> -URI http://asc.fasb.org/extlink&amp;oid=115929826&amp;loc=d3e8736-108599<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 25<br> -URI http://asc.fasb.org/extlink&amp;oid=115929826&amp;loc=d3e8813-108599<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1<br> -URI http://asc.fasb.org/extlink&amp;oid=108376223&amp;loc=d3e13816-109267<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 21<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=115929826&amp;loc=d3e8721-108599<br><br>Reference 5: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 30<br> -URI http://asc.fasb.org/extlink&amp;oid=115929826&amp;loc=d3e8906-108599<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ScheduleOfSegmentReportingInformationBySegmentTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>nonnum:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_TableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_TableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>66
<FILENAME>R54.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.20.1</span><table class="report" border="0" cellspacing="2" id="idp6891961680">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Note 3 - Acquisitions - Preliminary Purchase Price Allocation for Businesses Acquired (Details) (Parentheticals) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th" colspan="3">12 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Jan. 31, 2020</div></th>
<th class="th"><div>Jan. 31, 2019</div></th>
<th class="th"><div>Jan. 31, 2018</div></th>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessAcquisitionAxis=dsgx_VisualComplianceMember', window );">Visual Compliance [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_CashAcquiredFromAcquisition', window );">Cash acquired</a></td>
<td class="nump">$ 170<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessAcquisitionAxis=dsgx_CoreTransportTechnologiesNzLimitedMember', window );">Core Transport Technologies NZ Limited [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_CashAcquiredFromAcquisition', window );">Cash acquired</a></td>
<td class="nump">213<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessAcquisitionAxis=dsgx_StepcomMember', window );">STEPcom [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_CashAcquiredFromAcquisition', window );">Cash acquired</a></td>
<td class="nump">2,700<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessAcquisitionAxis=dsgx_BesttransportMember', window );">BestTransport [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_CashAcquiredFromAcquisition', window );">Cash acquired</a></td>
<td class="nump">$ 507<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessAcquisitionAxis=dsgx_AljexSoftwareIncMember', window );">Aljex Software, Inc. [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_CashAcquiredFromAcquisition', window );">Cash acquired</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 193<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessAcquisitionAxis=dsgx_VelocityMailMember', window );">Velocity Mail [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_CashAcquiredFromAcquisition', window );">Cash acquired</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text"> <span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessAcquisitionAxis=dsgx_PinPointMember', window );">PinPoint [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_CashAcquiredFromAcquisition', window );">Cash acquired</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 769<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessAcquisitionAxis=dsgx_ShipRushMember', window );">ShipRush [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_CashAcquiredFromAcquisition', window );">Cash acquired</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 253<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessAcquisitionAxis=dsgx_PCSTracIncMember', window );">PCSTrac, Inc. [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_CashAcquiredFromAcquisition', window );">Cash acquired</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text"> <span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessAcquisitionAxis=dsgx_MacroPointLLCMember', window );">MacroPoint LLC [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_CashAcquiredFromAcquisition', window );">Cash acquired</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 2,098<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CashAcquiredFromAcquisition">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The cash inflow associated with the acquisition of business during the period (for example, cash that was held by the acquired business).</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 12<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=118932676&amp;loc=d3e3179-108585<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CashAcquiredFromAcquisition</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_BusinessAcquisitionAxis=dsgx_VisualComplianceMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_BusinessAcquisitionAxis=dsgx_VisualComplianceMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_BusinessAcquisitionAxis=dsgx_CoreTransportTechnologiesNzLimitedMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_BusinessAcquisitionAxis=dsgx_CoreTransportTechnologiesNzLimitedMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_BusinessAcquisitionAxis=dsgx_StepcomMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_BusinessAcquisitionAxis=dsgx_StepcomMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_BusinessAcquisitionAxis=dsgx_BesttransportMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_BusinessAcquisitionAxis=dsgx_BesttransportMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_BusinessAcquisitionAxis=dsgx_AljexSoftwareIncMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_BusinessAcquisitionAxis=dsgx_AljexSoftwareIncMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_BusinessAcquisitionAxis=dsgx_VelocityMailMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_BusinessAcquisitionAxis=dsgx_VelocityMailMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_BusinessAcquisitionAxis=dsgx_PinPointMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_BusinessAcquisitionAxis=dsgx_PinPointMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_BusinessAcquisitionAxis=dsgx_ShipRushMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_BusinessAcquisitionAxis=dsgx_ShipRushMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_BusinessAcquisitionAxis=dsgx_PCSTracIncMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_BusinessAcquisitionAxis=dsgx_PCSTracIncMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_BusinessAcquisitionAxis=dsgx_MacroPointLLCMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_BusinessAcquisitionAxis=dsgx_MacroPointLLCMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>ZIP
<SEQUENCE>67
<FILENAME>0000929638-20-000523-xbrl.zip
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
begin 644 0000929638-20-000523-xbrl.zip
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
MGRF/SLTK=52EU]_'R;0>R.HK*(;\=;O!(&=QZ@PPW*G(8LA?*5?Z>DY]WQD
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
M*FE^U,/3 N/QA'73R0I:O#8:+\-@F4^P6 :TZIC 5>EZ6Q2=#,L8XBHP.=0
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
M/+$+>/?()V\9 JFB64Y S\<+K$!(.ZAP;,0^^\8,1F># LMYUN;7"[7;:9_
MH1_&JI&$*@I5W.MA&+]T,L8.EU:%.@EUVNMA& )GU6FYMB"42BC5X1_VX,'\
MJM6Z^#;TE\1LF8, /?#^N&2XD^22_,?1I2IW)54;2*JNOTG/4_#C779.FRFS
M?+>.1E&5VUM7.8I7X,Y< >U,AV!0,"@8/"2#92W>OY&&O'1,DOKIZC^LTW1-
MYLD:_.L=4=0D<7!K!!,)+L%%]O1R/IFO>H1>3O;P\A]*7WX3YX_A#U71WBRS
M@_"WU)?E-SGYY,M_Z'+_S09\8Q:4'XI+9'Y'B?@A><;@AU)Q0;G5.VTH#7J9
M#:,[:F&%0)PA_(HTT 3Z!T)?&4@];2C0/Q#ZBM17!@+] UF>H2K)^F%,3YUS
MK]4UHM6P(]/ZP&8G!K0G$JQ=ZD-)[NHE9'XT,77M2*:;,PE !: "T),'M&'C
M6=M\O?@<W<O?)GY&,A>#J.JH7^KJLD!2J*8 ].0!;7BL-S&MY/O.5#$BUZ%^
MI2'!_?!LUYDQ0U33';(6;6C>DLOE[IZ<M'51P6];1JUMY?MP&J=T^R4T[D"
MU8+[20BTIPIIGHXTU5+N0(BS9>*L*& 2<FV97#%N*[,L5C%@M25"]ME'4DZV
M5WIM:L-[=,/V79+U@CFR[6Q4,[TJ^KZ:\#\5T6J25C3[*21[3))5!M)@4-#<
M"\D>E61WJ+ 0DCTFR6IR5Y+E@IF.9D1[B.P;N^8FWB[.2D9%9;U@4# H&#R1
MROKB*_78;<D-DS.O)+)L'I,IKF^/9&KWD#VI*Y>I;CP:':\?R:*3 X'CMJQ:
M7U0^5('D0!$UK-44M&G],JNE1S!#X'K,.Q][A"5G]5%PC^SDGS,2OB9L425Y
M44GNEMG$(I!<+AXT:(M.&$=-.,=J!K;69+AV^#GD!SJFK&=OTH$T-%[B^>09
M"5V3I:':%>.G/<4A E !J #T. !MVGJV:D+Y'4'J>.-.%- D#WM&HE<D92"F
M0=6D6P6,E=0KE:D<%S@N!O90A,/5&,C>H$&-//QT<KXDF3I>Z(S$?3GH5IX\
M*+$1[/CPT_3*1\M9X3?H5VZWSPH_=2#P*X6?I%6_]W<-P5;- !<)U.1,J7,2
MMR)+:J_R]9OS&C']RF=^9X7?0*F\WNNL\*N\RNNLT%,426O  !Y^7O>%8E=[
M;P27QF>TG964ZTASGM4XJ3Z]>5;PU9#6/"O\:DAGGA=^=:0Q6S:M*]+)*:]8
M9G'V^OX*<7:M)B[54NJT%UX;SH$0'4/V3==*6BG/) 39$D&JDJ;TA""/7Y P
M'RVUA"($V1)!]J4V^,@#)!Y6VS)A]\S0<!]M;)$95UB1R]3R\AO\,IJ6V>9Z
M=MJEZM*PU)1<-&]KF43!\*MJF2T@PO"W1)"JI/9%*'8"@NP/Q7@\?C&JBM3K
MMZ@=<=TG&+>Q3%-TK!$,"@;/@L'&)ISLFD^V"Y<3QQY3\ 2KL\QY_R317DXP
M*!@4#!Z7):RDR%5>;.L(X#74)\:C3VE\; VVT&''MF,YT,2>G5-)D*9*RJ#,
M+/UHM+UV*+M23Q9-B2K9;"9+@U('FPLH%^-;DH525H*D+DN]4HGIMDX@N+[R
MXXL=X &J0+DY<>&ICR5*@XY.WKVAU%7%)NQ*H)0&P@B)GB]M!%03JEE55UM9
MDINTEZV:5C[XAD6):TS/JDN KHIF+Y4LS0D35-&\4<1KU4QU!(Q5>,3!631@
MG?O KYX+#YO.:$B)Z3U1UW#/JH><)BD]D4FM!$GA#RN**T0O[4KB"N$0JYIL
MJ\KQN,0B,T1>L?_/GF<]VXZSOW3/KD!14092?]!XJ:DHYJ]1I*K4*W4*@9!H
MVR0J2[)29FE62+1E$M4EO53G*2'0E@E4Z?:DX:!,+Z>65?IS4Q.\X*N*X/HL
MS^56=3#O>L$03!RY?E2BU22M*R1[@I*%:=.@Z!FW0K)')5E%ZBL%EUB%9(])
MLIK<E62Y8(S6C&CG45KRAS%R:.KOA$BR @UC,%X#(@_VE ;D*WTFW[VIX4KQ
M%Q*Y!RC&UV1J^(\VD(*7REGJ_HR"T!Z_YA'8V'L?)I08(^^)DM WW, PV6X
M\DQ]^-XT(1X-J06O]4D4L)I(O![W504V7DFF-)QXV$^-7>U;AFM2\FR'$W)S
M?TL>O)EMKC)12Q&.+F5Q6Q2,F=?OD7(:!.36FXYL-VE_NKC NKXBB,(L\LT)
M-DF=^3;P8#B.9\;7(G?(-U..!"V?SGP:L'T47N03"HA.C1 $XHUCC!:WS[]9
M?;YKL:_'ANV3)\.)*%[HTG!U]UI"G4\=>PK4^Z^;**T?:E"LU\S8L.SQF/ID
M['O3F"$@TME HS1G'7Z,[Z6@,P<A?40)"LVW#>>*?*=/H-0(8NBMB!#&@^TX
MQ#--$+4!HH'Y%WX/?-KN&-_ ! V:$84Y0IT+%-A.];TA(XH]".'[)\-V4+5B
M26_#+Z9EA(O-TYE#<7CB> ,=K1]!SZ698?9*C93DTW;!PL%P=4HV=&DNDX&9
MM^,4K.:(HITTIA[,\_^&J\!:^ B/O;02%AA3.HX<4(<G5(  : (!/P?O:B-\
M,S9+CQ?;N*P'-H$X8Q: +LP_7>]"B^UVGFTKG+PC?5F>O5Q?$),Z#GIM .K'
M"SG^.TEJX-\I:K:D3:K*CLSOS8R&D>=4EVY;>W*-&;@M[]HQX,L\:(,N[?FP
MW^P@ GN'=X]\\I:Q>XN6S6:A1.;[2S!R:'*"-S5F^:J45,ZS&DKO"GUKXF&W
MW[Y_%"HJ5+3%*GK_\/$.(D6AI$))*]6K]Q#,9DW? R809A#V'J5%;*)J*@F#
M=?6'[>0M/NW9NF'EG<H/A=5T<4<)54^>,?SA@%GD,D=&5(C!&2)?IJY"(%\"
M^3(52@+X,BI?9@?6_A@TVVTMSSN==[.$RD^..\OZ>+%[*,%F;$QM![[<DE&-
M<;3_IJE=:/5+Z>O;FS4Y"9D=C>8?HF\ UVN<:=\ ,6:J6.L7*%91B2-0/"X4
M#Q_JG_M&=V&^!8IM05&8[THV!S1OOL^XS/0QV1M.O+B<,JG\6!9[2 37T^'1
M\9(E6^7 9:;EPE*JP@R+K;R LG(\XM,@<L)YI:7)ZCPIRL\W0OIHFTDM7NBQ
M8DUPC,_AA( VN7')W8(RP[=9E>NBI&TG@NPFBAA=+\R(SJ)69(:L" VK=/%$
MXUGDSP":8(6Y!5-KP&<J]X"+3<]L6%^+X+G+2F=[2&?W6=3T?+:,]XY L$9]
M]AN[_Y,=F$EA5-WM4K([F\E-2JD/A]^W)@I:R2<Z\B,LJE8E D ,I(Q!_D!!
M!CZ6=2^*/F^</^D+N??&X;/A@\GZ[)I7Y#)=;\ZN2->7OY' 1)F.%UF=D1'
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
M'+RKC?#-V"REQ82WHCT0LSG&+ #]F'^ZWH46V^TD9\?V97GV<GU!3.HXJ'$
MU(\7<OQW$OCAWREJ6A%:'OV$I)JAMJ.-F]NSD>=8L>&*SZ''FT<^><N8O;1=
M\DH-/WBS9L]:,<]9OFV=IRWOJDS$.6^N39VVO&M'%1@;4]N!+[?H7.SHP%C&
M*EI&Q7ZCCF?:X2OYQ;"= ZM:<W([D;Q)2\S4G>W>>>#;C\M2-;$0D[AQ72]P
M!OSBTYX[/5;>J?Y06!?W/ZA^_1FK#VET!E=FC:5"$,X1^C('#0KHRT!?9NUZ
M?PP.M2MW^:GX3H>3K%DH(751^2%0;'CB44I*7]_>5!1"MC!$+&SO6 T_V53$
MWU+=*E=I(49H!2@V> 3]":-XBGM)N>9FEWKQ4Q2V" T$BF>(8J,KDPTL0O(7
M/W%E\C$IB":>BRN.A"VX2"2;%,?<VR+%R=8R YOEX8CA>P$N91*#^#2(G)!X
M8_8<,)PCD#U*QC="^FB;Y,EP(DI"CWB13\!8/X<3 GKB7I$,(88/3X=)[=CW
MIDN2-M!@!ZM0U:" KA=FA&-1*S)#MI []GS6%7D6^3- (UCA9\''"J9+%I"#
M3<]K5BL*8;F> M]0%=<:TME]%C4]GZ61WQ&(%ZC/?F/W?[(#B"T:T"955C*A
M%+E)*?3A\/OF-L [N8D>X9U$Z4H$<.A+&</ZG"J6^,4P?2\>\%^^W)++90L
M\WKYV_);Z_J-!':"4(>:H>^Y8'/ ^+C!S/-#)G#BTO#9\_\B,]][LMGYI^SX
M9?BI,S("/(79C\R_\"[S+U:2 49G!J38,#2?8&3ZC$EB&EB) "/9,D(#3)T;
M4C>\(K_>)T])$>Y':"7Q&A>(@M_F)$RH,V.YNRR%(]_[B_H@.<=[Q.R>&9"
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
M[[AQ+WC"2Y^?\%'U^@JDCQO;G8YYZ?,3.EI][3N.&^!]CC/CIVM4K<;$V?Y
M!W>>8YNO&72L)#10 : 44&E&M?[PXJ?_<L)KRWXB0?CJ4+C-#F:.\?J.V*X#
MK[DF8WAF9VQ,;0>^#.TI3*1<^DQ\;VJXR:\!,/N.*/(LO/BOQ_!:/%$\\:R>
MR*Z!YX4&C$(R\AR+74H>V+.^PK.^X[.D^ N)W%/?'E^3J>$_VNX[@I?*[+GS
MH0T#>3FV\65OX6UX <E_\\YONR9H)SI [R-\]6<4@)EZ923\FQ)C-G->"83B
M9.9[3V U@0CBC<G-_2UY\&; 8B%$V8]S5)+OGJG].$&H7 CT[3![I>OY8(ZO
M&1D#69>RC!O3V?5_OH!-,Y<PI4W@\@+KFEPV2&>:S#<2W,*@,TS3BUPLX8%[
M?>)%/GRU]$%7Y'-(?,J\04"B@(0>_)DX#A+0F>$;(04QC$$-R:/G6<^VXTCQ
MH^-YH)'X$F*X%OO>67H4O 9="C%"_,G.O)Q8\&@R-N#;)\.)X&K;-9W(0EI-
M<$ &L&"G7!?\/,\*S=]]Z>%,#1YMN OBWER1GY./<!DJ3(S#RGOM@$RI$42,
M\H!=0U]PD1WO  <6P*M])E+" J/XZ!_B/;'W41B:(??9:9[FUQ0'ZXI L !1
M04C]::)5!=XTOV0=I,4[$SE;B9RGQE\@8AAY@*\)KIY # B!2(B4N%9,S8QI
M"=SY:/A,,# 4_Z1FR)[&3I:&D4T-WX7? C*BH&.,! KJ%(*:&"]X@45GH%1V
MS I[]A3"3/MO]@5<M2@N(U/[,0$=]0YN-9.:9="@T+>7O[#'P$!BVAU_==6L
MA6(#W1T%L^N&+>/$!MD^4Y B9>-Y!%!OD!U(&HQ E(SC6%?RM)$_;-?5#@;,
M,XW'%\9Z(/PD*%Z.&HD\P]",K3BH%^BCQ*A-$<I4!2]R0Z L<N>#'JD)HA'J
M66R/QF E,0"](C=P&WP11 YHEQ7YJ))(83*466P.P:OM6?A^VYPT8'M!<*\D
MK0,CD,T,*:__W9Y+,]KW"F,QMM5Y<I-0;0X "'H4'[3)0CUF"P^(#L\LYBGB
MLQU.V WP(!#_S'.9-?+&8[@?'S:W_E?DUYGG)I>B.PE2YG-=2PCX1- NP\FW
MMTL;ODHHW)=#9Z)T%)T$Q$[PP]CVT1 :[BNJ=  6&%^>1N+9BR!0 YV)48)G
M SLX4G XP7P*!0?C(81_&.% #,[/XFCC3&S>K1?$.D-?[!"Q1_?B1V8(TES$
M"H89VD^Q.%!@[E)8N.Z%$D@"(.:?4.9+')DQ2F(EN %#)0P*4AJ!FLG>;C):
M9I$?1.@T@:@F ]*N*O,#TH\).A_@O5X #")NY-L( #UD< HT9X+3V$6M ;X:
M;>( '.7,1,Y$YS^A#I)'&Z*LM"%G-AS<+6BN T@E ?+K8A1 I-5)V_V%?S9C
M.\4-)5$H!_ -P#V%-^.XA(C2!M#82$/+FS;% =W"63CQO>AQXD4AS]0#.&A?
M?69?1PRL(!I#[&OC1;8[1C+C@-]C]A[4#F(8-L-XILGDA";$K,%J$-#>Q90
MS(,Y,1C1M@G8.HYG+NP(3,[&)/ D?,_<[=!X!I($1RQ"AI%Q+O;]\Q@13F,!
MD:>Q0>*OY-+UW(Z-)0T4IQF@/ X"]P8G=C!)&24S1@(V YT$4RJ&;CPSX@T#
M-KR2>&4MN([-5 11I9&A95W\0(V-KL-_Y:O"%?DWSMI _9.'06".D8S!-"ZM
MCZD1$8?\98<"/M!FF+-)(- '-R^#LECWE@$)<!U?O; VAF6Q-X./V4S+EA@]
M!C-Y'YNRCQ8CS9KG,/B#:>/3XZ&VC+J<5Y85B2T-SB""LXREUM[V'YT.^613
MQWI'[HQ'L/+W#"\3,XT:Z70.1%:M;_MU,=E$VP'!DIV$@9B665H3LG1#J'7/
MN*2^G)383-E=F*;B!6R*8N1&+,E4%][!?';*RG/M$#,.B4.,/8X-\?^6\13/
MRS/6A 7%&%(%E/[%V#,]Q\&9==K ,';9<STRAEMB($S;-Z,IS#P8U\PF4]P/
MR$\,7)';C"D!LJ,R2$\-<+BI>5-BH/(L26RCX-?7Y)%;>;'L)@(>UPLSJLT0
MY.$G,4U9V-W$6BW2W\S_+'T>RYCN-U4\U.>-*Y;)\F'^,N,'&IB^S7):-Z[U
MW@CLX-OX#@PY,,KN?H"A_AX\PU_%EQ\#!<^/[>H-K#[N:\**KQS--1+7?6+5
M^^J%3:1[E(Q^=TA*4G/K-A<B3RVJ,O@'=:R8M4?>(0Z$I]V_!LQ@_PRQV(Q\
M=LTK<IF>JR^NE#*3\O0EMW':@G\!#/W,;V =TC\_T_2O+#(V8F."LR 0S:,#
M<;)#L'H)V#"#="8>[$F4+!'-^X8$BY3SU+,BQ_ ANDKJ7CM&T#$Z ?6?,$++
M,'IO&/=9.ECJW@C_/WOOWN,VDO.-_G^ \QVT>69P$D#VZF)9=O+N )W;/'F1
M28(DLX/]:Z&VRVWMR))'E^YX/_TAJR1+LE6V;%UM%[#8Z73;$HMDL4@6^:.5
MOH.F><%?!0,8S)8$'@X_A;XU8T=6;.\A0'#@,//1P@= !ECR5Q)H,P@L]@EC
M/_\'F<&S),0WH3FV5_2" #X5@==*/[*&*'1;[\*.'=M]]&SZ2&M&[X%HE@(\
MW,U_2<*I$'MM*.VOD ;:C,F>1WP\3>,/A!;HS8*M,PHA-K><611CKL ^POP]
MN]=@+PF 7-AA&VGNP1E%DX+4T*^0N"!>$OTYH]OL*%^M'0B:)!>^!OP#;X+&
M#JE UZQQ%/3Q?D,C%(AVU^RHQXR9!$)\ ,:@3V#=>WA2/,+Q"KZQ/0 9YW0#
M7K;":I3-4/I,#R5X%#P&/D:<1*L"=AIM]87Z1 L'SCR:*=W@2V-OGJ9OX<.I
M#A";$H\> #WS$R,B,TE9LSC@ -8 N]<DC) ^$)D+6GF/!\*6LA4&7@O@9H!*
M#T^DFHG^35[FR68(I.>6#>H,S+)8N(79Q3_IXH(7<H8+B8IGOIG>6C9O:\.E
M[<^S9FV 0MWD)<X(DZ6%3Q^+R@1[E!)+M296O7O?^Q-^]R*Y2@M]^YZ*8H )
M4C= 56"94PSD4"/9C4KZ+GLK-$OZD]#\J@6;=&&[]*HP#8AM$.L39?<\FM$4
M9<)';[$@Z-%2!RY]1UXS9M965)C7]=8H0:J+['X('DI87E;&70.?)-L7.-@H
M'=#'!Q']HO3@>T^@E[ C/%"PE?W?Q*.FYBW-]6.0G#K)7/]IWZ<I[ZOD?9TW
MUIJJQ7_)_ TH -B_$#.X=YG;TG+.37%)F:'H_%$$FK'3SU&"F!JHGVRI3^K'
M#U'/;Z7>G?M2%_4?0/]M'XWR1R\(JM+/K4P]3GF>D%IH/TUSN#6?C=#^B?"+
M+ ]0J7+!9Z8E-01>?#:!)51 Y0_,V86H+4]@L$P*.M]#1'*WDXP[(O/:>@G&
M_%'NNU!,!TAN9VW5:_C'_#'IFJKW:[4E*^?'$_Z, W-/.3M>TTD5Z^/)@3XB
MLX6%[1\3)_<3<J<%\OL=U&D;BGC"VHKZ![,K.:O5K2EB=WOR^ +@PRKLP%TW
M(P S7=-I2 ?\QCM-X9L"HPVE.F%-NZ@!^77P9%.?2IU :D%?_2$9'!BY,9U4
M$(([Q_]@7\>CY6"^X2Y\8_G^!N*@?]+ZP%,=F]%$/S ?Q]2*J#U&1"UT3X[3
MS9_:;:@CHR.ZS>-T\V%Y)ZK>$=W'/'2DFXOR,!J-E +34@?=7^@E$5@(GU@!
M>4O8?ZM$1+@2_E@_4U7*2*"8K#H75#X\Q05Q_?>!.1D5N$D=+&C?V!Y:$-<S
M&FC3:8%#6^>"Z%W6&9=2,>V&*7KBQ!/%$R_PWO6,:P!6Y0P6I,PE>@OUUD!)
M6H:UA 4Z&\FQP;K-I6 ) ?< *_6PKP?K.>)['L^W'V@I_0I+[K:%V&U<BO@D
MWP:Q@D\N UJD#UYXSRH?2IT7^T?,>\=[^A:MUPZM[;"<MW8P<SR\%PW.+7W0
ME;$H?:BB>5J^]B&]YM9?25E9271#H02E#^F-4G?[N\L2B86']5WTRLVB>&AK
M=C'&>C!GR*@%,BHI2L42)U;$!%^A5W.[74(O;X-YA]^[_9ER-:'BGE:\#^C]
M_CH [4U^>G4*?;8[>++GX?*E!$' ^L>K9]*,.$ZPMK "X!_/%/;O-18%LW]3
M8A@U?D+*(\'J \M)EG;OA:&W>B7=6[,_'WPO<N=(IN>_E/Y8VB%YEBYHGCQB
M?\/23_T+F][>N7!44<:$<]Y7LW:BB*6%WXQ9&'KKE])K!TM25& 9+;<K,C\Y
M\3ED$;;R(A__<+I'=43P9WML^P;Y_UINA$49NBH?/"U/Y\P3:LL E9$:YR??
M6K<FEWIDVXS&=*,>A^1<DVR%(&]3D'\/_?2U=1XK\<$U8%]]B727EESE<R5Y
M:1M'R[GO2K4.PPC^:PJEW)]UUL:NQN3 8[HZK9GI@L.[')YTR^&JQLU_N'^N
M*2-9TR>R9A@OBNQ<[,,;QL\<\N@H@:0KF_;_$?L1PXD#O&'/U'XNV,BEA18_
M1"UZ2 5=2!Y;XKDGGJN5D@:Z;.IZN3.U4/.:Y9;V\SEBJT5&70GDN:H;]<BC
MD TO!,^+>"Y/QS7M@G)<;\Q]+'S]9U86?XHI/=]^UFD&>F0HGVNR,3(KZ$A9
MOA3LT++L.IO/G3%U9*@56'KS_%/'=7.O6Z>PD*0O/EE;-FT[P^XJU@M#>\N$
M^2J_TPQY.M*$^:K9?,FC<>U;\*8XJ,JF644M.W*W\,</[B-Q0\_?"#-47M[Z
MJ$IT(XS0/DO-47L^P!6ST:C="O70E;I+0L"UM1'QWVFNMFR.)RV8KIO<?. &
M*.,J!\/-GP*J/-*JJ&=?KC]Y9LN/2*[,2EBN$U+\6J6])2S7 >9JLF$J[>V[
M*^;D<V/:_T#P;,_K0Q8H3WA?9S@(AE%EGXG(L?!*8Z15N?:Z>0Z.95V[H!3\
MB;>&VT)W!_L,A<MU0C)A5$4KA,-U@+79MA;A=UTL0[MPQ%Y)O.+:MR2>J!;/
M$6O"U/6G]+17!6C/1[(ZJ9+"KHNO!RJCKK/.M(W@6*E4,B,*AWLFT*E2)43O
M697R1;1@#(TV3X@3WM9R\8IFE/2HCR^L[OQ V3?7*)L&Q=Y=98 \&4T;E;$0
M:)L"'<GZM.3A7Z<\CY\7\3]H!G;[MZ,@&640+W9P,KS5RF9S-1%AP\M.HN)C
ME:6H2ZK"PP\^#!=XPFM3'*[L:WFHP.>^-F75N=@@FCD5V""5KH=S$98TD#+B
MDJ6\DF!Y[:^1Y5L@(=+XE)3#0[A:!#PJ1K2XF>5G%*(?Z[\+I#D=77#/AD^U
MA:*36^5V<EANJ!4.:8:]8CG2=KQ5(+,!ACCQ'HB=)PFE8(E#M-"<[DS<^?;[
M_AP:Q)L9!"0,'9J*PB$8=+H][R%OONX^!0?0L/$8.+1B;OMD%GKQJ VR6CO>
M!K;T4+IS<0#+AHUWH7/-LB.$XPFG]%'XXH0B'#$'% XEG 8+"V"/12)@]71D
MA8OX6X\XI=+#J=-HA-D $_AC4KRQH2/%'ER$DL?18S@+F0V6S?'XWG(0YQW6
M3DC(AL+Z9('#XG"&BK.!9WI!]I7)(#@K_C3]:6D]MJ$TNW/5-D#R/2'N/NM
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
M3@N+WP*:[L+AHW:XI$^QUFO?>V0@]_AO![GIP\OP'[L$SRP7*28_UA;E.2S
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
M( :B"P0,7<LP=/L[B7Z*3I%\AZC'#3;+"QPZ@4,G<.@N$(=."/)*!-D8H*!
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
M1M-MG6[GA>=+[(.QE\86V8H9=FVG;1.\^\I>;&ETGO-N,TH$!)&1$P0&]U;
M0EK\:Q+/'XCD+98FN(\[@H(E(:$T!_%GW?6] "4;GU!=R"@0:#A[C4N30/1C
M00C_6<'902- #V(1^BRF0]9Z[7L_[!5\Q-FT<6[LE((DIEMNX]U:?B!R>FRT
M8J_@]<4G9K+#::0F$7=.VB"G\T!]BXFRW>JMB '!._.G)FQ%#.CM1]@"-Q0*
MEAY<HXO!-?5$Q&_ ^1A\BYV1PBDV(D#.3[+93K&)P"KZ]&Q[@ZEEX+<K)MN(
MR399OHG9!#V9;//FID?;%+RH#U,)A)Z+&1P=US^? , _GE0'X-<Z@<16M0XQ
ML8V)K)H]022_0?;O#(IMC?>-8^4U@#Y^<?"'NB9KXRI[ZV)JZQMG92V04#T\
MO$HU/!\"FXS[H ON+,[7CIL#''L^,F1]/*V@6F>Q[,6YG&J$X5<AR6N$CBML
M A2HX?@&V+?*6*\@:G'"II[H!4$UG](DEYR9S:,SUYDPJ3?G4<V-561E4D4Y
MZN#+U>Z[2_1L2V7X3W!GS_!E:[L#Z &^<]T9SFJ^,$2M.W64-;M/91DKW.-^
M&IN>N<<"6?D:VAA'FFQJ A5*:$D]04KGO:ZU!OM]=(P%7DP_?/$JQ]^G3*^B
M. '%"2A.P-YKR>6<@/$_;@SMX8],=S=KZMAKQHA[05C-FV\AAS:L#QQ_'1#_
MT9Z1OZ-=ILT@K!&<=G#@OT./?HPV3M%4"453P'?Z<YH\Z4&GGY('9NRTV4Y3
M6 ]2BW "2I][#2^ZD8WMF6Y;_UMI5^W3#BK9VT:K[#MN;HMMZB5UMRG#:9&D
M6^ENXVI9.]UM:G%CGR2ZVWK:W9;]^?_\/0H&#Y:U?OG6#G!S1S[YO'B3V9U?
MV;Y\@P@YM%_I-=J#+]:&[KWOX$"]=KS9G[_\O_^/)/V?Y&'O+!_KHH,OQ$^^
M8\]P_Z+#]94L@ 7_1D8-%&V@J/]&.<%_![KZ3)J3&>Q;)_C'LP^?WC^3[/D_
MGLV,J3J:3D;:,SA#;/9]._!&FFH.HF ^@+T_^''O._: F:!GORC#D9$NK9":
MLPB>; E&VH\2K)]"L-H$P69*\*0$P:,3"-:K<?BM[40AQ6&JIA1&34H1TW,F
MT2<JQO@4HI6FB#Y1.<R:E*,4T5_@H)]MMN:EG)ILJ9WH$_W9+Z6L;M)($M+
MT87 T<? ,;&T9[2.B">*)U[+$^/4"O-):";I]#0+?6ZROS$3PB*%=C,Z['PD
M>U1@A#.SG%G$HH_[C01DV)AG!TZ%P$B(5 C^&EW9/7R_%$-K!ZHS[8%,P/7P
M^RP+-)02BYPC)_N$DZ@*HE42O9U%(#JHB-.)UPOH\;'P+//A0M#/[!/LA;3V
M0D2I@N<@K; \\#MW'K.% +6#($I1![.,H0&B3RQP0S>@"VCX5R1<>G-D2!2P
M\!!C1V ?_>+V562Q &<7%TJ_-F!1:S;,Y/K ;?[,/Q5W#KS#I^,9YV*@&LI8
MFV@M'(L-Y('+D%S0F@Q*V4+LI>83A0-I:^Q 7@SD@:</UYM"I^DE"M% -SG%
M0PA(B+@-?KC<)M6CD.6 8./>4Q.-UFA>9!^987Q.U_,_/T#39Z_>??F6_G/^
MZH7T/+5WL=&Q,6_E10$\-G@AL"):QHHHVEN\:^Q_@;2E=Y@F:O#*6O30=]I#
M7UB<</']\;4(MQT%ZD9MN]'1PHZJ#A1,:-,5:M-I,PN[TZ8F"]..2;NL-EQH
MS9]8X*4OL+$.JMBY-B8%F!Y\#_A3FMK!R]-UY*^]@-#[[209A+%4F3CI -\2
ME)8JI7T9R)(VW:ODM4KU][;:>CF6I].2-:''$&(Z8+=V]+5-Z$TK2M*91JBR
M9K:D$4+\O1._-I8G9A6@DN88V;2_^,?N#<7^A41_W)#&%6&BRF.CBB)<C$?7
M."M-V%-ZE89GP<H,*W5MU!XK6P,RH)]YNW]E2%9KQ]L0$E\Y>FM:2<I?]/F.
M<YWN69\\W++Y$($L<GIA9Q5L2<''])*VBK_=(R^*)P%^7J' XOGI$ ),)*R)
MOT!>L8)]O&?%2K]&+*  ;"GV!*?[EV'M@[549VIMLKDZU!;3J.)2=<0N(4Z>
M.,=:%4S@GD7MU:# GA4&]G'Q'QXO\8_DK\A^M!R<DEYGU']SJC?1Y$DE;T88
MDYY)U#1E<]HC>R(D6H-$5;5)_+T>123X(Z>^OQ>QI;@N%POLUSR-+7!A8,^:
M"+*O-,V('9P53*K(,Q[FK1AR4@\C]18SMAT!SW'1G^/6MB:,FL 3J\$P7@#F
M7(TB:E#Z'8JZ9*;X3%$+N?;\V&A'KFT" !:1TEJ7WGN!4T0)Z@JG"'EOK=?P
MK&TG:,AM R<_9D[4CH1T0Y%'XY%\2!N;8)"IRI-Q)Z(Q%=G0<D8H7Q CYS"E
M9&GA>RO6R)M4IS/Q)67I[[Y\PT'M5,!!$*W@5VO?FQ$R#]+OYN #>;W[('?\
MF2+.!=%LF:>+ 13@K;45AKY]'\4X<HLHC/PM%F<,,A" 79B3HJ=8;F@/$D"!
MH;!SPL[5:N>:?Z<A3Y5IVR]U;:<+]LHC\P1+]43 #FS/CM)VRT.+$UL'1"^Q
MT! 1?V;#[QD"Y@.<4B'%_(6_P08C?^$(\!C=-[D)A0WZ)PE3G,U]S,P,%$I\
M%"(D0&*PD*7P)]O'[B G"I#<73@6OO'*_LR''^$!C]"*H<^+=S]FL,('\A56
M^]E]8P7+.W>._WFWO=,-3H5R&^@YQ"Z-@R_V[)>!/M85)0N#=@)5=:[G,,K;
M[GHFW/6H^GC2BP4=1H#;7="4MR!]HIJUK@=T^ -MA/MN_<#OO@'";3<"A?V<
M KV>J&Y:NAA#434ULQB&7K<&9P&QZU1U=R%ER*EO&8>U;&<9&G\91K?+.*Q;
M.\O0^<N8-K6,K^!WNC/;L>E7[L+W!,)JR_D66F$4>OXF]^%3M4W/KD_3QMSU
M:>.C<CJ)T!96?EA!=U9N7M/*#^OTSLHG7:T\[F:(D7L_QF#>-@G>1+Z/U5?9
M==EE3N?I>*+RC+^FC-6=X_D8 57I/7KZ KT<L.!GOZACTU3KH/<;BRM34.0L
M;/(G+T:[OWNR_'GP'5'/LW]'/.5/7O@O$GY-PU^>7/Y-'_)]LR9W/^Q@L"4
M7=[/U#_]C2#N%9\?$X-_>!N*4LB.VM?7,S9^28O>Z<N#HTPTN4S4S!MEXM=M
M(P'5QM^Q;>#KM]^/LG+"P<:&_:G?#"N_.);[R5HQ3KXE"P+69DY?C'S$OQ[E
MXY0#V0W'S!5S,#D :N$@!T'\NCE8K(,8FL5#FS,;.V'G,59.%?ZF5J]]4Q>K
M9%6&<G?WY,KX^87FNMY[?OPK_)Q:)N@J[QME]OQ8>?;+%^U?VE1[VP(+"]=V
M87SE.DO9,QVYJOY+G0BNEN3J$>\IR]L1Y:UF&)?$6XA/7Q.7+.SPO>^MWL6Y
M\\^+S.ZLEC:&P(9K(L\Z<LI0W!HC3L@W R.X?HS6#B/>6[;_3[SC2$<)I?.!
M3@4JA]4(H/+:A]/F[P:WT-GZ*PF%)U'I2;_1P@LV6XUWD=3\=757U^1WW]Y(
MW[VU/6M!'I,\ G)&(K-7'('0R\#,!LOBGTO/.R+\!5BE!3PZR X4C"L_V#UI
M9H3$/9US2NQ'<**C-=Z!6@Z]%L6AIP$XRWB/NK;L^*^A;[G!@F&Z6]G)A'CG
M*=%2.&?#/F7-Z$WN/0F?\$HTOG9=6U@+;:\MRCTVG'"5<I2.)J1<M=V$8!<_
M[B =*QQ-:,T?X<O6 _&B('DJFVZ'92<)R5O2V!B+E!,R>[*]-?"R%"P35F2G
M?"2#%FFQ3+:TI6@EC)E10/#IR.3M!?(>06U,(72],*?*.\O RWA[ ;H97XWC
MK!#DU =W.W9$IG_(3Z1TTE1LPC-Z!3ZGN?G GL?W/?A9UW,'61P+WP[^E../
M(V_PUMU[<J693^"%],^-%/GTSZ1U9<[ Z[3N'3M8XE30K&27-LC-GRTW6*DZ
M6Z+Z>O!D.*N9S;#==13& U_B78E?9*)FE8">XSW8;+X#V\PHXLPK;!<TK?DE
MATN?Y"<9.>21.,'^I(F3ICR<J@(,8%K!OHSX%TEU,/O=6?,>X)E%W2#Q@Y2A
M9MCNUNDY",:8_6QR7FE:R=Z=K"9_1.:V(%8U/59'KY@VYHN<?!*;:WI&1:XU
M1S+AWW]%7DCK'.'4H[-.P*=%8P=\A=="M!>Q8QP.K#G3;HM>_L4V/AB>4H<M
M=.J"=$H[3:?V%2FP(=*Q_)P:[>F/?% #^4^)OYZ6TK;O,K"%R-076WESXL2%
MP*GI#\ELZ=I_1?&ZV.&!H\L"D"JZ%^ 9Y=P.7(AWCP7 =*?$9TGL3L$3X O4
M"?-\W[OW_&386N8K\6?!2;28$*)[1"R))YU1CR4" D+B;X>P40<LR'I@<%")
M?7VM^UHOL:\?B(O5&Z QD9M1+EK8N5DC(^%//EDX",\&DH-8 W=F^N3IJP#=
M*3K1G +"UQTC[ 8M;._ 9X$J#WZ:$U1Q8!D^#Q^3W:&9?4EI27QT5CN[?3/]
M"J@C"&'F12Z=26L%2VGA>$_;/R)/$AN5/O>D[7.53OS>V_XV&$CO;>+,7TI?
M0%]>P?. 4RZV?&FJ-!@P]G1 6.-CY6:6[V_HY,H5JE&0&%Y,7UKN)K]K4,-
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
M0=F6$V1C/D(I<[1;C$$0H^98&4;=9F9HM&EH3GA;JTZ'ILOC:<F _/C*VBK
MY))0HY0:5("+*,LY4]IGNDCQ/Y+^(&F/1FX#3T$C3G''SH<M(@8.QZXV4&RD
M<(%F"R!F\V\^C[I3YH:-%.X KH:H.V4\V$CA(JF?25UFR-R=._\20TS>S1)
MA*R76T7LT[')9>Q !9^M$&#X!.H:6-X)>@/+XTIF8(#;4O/R?!#H%]];V&'%
MZ7XZ=S-J(T79Q45/7WL"/2>-[=.YLQHT!?:*60,])\WCT[E:JYJZJ1OEZ$EW
MXN?%1\]]^&@_DCGKF/Q?XLS?>_[O5><TZE/N%((,A:4(J87V4Z2N3[GSESJA
M_10-T:?<P0*UT>[#0;WV LO9^_('"G0$IJ*X$;<R:+DA0,O%$\43*SZQDP[I
MTT,B^KT/.?!-Q\/$)]J; F!TWL]23<L_C@Z]1]XNV)<L!=%LB6A]:Q\!?'%2
MO3N7R%^1O=YB_&;ATO9:J64I T'&1M)O6)<WA5AD$,II W4>3=EVY_8,1\PG
MD("MH*H!%S>Y*/">9# -A]*;'(T0B@*'9A07,H20^@'QF&#!CS8(*0;2DZ7[
M*.P($\YAXVZDT'LI!: )]@)82J$902!!KGL=F]E31'R'(NJA?!SR8#G2PIJ%
MGA^\BJ?;APE<XQ;6#3^:HCSCN'*2 .MC9S_#UEO: 3QEPS8'_02J',WYSQ",
M''Z/IZSM1IF'@"IY,YMBR=''(*%1L 7G+<*I8U##UI98!DK'T 12@,F"+TJT
M?[\'")^@=0'.9P#RYM1_(315>4^05PQHCR4O;=A%!0"("PK'F47CI!/D\SB<
M6[R%Y 'XP!RHX1YX7XQ6%S+PO]@^%/ 17N2@(NVC)"=0XK\1"Y,GB;'$SQ10
MF\/ECN<[Y,&9MX"#^T"#+<CMTR'TY7T+NZ1XY\#U%,]4BBUD@LQ,0=,]E^:Z
M*)_!UH0QOINWR**O,TB,+;)CC"5,T7 25NW I7;U<Z$O7Y=CON/YNV!T".9L
MWH./\69K33YO^?::[B'VN>_6#Q+\9H-$X62"M\$9$X04FB?[E'=PXH6;WTBX
M]. OCZ2&G(ZA:!HW>S":*'I^:%2+J^H1.\N'P<A.;O)#GQJJ(MAY0F2.[.3F
M;O21N3/X\S;9F=_L],?M>^XB^#J^ALTCO.,S6C6XN4]U:NQ,(K]-1A=,MCN+
MT?Q)HV-S9U#Y;3)ZWT"<QVAN0E(UI^.18/0)IN/W;X<8S1_+.IV.-<'H$TS'
M04;SA]&KJF(*&WV*Z3C,:.XT6U!GX1*?8CD^8\;L#<;:O@T4')Q@BYSGC=_]
M96*H8\'Y$TS)J9SGQH&J:JK"TS[%N)S*>F[,J"K&1!6L+[ WA]C)C1DQH]$K
M#QL>6 .2\E072,J5VL!R-8'20&+"D:BXF[XAJW1!V ,(Y9A7\96 S?X5(N<P
M<4XLWV4)Y7 'Q/@'/,6W@[D]H]NL5U-ETGK0Z\,)SA64Y[8-_=2_</CL.W=.
MY@W6H@L(80$A+""$+Q!"6 CR2@0IL*"[;Z446- WB05] QR>=,OAVHW;,8:5
M96C=P %EP)=K.?7% B][@2WBSQM&/!C4<JVY=6!9%X K7^*YK<(5367#J-(]
M?Y6P\KL/:54B8]E4JV!5U,B(6V2_*4_'HT[8WQJ$!/W,[RZMG_^&-;C'IG0*
M5*F<Q9R.M0H*(F"E#G%7E16SRGDD6)EB/&NW,P]A-S=$K\NE67)?+A)$+>+[
M&VH5:/'^L/52LR6M6&E3K3+$0>2_^B91138F:G\D>A.7"0(P#=XPFLB*7C+>
M%7AIEXZ7-@7OH%EP/"'9;B0[DLVR<YWZ X370E58]FV,EK\-!M)[FSCSE]+?
MOU@/1!H,6J+E8(5:X_5\6*"'/>UN0+".SW8IB$%!)9^HXA-5?***3U3QB>*O
MBRG^$H*\$D'>1.#=\R2MJ.(357S7R>$+K^([YXZ*52[%<&WV7B2TSY"R0KC0
MNC&QP$M?8&,N0EKNQQVO)$H Z[_ZD1-W0U0 ]J($39<5O::23,'],[:#-JI2
M-M-=_5^M4])%>>"YFW<TK5+^(JH##^_-:96R$\')[:W[M$J-<U\<QE+U@%P3
M)VH$N](^TZPR(;L_3+W43$P;EMI46A_**03:X($A3\I6:5U+)D_<6/3HR##
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
M@1(D[+,7E+=/2T+A2#<4XV%+M15(L"QXD3L/$.,0/@TO#P@\UHO0D?# $,1
MIME5#:4/])-S,L,54:S-M17Z-L*JX(<326>61J0G+W*PUR2&8Z5(C_0]F00E
MB/?1#F+84'P2L,_VYNQE(?%7%%LU7%H,UG/+=LJ*-K0[IPN.YSZ D*B$4L&D
MXDI$'LN["=/3@G5C.664Q58XZ81VNK%S._:1*?X67@V+EBEF;_KU6'I!:(51
MZ('50LRS@#Z*@;5: 6P E+AE.RF6+L/^N"?@/C8"3E*"E^GI>7TX)#GG.[=-
MZ*?^A5!X[T#/YPWZ[0*B1$"4"(B2"X0H$8*\$D$*K)GNT](":^8FL69N@,.3
M;CG<QFU=[*,;!@\@X@-WULP!YEP ]$J)Y[:9 AU-9*72V+ZKA%[9?4BK??93
MV5"K7(76R(A;9/](-D<U81%U[50>XWM9N5QHBYE8X*4OL(NZ(?J9-][JGB;1
ML8UHEMZZ["1CFXC%KK2.3QL/VZCB^[D_>Z3O+!7\:X-_XE 79YY88"\.]8(9
MVO=T*HS';DZM>^^1B(/]U )]338%+EQCW*U:&"U8N86PDC6E2AERU]'\,=M&
M1UQ)SY-)BB^P("17<\)FZV&5%9:=O.R/Z,7)*A;86]>!VS+TA8!MP2E26;P"
MW'%.1(LVK94'=*53 06 4(5*[;%9Y9*B0O?/U1Z'S]5*]SZ"?ZH\J=\SZT/;
MTHZ=>P?&;4:[D[)V+H%>VJ9&L8(ZJ6C&$$O$4:>VR%>"Z! FKFB+FLWW-E\Q
M_XSIE:")5K!Y:,:DV1(\-^Q3<;<#S-G,<WN%GE[#>%77:O#&E3#/A,$K.D-&
MM>_8F^*?8=8^0Z6''MT=[2I;T0'(/G%8YUWH26N?/-I>%,3]9,*8G9!<;,-W
MZV/FI_D].:T4^@N;IAK7#O"S8]XXN7#:9&TYK(,R F?-#RV;Q:IK+[ Q32<L
MWDGY#V74QBR'F]JLABH<N"K7I?+4J!T0O0=W?%WCEEVI#1M/Q3":IBR9/FI^
M,L$U\T^5C?&MS':(C=DW"J7":K)FW@I+M*AM$Q:M?/M*)6=?6+0#K-7T%N?K
M7C$?GZME ?8N.LGV-@%ZI/-)EY;_(&X'Q-297NW$FG@L&)J"E=<^Q:>O%Z9E
M0+7I7!\Y4Q*W1;S[P6Y4F["'_<'X./JNEH?%-3G!MT(RKQPS:Y-)8\+N3+*3
M)H<V"2FV%%UHK4NQ5WG-7<"K_6:M]@X+ 82.OHPJ*WI)( R!A-[ H]L4-GB
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
M?:R#]<@"=Q 3)TEKK;49P!,=5DCA^.$J$6Z95'Q@':PQG $^';+ ,@BZV Q
M22)]U!2+=D"G]'U%\>2RIV*F_TN R[;8\['W&R4 XM'T70<,S%=I!GX*R$EV
M.?%F%KYEB11=]Z896R>JMMN"C^(^V[YAHTT/O.WC3F(=#//L4MB/T1U;-F#L
M0,)C4XZVHGX.S*NTL#G@S I0=Z6;P/5DQD)F=-G,=!PWP"YQP$=SVG@PJ>R1
MLZR62K?)#W2/LZ,DV/Q3U_-88S>/2J^;:/]@34OHQ4=1<[>3LHL@1WY:J8Q"
MS4GQX5$,/D=&  #(7TM1R&)M#*O7,9],RZ9Q9C/8)!#B/$9C3)T-NN>)W8N]
M>;3MDMTD:8M$6@^3\C=9+%B1=,KI3&Q?2Y\#)@F3YX!9&/7&PA_,3"=+SE;S
M+/H>>DR5O1PYQYF3%]0EC'.8!-Y\,'>O)#5:T6:/E'2A22. 0ODIA+=YM*P*
M+$QL\\D8YC$$$Q"63:A!7- "# C8E=1FR]9MQ>8Q\#WM]92H!3!Q0P_N\^&!
M5+70>GY4F-FJM'5DWT;8W$:Z%.DRM=P]+&9W'6H&IRV[*)'1O(@4^LSTO%=Z
M2<YB250W6Z6?:QH FQE4*/X BMF/<;#O2=D&!/-PQO#]-_'<"]EQOV_Q M9K
MD/-,*.%)[,RT*3?.+:14]U(:0$J-[(1P?F0_%M(4F$=4R%'UF4:C"S6SYE4G
M?2747/HP*#\G6-*&&&C\9BV^5-SXOAM9N-0S!%KXL>,6LSU%!S5)S;1['ZJ>
M@ND:U=W&;5;3Q?>L]&]'G'-;0#1)=*%W_!*+G%]-$-_P;XWJHX&H/FH[A_S?
MM#</S?++-LX1Y]+G>BZ=IJ65"#V*<^F2Y]+<D6G85EH<03>:KZ</SO<0>K\
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
M7%Y9P$G2H^N")'(]R2?>DS6#W_$8#W:DXR^(Y\$5\)19O"GIT9\3G^0%2S.
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
MD0\B/W));%K6E1[OHP735;QS<Y7PAEFTRL30B7/RZ4*HU6]Y=.TK=T[LJ-+
M29=-+XM^H\'%'/)"=HH>&8Q7MNO^Q5Z21H2H56G/Z"EW%HD2]KA$]\._CHXN
MXLIB&EV.3L#!;\?V'1:8F@7"Y.AQ+!R?94QYLBVF3(DR)1N!Y13>SMWY8N/]
M+H/*N33X=]?21]9C)O;Z+%J1M<(4GGD^XDSQ2*\KI$^5",.R/<$V&$U<G*,9
MN8J<'"]J"H@;AG8%O+R,K#Q9Z.:C^.X^O!(%HW-Q\FB/7TN_LX$:D6N-_LAJ
MS:JHD;;8ZBTK)ZGP94%*>KA+3]-@%X++,B-4&<4!;\^U*='7(/I-+ZW?*^80
M=28K-_M/1 R-<!1C1JDZ3:)'?K'%D(T)<H"P.5F#Q9,6@JW6KL\T \4%PQ[P
M("V:P7!56%I=)X74H&X<=P76//S+H@\,TW@&,C.QABU;P9U)^&,;?B-I*S$C
MNRG?VZSL3]'(#_XAHIB8\3?#?/-D\L"E1/(Z<LVCN26;F<F]\\YSX^"ZR"<:
M["IC 10\6G0.4<XG_Z?KSIF>A>W*:DBZ<\R-8I7+/4IW8*A8O3^0J,-& N;G
MQ KO@3_>/87[4-QRA%5GV=IG/(+'CDOWF3I@K%2%M@RA#A?K,X*\\QCS#3)1
MZL%=#K:$UR6\KH:\K@MTD3:-<F&J"E.UI"RX"1_AG5LR#WMGJ8X[UE'JC@;)
M52S5W.^?48DYIGWU&RBM^[BSU]O[<!H<QY[M )$;9>)QW_!\_ZH,@Z$)\#D.
MH;"P!VO-]3D.=M,V,[>V&\ZI2@CI;3>9QGP/F!_[&7,7[EF;XJ1Y>0],\NY9
MN0\F^1%6G0L>HHB-J\TSC=>1V9*T%1J+S7,>:V]DY3@/;$[*<=E6D'$';3-N
MC%UH]U3WQ33MY8G8[IIF:+%>2U8L3_#@)NX4>#DT%8Z#<!R$XR <!^$X=.XX
M)%)K4V+USG68=*VE=M0P]Z574S&*732_,V#VP&+NGH)]L)B/L.I20>PHSY:9
ML-FNA9>#FW.T/#7E5"Q/]7B6IU80!L+R/ "'>4ML(WV&/)EVR!)C:'8NL_2H
M@YU+?:$HI7;A+BM0SF2*Y-)*>*;AL3YG1[96F\M:F.KJ.A$NH[:+V:FMUM8I
MP?\D[J-GKI=8:D,GTOYVSYL^:R@#C3O56%4'D[&2'S];@*8BK)N3@"O"RA]Y
MKDXFQKA)6$O@]>.O'V]V3_=%F/4=4XHGDX[16P[D 7<@\7B@ZQUC^?9F%ZC<
ML?&JJFK#0<?HW0TK=^[V0!FH7:/UQK?,.Y-.N-G/$-P)U:JN#KI&\A;(,[#J
MO%GVTHO_WK'L']\$7DC>?'\@1G=AB??FG[21,AR/VD#3+G!4+M'&X[%2B6HA
MHOGKXAMMU("#:N[)(PM\EQHBGL+X^<NG+)#Z)(NSEZEG6U=KT.$ 8P8V[MOS
M4'Z-^]E\9(,.*@.7G\NN&GS-.!Z-52V'P(V75X9MG Z:WT-<A(VK551C/-('
M#<,V2F$;[X>-JSY4?30VU(-@2Z?>UZ4JUX8P-*U@0FQY^P'@52,L5Z$-0-+J
M+8!7C;9<':8;XS&'[?:"1SM7X:EP+=I.1BJ7MH.)PMFOR;MWP18Q9V7:&GGP
MN)O60.#XX$6O/PC"/>0M0,C=NG3;UH+PEV10QC9E1F&\26IF_$^NM\-Q8G9
M\F,2B6:!:"Q<5;3=5LU@;/#UM4JU(W^UR5(.6V\)3N9:,2!#!XK1&&RW40>)
M0T#DVA?Z1./(T:TOKP5HNNU2RBKC\2$V(.?-J6ET$):X1L1D,!J5P5+Z_KK@
M;L75I %<W9FO!UF#1?'- P5TG[%K/\;OWP7C-PQI?5W\YA-JX?9&"/&M]#U"
MJ+"@.FO?;S8I(SZ<VG@G(S<(YU8&'O%V6 4&_IT&/,G\Y@F^?20?+)]2]1O0
M\8YXL[)[/\_..=)F?1OE6M'&/'3M!Z7"0KX1G P;_XC#A=4="\G"KKSYZ6[P
M;U69?"@)Z)97\0 %0_ 6>QE%E>D[PA?,<GPP7V["8.EZ(-[HIH-]"2]W;A$Q
MWBO;8UNN_6*N" O+F(XY-Z/AL#>/Q)G%-\'E=_30AEX'?_V;F!X>2FQ&%K0A
MSWPKR6BUE_T!OO0#:];UNGE&85?KKDKNCRMB;OY\R,IY_D1?5YX)C1V. %Y$
M21MR?5-CS#-)BRBHCZH:\'.=UR[A/YI,T[9Q>$WKKWN9%F?=1RN/,L(_?[LO
MNWH^>W"CW-K@Y-CC(!FXC4-&!\733U0&[F<2OAU</&TZA@PL 3_7'S64R:DQ
M>749J&_C\).SZPZ5@?I^]N ?_1J<X'-_V>,@&5@"1]PH\Y!WN-%?'-61EB50
MQ3_-&!Y=6)8 GVLP3KCQJ-Y2NKJP'&P3EA=C, [VL\?%&XS[<33F'V1HW8F
M'@C+$JCBAUA'W>F5&O#S3<L![_"UMZ2N+BV-+=)R?#&FI;&?/?BFY85(RZT<
M<DDAQJT(X)F(C2.@!NMR[< 39-VRDNT&*U<J88E[?*L.CQ];:%D25L<6UWC$
M4.2QL=6B/*R,J0G7A!R ]#BY_5==@%;'&#\U1QEUY[C6707?GM2,#I?1MMS=
MA0)^FF]?1>JNU7 MP*&B=A<\[T#D[4("/T=5'YZ>GU1"FNU"QHYL9[TS);@+
M0/Z1L3%0#O3*L978S6P&9NW\EW2FX>&IF$.N$_&3JF_$[7>^O1:D>]/; =(=
M]5J#8OYX94AIZ<KA>#3X+NH(A-<6X+(OK S0?G09?,(.M-'P4(!VI8B.&\^"
M'"B3?5F0 [Z#-=C(C-^VCD.66B+ID9\PHNHL9;\%N/87B2C<K(V?5(4EZE>'
M"TO;/;(DCF\]D;1B(]8']+[9ZX-G.CZ.\7.=&V=._[)I97;*+U](\'4!6J!F
MG<Z$ZQ]=C8IU,*W ?QP<52D6 @[DXF@R&4S.%DE52I;@&GY8W=!&O4=2\:FU
MMQ9<PV4;L!=J(60+L!VLOMJFX?I45X,M.K[WBZ^V&7;D=QC'6WPS.D-3N.92
M)9U1?=\V)<^YUG$U>=[D JJQ%]]@JB1K#U_ '8X+ CX, L^:AK1:_,&],S<L
M+0YSI6T'/OXGQ+(SG%[D9.U<-O^+S'G [+-UM0$71P<QZ8X%MXR]3=;N GM<
MT_>P+7(\]&UNK"[0Q^_D<= &K88^=C^82_2OJ&;X0]*Y*6F!5$X-X+)\U5"&
M.FBUGTHUNUJ8*\N&+P/:G!.'N7G8G#-N<&7]35CWSFWCM ]M[EE^-'?<=@NG
M:+/^6E_<CMIJYGIX747=[F^7.-'-Y[6X:JK[Z5$;K+*5SMA*6>LRY'C+)W,Z
M-FX&.Y&U&;OR"-U[42]O-HX6AS7/ C9@F T>QB:"?C2.E;8SFQ+BP)Z;$R\P
M_X*/"V Y-I8.9P;AO_1'Z<GT+#?T"P\%4CO8BI$+!\ *2[5P4*$SL\,YME1[
M@IWMO<:]R[$?H>?^1:OT,M^9\Q5 #.^B(.=6%6!O2-<!1G1"[ <"@)+5VG9?
M"?SQITO+_*3IJ_1LT@%^..TRA4^.1A[FYAS3 ;,X;=;%ON@(/5ZT]EQ_'?5=
MS#SA4IK[8D?!!>#)?:;=\4PZ@L)?NL]^.CF1BG_: R_/J'YTI_^^3[A*/M/%
M2#-BVVMS/H?E_?A&>4/_]M?F+/X[@G+J>K !KI!ES+4/LBG^]$,5^"WGZMF:
M!\OW$JBQ]4O4;))!X\6O>H)=B(VDXJ5-W2!P5S](4W/VUZ/GPDY$,%SOO?3[
MT@K(FW1!\_@1F^*67H7'FM)'V,ESBIA@SKLU*^6WH73KG1&* G?]7OK9!F E
M%5!"YW-N4QXY\MED$73R(@]_**_N8F6\A[ E5'-9=1K/<M15>6</Q^J8>49N
MN4+>IJKUV3/7G=&E&=JVPS''88]==&Z(MH*0ETG([P,O?6V3:B72DU?LUO<(
M=VG*U=8K\4N[4"V'OBOE.G0"^:_92N7^K+,Q=+5&!Q[2HS;MS2%=8+B(X?%Q
M,5Q7N'F/T[>:,I U?2QKAO%NFYR+;'3#^(X#'M?5W8$;]DSMNRT;N331HH>H
MVQY2@Q?BQY9X;D6]6BODH\NC26Y2<$7.:Q=;VG>'D*T1&AV1(*-Q,P01V#\
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
MED[!H(E=I"62)G+_D2_9M$.\ D6[SQP:B3B F!FA0CLF22^D92?"LC^BN>%
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
M*9^;T M)U652@M%]4L*1"F^+#[G$L_%+1/UQSF@%ZH^5EW#\D-EEGXZ+4(_
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
M/D%YCIDIC=% ==@O0<&)/AR<40C^Q*SAAODF=4QUF!DHD^N48,*HC%0H@^L
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
M$WU>U*!659WG7M4YG>A&T013EZLZ"]=6YA5G?J(A!&_9TO,9__F;^?T]_+\
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
M.UI(.)CTBE:@GT$98<;;ZGSVM52;&KHQF.JS@1(4)2@'!674*VB(=4!$NB
M)UO;'>7[8-";%4R =H#S2CFTT^R&QC?66^I<GK@OK'ZNJ7#YQ$+I^-'![2*T
M'^WP^1MNX66%T'U5"/VRQ$!6/>]+6JB<J :R^]S7'3XH_];6BVKVRK]KF"S0
M138TS^J."=@I&N242NV;I!1I-;]TMQ*PR7>?4'2HCLQ%')G:*EIO*B]45A)W
M$1)7N;Y<K7RV,D.F?<(Y?&X@YGTWI#+_93K;1G7T:]L%R]=QT-(YEY/39''Q
MC!=2O37!&ULPS0RUQ* I[<@<EC;;P\];K,6:C*?ZH%\&$=?-[OS'RP_;I+HQ
MZPW*(.>Z2?,S$?E1[_+$_4Q(/^ZU4W3;5-7GN"?#03_YIAMF38TMRJVSPP,/
MI@/=&)U/'5\WP>GS,@@H!4Y_<:<61<ZND;.%BKY8?<L8W#4I\->CB=Z?5%ZE
M]</EZVW#Z$U5==NY*AI%SD[I[5)E6K$&_^CY2V:7,L&O#K#]>JC/QV7Z\KR(
M8AD71!>0]V=803&8]$H-VE05%!UC:"7Z6W%5<;55;PM_S,_*9/1WO5A[;#:=
MZ\/A^;08ZJ"O-3!ZHP:;#ERP,(Y*!>,5':-#W20=:_.N:!VV:S'$+ QZTW%6
MX6)O,#Z6WY#/>SGTOM;BD!;+FR=3W2C54* ;53,5U,1TB2LEB\ZKX,G%:D85
MS3M[<C:1A2ET]1Q/S*B;)R^L-Q_I\VF9N%Y1PAP(Y:D+1^2*QKU)F38TZL+I
MF(94Y.S4A7-:^NB4J^= 1JF\DCL6SJN_VKB3M<:O!T-]:I3!:U9%V%.NMJI+
M04HOOD0NJT/",#1Z\SK36\V=,94;.:?<B.+J)7*UI6YP]+'<;-@@HXUP7<:%
M:F:R4BVQZA*4B^F(I/KJ*25R2>W2E(BTHT?Z19M/=Z)C5B61EZ[&S8K42IYU
M8%!M4&VP,S[0[I+R6ZC]BP4ALS3/U]CW#5O@SZ&G/<)OE:/4^@6F'"7E*"E'
M22D1Y2@I$5&.DG*4E)FM-G@]&VPS620@C]1K6_E!;=]/Y]']_MS,F(OQ@M0
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
M978S#M+QX+F"95XE++.):&1*#H0SG;W.;UZ(/M:N);A/HJ)L.5.\VL5OL&Y
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
M$_2@$[>,HX/(3B EZ(#%8NOS\R*(^ 1_,C<;Q^:'Q$0=8R_Q7SX+?2_8"(&
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
M9H)K](9OSQM.[[V$ZC[I;\8IR@^GV93'NV3>Q__;H75+%.@R+^85\6*4<X\
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
MEFGEL(RM+S:"T>\5A6U@;<%2>,'P[TW<UE#S[H':IE@O?FWWB828-AWPFK6
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
MP@X$P)<_IA-G]L(L]&\9YRS[P(I#GUD])L1EYSR*;V0<P 24(Y;H=%]><-O
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
MM*.\K^*'R4_NCA,DJB14G @PU9^I6,+-OIL^K/^M@?T]]5(JX]2E@R'#X(G
M7-+'3D[AQM_'G0!U25\@( BM[?EB,'>8GA"YTY\C9K\=Q#&?2+:Y"8"C,G!Q
M\5T7A7V/MW6&=V*6.$:O["6*"4,3'_4"ISLV%-))3;K[(M2@':$DXBTGX+@Q
M5I"WN6*<5D\8&>'Q1CK\B4N]D<:VNP7DU)Y3IH"[< M?X,4H8TH)M$",$^C&
M;7AL<PO0 CY0PS$7?T01?CF.EEMWHA&E);IGV7FJI8VI%(\XU3 J!@IQ NTJ
M&9).A+(I)A[ DK&[4FH4+^XW&>Z [UL,VV+Q\'8TSRB117I#9" =*9XF:8:W
MU);Q1%^6(T.X(A?37=2@/J[TE:_L(:-YIG$)MS.C-(.\W;)"]+S!]J/'YS3Q
M7II4@^0*=R@]@#@MM81SLI@P[,7CT;6)YZJ*>@!_*V%MV6X4>%J4:$RL!0=^
MI *["2+A&%@A4Z"L7]L]UH.UN!(7!*N3@UZI_B&(1C#_@":#'<B^PAPI[:W7
M]%U:7Q3^XO@<&7].QWK-G4@O,<FT>9J6JWMAP,3(%A%[)FR+MGO\!>%I!3P'
MGLQ_P>:CN'JN'^^GK@UZ$L\9)_PR,R<YG/3/=@PZ/GDE9HL=B/$B*_)-W?2"
MEC)9F[-*R@7(_KW"'$@F<M<V"$T(UU$@_=!H" ,-/!4^;"1?^Y0DUJ6WDYSS
M&W>60['"L[' 4YT2*#T1H"!H0[S[*%C/'?&\;>ZDJ'';]" 3>S0_2K.$A#+
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
M"_3:6,T\;)RE>E;UOL*: LE%+-78[S>PB%F:>?1$%ZVI7]GK[U/OV:W'GJV
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
M-&?N(-=E35J"4]=P.!].7;=[ZH@2*B:,/.0JV&R&S94H>!FP#G[M'%K64*E
MD@X27IKVCDP1><4Z!\LM_=!:A\8A[I<TJD(O)D:>PD5^7- O9\@!-FNF^-ZA
MOB SZKH&%I[MN)%@!9_\\!&?NX:4,#@2(4_A(A4707SI^D^/4@A5[VP+\A(8
M0":Z[BT\5C)>.(J+)4%S$,$KXNY#.\$30&0=^2&2<O-!H6P;E!D&V^75S'L-
M&S?6I;:$IA=R(&L=[0I-6Z")_KFP+5%J4P($K="K4+,%:AX0=(X(^]5* 9UT
MHA5^UN/G.[)?B+:<0V,JOGXY6+O7="K%EM9V %,ZD[R#K_#S"HT*)051TK[-
MQ0VP4'N+6V/A^L?UI)-315#+.B!08:,@-MJWGYASGE#;B0(+HZ/^6?2C.@I<
M]U%@$$,1@"1N*1L@8S%9^!]53;$FU!0;%YQ%$K>4#9*SH_XP^E&5+V].^7(0
M2$&H1&\I%2IG,>,#/K:O$]/95FOX8%_:E]+K3P:6GN_1+%IEJ6INM>TT*7-S
MJQ; 6C6WJKVY5=M0HII;*82L1XAJ;E5G<ZOFHR7+.YR8_T7O4WOF4E:CC@<2
MTFE5@"D!,*H,7?G *_+^3I2CDUHIY"I+US"-:%YY.JEU0;8R=0W3AH:6JY-:
M)>0H6]=016A$^;KVPO^"^NLNT2QG:9.6'XA>#]\40A54=H6*<BU+AISR*Z51
M![F<RB;I@O(HFZ,%LKF33=(#Y4LV3!GD<"2;J +*B]P)^)<V08^^2(,5%2/G
M][]N\8**H^596^L!G9=Z!:J]@$HYH56 4WFF<BN.7.YJX[5&^; -UQ?9'-O&
M:XSR=MN@-G*XP*U1%N47[Z0B]]ABAQZ[C.4XC0H@.P!$>;+E 4WYJS(H@6Q6
M=L-T0-G2]:N '!9SPX"O[.*=X#YUT9).'%T&;(Q$!8_MX:&,XM)@IFQB"51
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
M)?;I&P-FY=#O"=RR>?.-0[1RY<N L1Q^?./ *[D3KS)(I1*P<M_+ XIRWML
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
MDI2^TC>;(/QBY=:DB8.U>TVG4-57K^JVMJ2QJBIEX;[]9MXK\.X(7JD#:%U
MN J@M4&OI-G=42HE_1Y/E=K4\8BTTB;I(])5:E/'@])*FZ0/2E>I31V/2RMM
MDCXN7:4VJ5"$1-JDHA"[9)8J'6E@XJC":IXL:!5_;@V@5>"YN6JDPLTR:)"*
M,^]9>51T60;E46'EO2B/"B;+H#PJBKP7Y5&Q8QF41P6-]Z(\*FH@@_*H@$$.
MY;E>($WE+5>\E;*.Z0JNV\)518K;BFD5*6ZT)JE@L0Q*I(+%^]<?%2^607]4
MO'A?^J-"QC+HCPH9[TM_5-18!OU14>-]Z8\*(LB@/]V.']R;FA79.W'F#G)=
M$QD/R'$)UEUD3.<:04^63W!;T1XE5,@X#[DRB/T*S1 A$=+AU\Y)>PV5,@CY
M;LE:^GPG]#7(N/-<AW+^;L:X,;=- Y')<DGL5\H@U]9_\<L["80=.2$%6%*8
MHLD"CZ*TRP ("7$@N_B)39_@?@"A[L0RKO_T\!((N/AX_%CZ!S2I^?1D40Y=
MVJR%BPZL:3D2-M,=NDCK&" Q+B[MQ=)S$0E^DP@2&;1+C(;@.VCSI)G4V_H#
MNW._V63+>Y_EP@:/9N1A@\0P^>81ZI1Y!-'?O^%W^"0#-H)H6R;Y$F/B%FD.
ML\%N%LP"@Y]E L4:^CN*B@?->N&R_Z&]XX6W:*>T'>)^"4@Y^ I_QNCIJO1X
MAO<#6FC8PM;+/2(SFRPT2T=WSR9^82T!K]^7""*MCW@!+=)G4_JM,].8Z3QU
M->)>:2Z'0+F/^V38\)PC/MX!'7(S4>72:<#(GD#*9<I!9 !T"/MYB>#\UY#S
M__R\WS=%N/IYE:UM5S,6FKB@2X,!W@8%"&,2^]81^V1_(8/YI8F0A7/Q<?V.
MB(X==$^PCL+IEGUJ>4;G'O@BC/<H=SHZ=^\-5"U/<]PSJ+J='K@W4+4\]V_/
MH.IVSMS>0-7RA+@]@ZK;B634C'29?PT.N?L!'+0M<+?Y3H>N>PO/A+;E=^X<
MPOW4(4=SD, KXCE*+<?..O(C&QYY^2 G2@P#@TIIYKV&C1OK4EMB5S/E0,8Z
MVJ5$ _US >XIG6FE0, *O5)*_0&Y&K:0<:T1"&>T/%J=4_3I1'==_M^1_4*T
MY1SKFCE)%*QNI]@A3IU)'@]CK] HG90O)QT3J\XS_+]<3J23Y?6/ZTDG5=6?
MF4,"I9/MT[1C,O7U]&G:45EVN62+])5*.EI%1.;B&1TM;"%S/8>.UEJ0N<1
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
M8PL<G'YF6]N0L<.4+: 99@AB3D'!MG.3L0T/@6WGM&#; ;:+,UUA2'N:L5T
MM0>H?2Q8/&W^Q7BT!5]U]'9]\.T/LF_$2F'V^308(#E,0C>D#T2LR[6V)6\+
MA>JPL0*%!:#F<W5^2 :=*V2P=Y<Z5\1<.1%R@6X2SEV=L[8>VXRL+3BIP]%*
MI\8<O#S8<VY3QNIW^?0P6IAW;WMZ8$[)%EC48>?&5/]^TF!L,TX?@*Z\7D?$
M/$D?>W&UABVG8XD-6[A2AZV;<(5)33FCT,$5C#I>7*W3.R7]?A#;[LB$ABW
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
M[;PFW>#=8RY>MC7Q)"HTI5N'$]='>(NT_Q'&]7@^'D#G:2ZR&F1GY%7*X+R
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
M-^$<60@@37]L-!2UT@L0G(.*J.J<HJ9T"XH?Y'\CQ+%X\G]02P,$%     @
MQ7V.4'E,F-CB<   +FP* !4   !D<V=X+3(P,C P,3,Q7V1E9BYX;6SMO5MS
MY#;2)GR_$?L?_'FO.>YN'_N-=W:C=/(H5JU22&I[YVJ"(E%5M%E$&2!U\*__
M +).*A$@ ))@LI01$V.UA$,F""2>/.*__\_S,OWFD3">T.R?WW[\QX=OOR%9
M1.,DF__SVZ]WP>3N]/+RVV]X'F9QF-*,_//;C'[[?_[W__P?__W_!<&O)",L
MS$G\S</+-_>+(HL).Z-+\LW_.[F]^B;XYL//__7AP\V7;[[>GW[SZ<.G#\&'
M'X(/WP?!__[O-,G^_"_Y?P\A)]\((C)>_O.?WR[R?/5?WWWW]/3TC^<'EOZ#
MLOEWGSY\^/Z[3>MOU\WE7^-\VV&_\8_?57_<-GTS]-/W9=N/GS]__J[\Z[8I
M3^H:BD$_?O?_OES=10NR#(,DDRL225IX\E^\_.45C<*\7,9&%KY1MI#_"C;-
M OFKX..GX/N/_WCF\;=BU;_YIEJZD$6,IN26S+Y9__CU]O+M6B19_EV<++];
MM_DN3%-!<CG"@I&9DM3- DH*?I1S_Z^]GOG+2FP#GBQ7*?GVN_9$Q709)EFP
M),L'PAS)JQVC<T*3)<GD20FJZ5QI50S3-;D+,1Z+B@<2;&=TI%@S4H]K3&9A
MD>;M%_GU.$J"-]0>DBKGB@F/0I83_H^(+K^3HNS#Q^\_?E=2+"1!3L1D>9#1
M7)S9CP$O5F)P^:LP#:*0+X)92I^$T)A1MBQEQ&NF8CY_#C:#EM2W&5/)H%B(
M)$MDTROQSW5KR8(75BNRR'-.Q"VQEF4;RE(:O?G*?+-+.(G^,:>/W\4D$>1\
M_"Q_".0/P8>/:\GXO\2O_G.>Y4G^<O;J2*7A TG% BO^7-&42L%-V7JMAJ*I
M?I_V2-L5F8=I1<'D.>$UY"E:V%*V(6P6\H?RP!8\F(?AJJ*.I#G?_.:0S/6O
M_W,J-M:%V%=W>[OM+.%12GG!"+\7N^I$S/SG 0^NW?TSN*-F2\SD@><LC'(%
M3P8]_+-QMY$/0L"02_'CX:YJ;C@@T??A0TJ:"'[52$?L3MI.6/0-90(:__-;
M :^KB^J_Y,<C\3^_S5FQ'6Y]!SHBIAFC2Z,5I@Z[2,SLDS\%0JI8U(DFVB3L
M_3*B 4Z*S_5Z?U$#06S(T<?./\WK^\KIV]1?>FTY6O^29KG8U.>5Q!>(B,SE
M#]8<[VD^+D=,)SD\GZIFJ6$B#VC;BW7']7]_5P-,>X#D'P*:+P@+HD7(YF3[
MF4S1MZ*[1Z"MI0 Q-6+J=PLYI_)<7&;B")%)%I?_.G]>B2N*U)"K8,QI#$37
MB*X172.Z1G2-Z+H?=-WB6O(.L3]^#,(H$NL6!VD2/B2IF,L::.L'\0>W3>A
MT(V@VQX-3:*(%EG.;\(7*:_$L9Y4&^UJM\_,<6O+T5#G0"".0!R!. )Q!.((
MQ#5 O)-[UC\D_Q#,*8V?DL.8KV8<_K:G1_"MFAP1-R+N=PLY?UT?"7/EP* '
M(F=$SHB<$3DC<D;DW ]R-KZ$?*+C"F?^$JP8%8<O?PG"+ [(7T6R*O]L#I8-
M!_*"G:UH02B-4/K=0NF;]0FY2<,L%[K\^>:0F&-KER$0;"/81K"-8!O!-H+M
M?L"V^ZWDWS8=R,8L6<DI CH+\@4)'@HN/AVWCAHQ&<NC_=J<'(3A",/M$=+)
M>B^=[;:9..PG(4_X=';#")=I&/*W32C6?2#4/1"2(R1'2(Z0'"$Y0G(-)&][
MQ?H$YC&-BO*'TG)<[D&WDB6& WF!Y%:T](C')X*(6!)RD8;S&G19^_?>4>]I
MP9B<4VSJ,/TW"=EY%I^)I:LAL*EI[[2>K;]D1<$-80F-+\3OZK!Z8UO/U,KU
M,J/U34MOE%[N3H4*G)HV'X+F.FQJTM0;K=4N5!\P;3MO5-Z+B33$[?_9D[W@
M5$S+PO12".;G_TM>E(8#13M?5-+EDF9WN;C![Q:AN-BG15X634RR.G%OWLD7
M_95XOR4KRG(QO01EM>+*I#DD2Q)$FKQ;MZK)SY>$S<7'^I71IWPA-M\JS-3G
M2=O:$\670D&1T#IY)$(:ANM=IR19W]P3S;=DGDB%(,NOPV6=+-4U&Z>=$RT=
M75@ZC- *VCM<OE3/]@YC7$QM,*GGSZBV?=BRURS@#%G[!)0U+=0TY.U[<+R9
M:?B&[/T(CCUSX&K(XB] 630 ;J:BI7^[JAN+)D#/E$>H\M-<.33E%)[(49L5
M3'GZ 2Q/&CN.*7/PA*B1L=*4O9^ LZ>T&YLR^#,X!C5N!I^N)H'$.4V36#X=
M$CR$J7Q*(^ +0G(>K$(IRQ<D3\0GL(@%LQ_3BP/*E2R,#0-C/1M1;-@;T'#)
M>2$VT6N2#5L#(%]M1;?I@G%>1QOG]6ZL@Q@'-3Z[H/<XJ/YU63N6C"X8,,;
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
M\06E?>5"]SOG>;(4]*A6M[[1Z,-NC.YU2+$;(PJY0:<A.@W'Y#1LD@74WC,
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
M]/17D:SD-;N6=V<D$H.(Y3BI$E'/B+ANHRJ3O([@+L9K;5SA+-\SK(A_'=Y
MXE?_^1(^)\MB6;L1E'_W1)I8(2UI=7_W0UI9O+?FQJ[]FT>2E&M5\U=@9+7%
M7F[DW2=Y525EH^$H/JJVW4"DRNOVEJ15!OPB6=U3#=1M,<*1LM?YAK,V9D^B
M2&K/XAJXD_6A99&.KZM8*'BB_0\?/M>>&J>^L%C[Z<,G9];>](7&VD\M6/L)
M"&O\ED0D>91V)1-NE,T'8"#^0Z!#";3X!677Y&FWX *29>+'J+2>\!HQWVJ,
M 5@MJ]N(:76LU+49HG[&<E7DA&U1L'97-;0>I/R'Q.RL*F6?\#^%2ALMEB'[
ML_8JLNUV- P-?Z&^I?!E2Z/FF)AV \%0PY$WZ & #4F2W5Y[VV/D;( X+?7%
M%:[)H2'8ILL C!3+0J+\1U)5_IO.#F[M)(N254HNLXU1<A+358WMIKL!AUB$
MZG.\V7+ZR]:LUW#L[.MO]?93BQ[^V=C8FK>5*/?J;ZJ/F6$O_^QLGXK;O6VE
M_2:-[0=@0<#*?)?,JA7?VK8C)'WX.^="^K])&5UPF0D5>)X(K;&\0;YR,BO2
MJV2F"D&TZ0J),7[R4ODMTI#K]$Z'$4"QN2/Q.ESJ89'C*.^$70"G=!WF4XA+
M*(M>[EF8<8'ZA/3^5= G*PM7!<7%S:1BV7Z$ =@LF/@P!2.R#GKR+'_20XSF
M#OZ9^)72^"E)T\OE*DQ8&>XH5E?!@+ZQ?^)W=$QG!V%G_R*I+$XO9+N"%ZN^
M_EF[IA*\K4A.)G-&*HNA=G,U=_#/Q*Z:. DYV5;<4W#0T'IH\F^3^4+L%;$K
MREUBQ(2BSP"LR-HLU>Z6&Z64JTH6=&W]D_[F553M,6AH/0#YJEB.1EN<14]
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
M)U> 4,?'G&GA/31AS-D7\*((QIR?T8]Y?&19&$,'O1DNU[%5_N^W5/OHG@,
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
MJ"%#V])_A% -X%Q?C_HD .-^1\32\%D*=22JTX(:6@]'_AY>>U75HD0[5:%
M5:RHRQ"@&97)\_G+)L6:RSHH)3(M"Z*H@_9ZF 'T,NT!=8&R"J9^NZ6;04$L
MAK-Z=RIYR7+MT[F]SW<42[CW!W_K6#/IL2WFIB#L+7DDF?(IY$%H&/=2[U7:
M]7;\E7,>S5+Z%0/ZB<>]J+L"]#Y6LF:V<2_?MA:[YQM>.^^XE]3VU3RO<_M?
MVM."YW1)V"U)JRI@BV15;^&QZ.&?C0OI92=7R>.^$*B^R,G+E_ /RD[34.C&
M:O798010;.Y(O Z7>M.'XRCOA-WA[3Z_4AH_);NHXP-^#O_LG\#+K"SFRODM
MX21DD2P->"9@=4I+::85'U9]!WB.F69EO;"<3.:,E($W>G'8W ' 4[$&Q=Y'
M^28NINGV3>P]"V,BA:/^%*B:85ZQE[SB)ML_=7;E0.36!:K1CN#/:#.?C=Q#
MX+*7S7<KM7"Y@LJ8Z^,,CR1/V/[KND5)@<LBLV=<$P$#+@7,GKO&T%UP65GV
M/!H&QX#+J;+GU"0@'%RZD\--TQ!C!"XAR9Y%7;"A(7O^7C]P/)+- 72&G'X&
MS*DN=-,4%D!&??J07%,.(2.?QK!G4R8AHQS#$-O1U?!H[60 IYBY*M'[;\J8
M.I) JFM^C1 C4>A:[ J++!-PZEP'A\'!+0).[^M@&?1V9'!:8 <<F_J/_&YZ
MK%N%=:N.KV[5$3V";<9P;WD#X.Z>SM>C,5L W&6D7X(>"@Z ,U5VO@G<2@Q!
MJ]'D*?<#G+W3_^H8!GB",YWZ7ZF&) )P)E<+X=I_Q0YX%MO!!)$R8P*>S1?"
M&FF3H.!9D#L_=:UK")FNT0B0;Z\)2Z;K!!(>]UIAR'1E1@";NT_4,ET<:!"[
M/B;?E)MCAL0&J62[91JJ&BD-RA?C T9XD>8\H+. KM;J(.^JWJC5) -6%'6@
M$VN&OJ^:H;W5MQ$*](7<?.<ADR6S^0UAFP+)273 2]MA0#-\EJ1%WECUQ'X@
M$$SS#;$"'%U*]Q>YHMRBKI&^/RP6S4I>&/3TS];A5IH\\+* O8*7IN:8'H:O
M. +/MD*W-[J]C\_M;7W)C-S;;8D41NK+-KMN_<I/ ^8:R=9_4 MD#^ZT]L1Z
M+<+W;E/Y(9B%"0L>P[0@8A5"7K JF$W<&2QY#//DD01))C@NJE^'^7X/-QM+
MMY/ZL[GT03?:8- &8Z]MG&WWF[:XF*K9$ 3S9)Z%\DTP_B\2SX4DO-P>%&V-
M"HN>_ME:$[2A\2#Y^X 3?6,(Q&L+,C4U'RT#PY>.NJ;B"MAL\Z:Z1:J6:*A!
M0PUP0XU9H9@&.4EM1=+HC%$V%P8X3;'QF] 6=SLH*UQW^W4D>8(VG[;QHO++
M'9J(T41\?"9BO7[GW9CT8Y#+1-" D8@(NF2<6,UOW&Q&3F/[,PVU( \M0&@!
MLE=C)E%$BRSGM]OM]2NCG*]CQQ5JC5DG",Q<D]R6E;==!F D3>F3K%]X0=D9
M+1[R69&^I;2!,Y<Q4/E'Y1^X\H\0'"'X\4%PFRMUI $:+2ZDD09IF(,+[SK6
M3P&5J1FOU(JWOW'3L9S&]J=CM2 /=:SWI6,IGH 6IUA9)&-WUB^$Q-@/1CLD
ML?U(_H%OF<]5&8GTVH>ZX4!$[U:3-RJ%S1U03T(]"?4DU)-03_*9H=_%;3E2
MY:GI/AVIAF1ZTWK7CSY^".;KK/[=#V[JD,E0_K0?<VI0V4%EI_$]CWUEQN3E
MCU:D:!Z*V:>C\3V95D38/D*T3YG; T:MR*U_Q&.?*-TS'ZVFKGVU:']FS;-&
MK296O\VR/WO3"R[M2- ^1/:*#(,GRP9.9Z]_MZ$YF5WWM.!1L#1\R'<=B>K4
M@8;6_LD'_]CQAH)-E:.S@@GUXX:PA*K*<YAT&8Z1\OJIGMR89/%-P:)%R,G:
M4R'HK*GWJ^#/820TFZ'9#+C9['T]N8M/S [YOB$^,0ONZW;TK"/D9]8Z>-81
M\FNR'3X!#?E!V5[?0H;\OFS[MY A/RO;U5O(F.^$3D1T(O91KQF:9]#<W #N
M<K=CT-G>X-]Y^#$(HT@L6ARDNY+8M;]S="DZ3^#1T=B21G0_OB_W8V<I8')[
M[56B;\S_TK<?C(4;1F<".HH#&:87Q)"/ADX#5!$6@H:^$%(^\VSQ78S[#14#
M:[G/S#JA?1SMX\#MXZ@1HD9X?!JAY74S4E71!B2,5%FTN6?!68&MOJ(Y=[ZT
MWD]"]CWD 8\6)"Y2(I\.2FDVSPE;5G]Q5'9MQ_6HX[J1AJKM^U)M%3&"M^21
MIH])-M\^/GG*2)SD%V%4/DVICAFTZ]E%*"?)$LKN2%2(>4RI-.[D7X-X38TF
M8D[=<&BBM9&+NJ:C(WSX*,LS(<IW%24UVT7=<&BBK\.E/MBUJ?EH&1A^^T@X
M-YU56UM!?%V380G=G,%;(A=17#$GE#'Z5"7?A3)&QH 5\T'0](6F+^"F+[/0
M4,T50&VE+43^-(B(V@"0T9DM3>]X<#&NC7N-N@%V4&;:;HX?A+C6#K=JD_8"
M;JMJQ09MH?V"W*ONHK35/NW(+(V>(/0$'9\G2*V(C=3ITT8=\^]#^#'@\E7#
M(*H*O 2BQU*<Q_*7/*!%+CIDL2#8U9G@/(%'KT)+&M&]@.Z%,E&"1G]><EZ\
MC@DN7PWETU59&VF25?_^*C8P/W\6]WG"R6%B<T>C@4B./Q<_Y2^7XO849.>\
M8FC*Y'_+^JR%%+?36<56]5>%D:7;P0<PRI="I?RLZX^XDRLJX[Q!%[3C#6G'
MZXM8S=F_)D_EG]2K;M,9C92HE:%6AEK9H0W$^.89F9;6*;8::<R>RPTQTMB]
M/D"C?R7]IX"$3)H/>" NFXVR2I>K(B_3\V08W$/(DR@0)U3<0VF1D[BNCZ,.
MW]?\'E7\?EE "\#[L@!TE'CV%++X7DRK"7"J;3- 6MGZ((B;HA2,DP>>LS!2
M9I,U-!^>@1-YU@VI?]5V>-+/*N%D2/Q!Z^$R$DO448&KVA!6X_;^6;C,(E9>
M)F6=&PF,2W PR7.6/(@+1,"&>[K9*B2^"5]*7SAC838GNM)^W0WL?U&N22[(
MITMR1;F*O]HV_DF]%4"/)9$X!N6F*B'][=U7[38TZC. :6B[&63%):&G5_49
M]G;$R<O;#2,OD=U-DL4W:9@UQG?V.14NG.54PP?5HMFW;V)_)\E\(03.Y)&P
M<+[51-<WN*G3P'$4,.R^H5 'U9S&0)NWE\#5>M6%^KQ@1N<*,%#[P,40]OH9
M:W+&&Q0#4,Z20<\"A.!:0/O' M&/+@ 978C6<A!=B/VZ7C2Z_\A\AAV S9%Z
M"KNV3XW4B]A*I3+DV5\):,,*/48F?'!@M)%L#8ONY]:?[&W#7ZTKP+\W^^>
M2_SU("5&Z8+=0+Y@)3 <#W(J8[ %6$N6LC:4LC5YEC\[.[5[)L.C;]L+)^CB
M1A>W@XL[+6=;7Y)OE+SS:L>I?-]6G8>(Z.:Y@']A2KC6E:1LYY_D7TDF($PJ
M].5)O!1B2%X>>?)(UFNI9<.J[R!.6J%L[,"-G%K>TNK8"H,>8-C0.IR,^AP!
M*\,[P6X))P(Q+<0A."./)*4K2:7)Z;'H.8";C*2IK.B?Q5]"]B>1*=XF/)EV
M0V<EUIHY"I>6R8U!G>3R:#U5QI<H.%.!V=>AQC@.E(F]CQT[$G^2]7>UN\;
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
M$*,-T9+9A2D+HPW!DHS1AL<:;7A-JS=#LEQ;:4/5#(U[:-P;O7$/XP0Q3A"
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
M0MP-OH'U*Z;+Z/C#F-FS:<AV4>/,J]EE]&A!UQK53,F* ?4!C=&D0GL8:Y$
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
MD7=2MUNJ'%+'54*O;RFB,4#B/P[2NI8>1N%BYY)C8[X..A2S(C$+ ]W?J(#
M+?AYC%]!%:C%1/>D8:BJNA06V\776?6( E_E$A"UA-D#:,KQ#7/6]!QOB:KN
M/0;1_(Q:>]DVX?OC&G"]73O]Z1B:6=)X',RN3R7&NMDU>*^/AK&7F&4]!]3I
MH=E)O/,CI@9J"*G/V9G%) Z.OOD<AUFOXS0C)/4<M&F%YMQIM(>:7]:#X(^3
M+Z$'@S^F,R,SS0=X!@7!_,+*]4ZU"E2_!;2S/4,+92-=!PLB7_BJ-<F&O?!U
MCYG$ B<X$%^*X_2.Q,\L!\SP?*;RT ;G+A7OPMM/JB7>UV&EV#(Y1AOFWGS*
MO"2[E1JN>E?VL2,[3[:HX,W^\I@\C8-AL?C-'1@HZ%LK9P6JLN/F#ETEC<]#
M0E@&GZF70.[-] $G!0M"OV$Y56VFYSTY47+RLY..U9Q(WQ@#6AH5F_ENJJW&
MLKB<7H*3%LF::V]J V!L&_G=F,G4V/<V(2M<R2J=\2_3,:G<65?:52HWKW>3
M*0W#SIX3[HRS$4>7'!@_Z8!2<SR@Y2#J9Y!;4/4![MZ1]APU8W/F^S'.9RP4
MXBY TC5_F_%\^60!CCHZA^%J41!&6S"R:MY1FE*FJ.N=<;I1VIF0<!.UT,80
MA9?/3G[^F".'(Q*^.H.#]8HCKWMKD//5F/1T3V>S(F%LMO] OR'^[\Q'S. 6
MEOUX0R4H'6>0,GA,S?-P[0'@IJ=[!0T8!J%W[AL":T<%_ !K,@"J2_G] /@A
MJ0OT $V+'C2_,.C(!--"U:T2K$B*W5TPV[N##"1X13&%S_@FIECQ+4E3:NW3
M#7Q\"9DL8G_',EUX/O,2Q '[%'&?0?"/;9H!G^YP=K^8>:\->V6SQ!1WU&9
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
M=152'O&:QY:P3S.<K.NL'KDW5:P8,0I6K!(Q*-++IZD>*E@-#65_1JC$P[]
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
M,IZ(/:QBCS0V:EHX>(JK"F7TFW#Z$K/]4+,4X&8@V '4W _"U(](NJ5_PNZ
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
M;'B&<JOX*6Q_&\9@N!/WF@ZRAGE;;<;"M 5R]F;MGTS/6K7NF)^T@&OP<_9
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
M;$!7[%HC(=-:[2I<4"@8)L4<9R\8QSS^*PZ0Y_MD&[.J'G,O#5GN[DV.DSV
M"Y##B!/K'JRVV#'!$7 LT?2/XKL\!TBQ':&0)[Z?;+TH9?_B0#R42%?SNF:#
M(@S3<R6G6 W803')4'Y;.-JA $-R7KC),(PIT7<\VR:,ED&R[73RH;(TOL+\
MWYNXZ$'N/6OT/0F^I^R"ZFC?^"I0A*4E#AVAXEPFRJRS*V^?8RKU[!RP+%30
M7IJA^P5%"6MNV);/I1F!BHM%9W\4/"H%>52A/T)"_3$T>00DA\BSSW)2%)S!
MX3FUQ)Y#NI)>[#ZG$&5:%F#+S\WI(C*9I^R$HV$:J3>DFEA%FJ#Q"BD/T\?)
M[.;N(YI<SFY^N9G==!W?F<JXHCX61!^#726YS2\=/+)R1^R:/_-!P*Z9[K;Y
MC^));I5:ZYWD5HJJS22W.6U4(D,5:",TWY5/#.0R:M^1K$UUVV-X[,X*MFWX
M#)%@EX3YDIA/OC7L2.051?EN:]KX1A)HYT%Q5>INPY6$F$U4.&A9^Q;Y,&[#
M&-_0/YO<'\T/JNK,DP9M%*_)R]4 3<2(.E)NS=PDXBRRK)*XBS/=V\'L"FG[
M)DWL)56UU-JX:7&:)5Z G=?5$V0P4>.:90DK*M5?D^2*;.?98AN=HNT0.)4V
M5.5/AI8MWX$4*!5W@JE>']X:E?,QW.(T_3,JD;&DP$&.K3B;<30_E>21:&&W
MY3BK;1*'V3;!DSBX#E_AK[358.U^036*JK%ATY.PI,S._ K:;DU5 383>=ZY
MMCW R2%I>9R^HLWNV#=MQ^K@5_J^DXJ?,8->/I-*#9NMV48U(M!J&35QQK*O
ME\4(W2^XVP)PY:Z*QE38G2^H^FX;&[9EWC0C4)D+.ONC<#2R+P>_!X#$^F/*
M ]TM.42>?8,+!#D(ZHJ#"QSC19BE]5%?ER05#H+22,I<@(@T)&>)PC1@UY)F
MS D/^]2CI(#+5*CP=_E##G]T6!(+K-6B"R-^07L\AUX</M;-3W?!.NKS3"YP
MI^? 6[:;@R $'%X$I6=NXDMO$U)[C4)<D_@I:SY'$W]1U8;N)&#\8*%$P H+
MC<,8^1R$&T>!.,>).ANM;]NVZVT$_AP6!@U3(\$K.CO"9\Q38K4?:<F^K[ZA
M$Z-C7";O+V_0),N2<+[EUF!&T(.7L$,+I^==TB-!>K/7]DD8G2PK$@5TU>5!
M_!V!,]TO*)^,-35L_(3LY\GC].?[VZOIX].__>'']^<__#N:_N_/-[-?<X_#
M>9?+P=AY62>OB3P#[0K8+81< JH;*OWDF1WLM3M(!=Y0%+&6EDW+6$D:56F[
MU6XBC"8*W!M(_GVQ(A*RK^O.Q6^Y@$1K1O[!U8^0'AR1!/T#JAW![(([$I,B
M2+&^WK?HXXJRV=2L\0!4=M'37\%-RS1?:M]_J^3=U]<%>?>#/<]^Y_@368X,
M1%5?[&842$W9*(4W=2OH/07'NAE@N*@TI3(&(GJXB;$#D4D 5YNE7^%-W3*Y
MIS (F721V%]E%(3*]S2PUO*V_"AB6[R6J\2;JAOU;@K&=^PG8?U#JM8J,P2D
M!U\=GR^6-VL@7\ZEER2[!4D@&83P7?+N%G2=!C93LG CO/ "HAAGJ+3'$!W;
MU'$]!YF1:#LO$F6O^Q/Q2_HYS X@PIUT"FDE<=@MT(K&<^P6:L;3>N9TV+H?
MX&<<$5Z[#S[GB7J\5^0SA"E/^<'W&0,1;,'!ZC@,%1X!!]>EBA#V#K]]Z[-]
M+D@=MVE:)"\_/SY.[V9H\O0TG;FYL-K.R^/[3^T,LI]3-<U@!O,#J/;Z#PU/
M]LBB>M2B\6H0=[],GV:?0%QN[B[O/TV=I1-M8B61X(_EP'8O3""C*=[;H6G7
MYD/H'=7P]K:VC4>X4^(L6RVN[#12]UL-,883)2[:%;>ZC-1,?3YB/_+2-%R$
M4%1M'Z3<((+*[2B*I30]6U&%TL!4_.XF>]_G9A3+Z$KMN!0B2;+C*XL()A'R
M<^PN*YFJ2RO1-@B.LKJ+'<]V/=XWH[OEX]>2[N".6CL979?Q?$!'J9,R%>53
M1K>AL$7[O FHYJ#/?__M]UT!=^+O]KL]U4[#@C.JR-=9HD <!@(<XV^_=QYP
M)S$2IY>89-AK.0XJ],$MTA[Y5/>,:JQ3M2WCT4V<F.-PIEKN$2&6#"*+V748
M>[%_D*JJ05#D&]";M:R&D+6;<,*(E&[&&>RO_)W1O[!:@IL<#&2K.MNFK#+T
M.[0H("%/L,=VL[>UR6)WUK9.AMM6WEUYDO6E.G904+UG_?1>B(=\D[HCW_%
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
MF@HF=30OCM\#)U_)=K_M/>,HMW?Q.KC;;PQ'QP$ Z\?"=J-QX/98H J#TB'
M^XC,W2#;:AA5*H'B^&'TW)PB_0MDZ,WS,%?#[MG7.PS>IOSQ(V7LO!O0-K ]
M3W]@N!,/=^Q;*S2440:Y7 _"^J+L- H\IOJ,"RM87-97&*=,E)8@N4C/4^"4
M#/G3)ML;BM5@O[ZEJB8LG38/M"CD,U\JGP*O! BT3E8B\#2*G$WSG&HS,O!S
MG_UVFQ3/U^OA13#YOL>@"],'/1JDO+_@D5C @]CJ/X"##O#,YK6.R2Q1%ZP/
M+-#UDSK!]B&1[6UD*I0'G7D7N^;EHQ2L2-+4ST"JQI5($G&]KAZ1)5F=0GVB
MXJK.I[;2,T(BG$QQ9=:@0#6,V!59M6:A3P2561M6,(]O6"HOQH L3K0V%+^!
M7D.ZZ5*:94G!VN1W<;Q34_REFDR;A>OXQ",&Y397>H[C\3[<NHW[:?F61D'$
MD\O8U8A<.(Q?CD]X0N:F/<(J; \<2U.]1+I)GL$B.LM3_IMBC]/ZD2#![(*P
M54;9OIA,JF#9FVF\C!E5W^NWAH4J7.)*I$*&.M!0BRU^:6_;&3PM0F\W+8%M
M'U$I3"1UA2?6]\G76VZLP?TLR?=\N5:GS.$*6_H=F%I(RH1"!8*I(S+9QWR.
MUV 3:^"@*O4//-@#1) 1A:\R+MX"C4@'O1*YHN_A550<&U)?**D]Y\.NW'=[
M!LY+=K;ZQYY4AZGA=Z$3K0W7Y$"OWNW$BBSJT(WY:G2*N5238W&/OV-'D]&V
MCHZ^@8\:,SWV#AK:"NR*KXC@QP+CT5Q,RM\Y5$X'_<=04PM48XB;PTF=^1/*
M:X2C<4)$?R'EID[7(+*_<#.\MK^?[U42Y5GT9!E"JD'1M_#6D$0VH"8Y"A=?
MD6@(#G8-L+E<K=G,6T]PJO%D1+M6.4_8YGU&OS#UZY3!3^RO44ZZ#GI] M21
M(#^C:Y-A;O=?ETRP,%9&TEN9U0<"*)9?^5DR3[(F0<Y9E78,I_?T/2TP><S/
MP2E2$,S>/7_ ]+%(=ANR.BMPHIZQU!M%ZXRFSI&%S'A:@9>1/37\-A,6:@<
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
MU+?;-RMZ&"(_6]$#Z_#EBF\N&3@$I:G] /1%E:H:P)Q>L!@*^/0C%IOY"!Q
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
MA'/6"D5E_*S_SD-[;Z,!(C(20CS($5FGD6'LH-/2$S9L^EZOZFW^$#_#GT2
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
M]G6=LD.?M?_QAX^MRZA37[=8^_F']YU9>]/7-=9^[L':SXZP1N]0@O 3-W=
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
M\)@&W3[H]D&W#[H]U$_1\7*UH,;^$N'\B?U$BI>>ZBM@))-J*YB<H*X&:_L
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
MK(_!^ABLCT,C*O@]=8(FR X:UPG:'CLI;Q.$V.\M0VSA_%."V HF L0.$'N
M$O1/**_8D<&_)<X7!V5Y;G:K4X C0'UM0C@0@=P+Q&.C'_"*^W[F]^RW=,YV
M(:_25"<GB.JI#C7\I$7$5G11)P]*GH889Q)'A;7Q2L<+$?S6'"780((-)-A
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
M;G^0FO'0(;B0 SX;.% (+GI_4)R#+CGX9S@-]&<F)A0N]4G7]#24(P>7YFE
MQ#$2Y> R]N+!7NMA1'!Y^X,9#03%.5ZS("?Y4WW#1)1S:Z!F@6)&5VL6@,@.
M-0N.R!JO9D&].9<D8T=2O%X7Y FE!];=6_;YQ(^BZO9UI<2"8@T.7F(!M.9-
M!H#Q3_,E7LE>%FQK8H]0Z0N"[8T<C/MW.=D]LAV6.Q@[1VI;_<=/;._NBB09
M$2J8BNE%07_9'F<-I+N9-TY!F5B'G\UZ0O+D!6@[X7@(EE[[G4P+5#Z[_<(K
M8_#8ZW2U2M"$/X)UH2L)\.(XGH"8)WQH_V[NRFN;*LH_3EUVMM:GYNPA92S4
MZS>?.J4RLH34J=-)G6HU7A&8Q<@7&:ASI\0F/E_RQT3KH(?UVA?1A ?*0W:A
M/:\OT*AWVCF&5H#[>)N[1 5%S@I[7&]*R"8TYDD9(<?P=2[,@]/K>&RKR0GF
M')JVG)QFOJ$EI\P))BDZX(49(6%Q,AE)X[MRQ\M:/ WI:KMA' ].95]M3HI5
MG"=H8QRM<EQ2DR]LZ9+@:OAJ-SY"/.L162/'LW;!'A?_KA@U5SEEAQC_);TI
MEZAX6,;YYG@0Y <=!+ +8V0MT^.T6*W);\*"TG4$.TC91$4M2@)R1> J^FR*
M_2N_*9N2,EUC=>T1X$KN@JX",G@R0S<-R&1@1?VM']BTDO2&UC86\AOVPFR@
M7&NR#;#UA +WE2?<:Q.P+*[)X/3^"MAXSL18]/GTB8:)2[5,FO7 X/!IG TF
M'H5__<(J@V?9C4GCA#X56XD-OV_E,?:S=!I33_* FHAHIWC A#<MI_,)PIN6
M#E2%,RYVAY^CZ\)W ^5?FZ6&EJUL#@=%):PSNS?;Y"FH-L284TTHC:RK,^E@
MU\D$;)FD"7V(\)!<R H,68'FL@*UO14A3?!TT@3;G4"#%,2':@^^B%*=2R7Q
MN/F24Z=<3R 'GB_2"!F&(<.P9S"O8=/O::<;VO9&A?<.W?0UG6#NHA/VC!$2
M&5V7N_%8GA/,9G0O6F>$?$<?/X+:AG\:N8RV8X!/.7?1<,# *2<RVE;'.[]J
M-Q5+U3B?P-"K=E.Q_5@6\AC/)/F#-QWT#\(_@S]HTWY4&%SJD\::MA)*X>*=
M-,QT-LL4+O])(TS'DT[A7^&$X>G@6?^.ER9AQ# VDGW99N.5230I<+4P22<V
M0EV2([)"79)0ER34)0EU228GZE"79)AX4<UK=/#J&IVN\5!<HY74NYTLZ[K^
MM>?G[OZKM,0&J(^#&3.AT,8T!.Q>O8!0:,.3:@Y3S&,_D4\SQ3SX4&AC,I]J
M(M4@IGA 342T4SQ@Y"[, RAIH\J#<'IO!!PJF;CT"4*AC5 ]PMFB!:%ZA",?
M(E2/"-4C0O4(<]4C=*WQH7A$*!X1BD>$XA&CK"<-UY0O,@DE)$()"0O!]:&$
MQ$1SUD()"3>]**&$1"@A,>4-$$I(.!Z',EX)"3\3Q4WDY&MG\?@I:A=R\K4K
M47AU]/3R](Y7@N*$9#QR1OY4S%OC:(W.9.1/Q9AD>0<,G)$_:>SJ?D;^I!&I
ML_E5H>"$"^E6H2Y%R,A_X_-."EK5OS69A*^>U-6\>RCE(=7^B*SQ4NW/[^Z_
M;JT<#;)NC2 &M1V%G*/#^N",OL;SUASIKF,,2;X\51#4=E!R5 'XJN;=\A'&
M)ZM3++^2K!TNN4=EF?'BI^<Q7<II:^\3Y;^.0F&/70'LZTJ2N?K.&#RO''I-
MA0C+$&%I,L(2L"Y#4.7I!%6:"/B:BIDR!'QI 7P-3<^[I0*1BHZ*=!J!4QJ0
M980 IH^-0/+:=.24R[L;"A@OULC)N !=&'<:84(:-I7Q0G8F()!NA[$Y>_&O
M$<Y9*Q25\3.B!S]$3)HT8N,4+W-2U$L_0L]K7#3Z?<J&H5WMQ8-.:M1>/ +E
MP5YLS%X\FY>H>(B?_P?%!?OK3ZT%X@ MAR"%XO@V3O <)U?U(F*3S:IR20K&
MMH0N>+<!B+Q8H5B'.DC[ <C:?Y=W8EJ$C08EX#V$@/<C$O !0L"'$0GX$4+
MCR,2(-G%8VY@L5%LT#L"9A\>X5HR:6H]C_,XC>_0$\HK-%N@/&D_9,#MS;/
M;E&F[^'DG%1,PY.3+VUKGO1+4C E-8=0+FMJGO"W5XVD5*V\L0O$2PO4J)J[
MP #/7M?Z L<=7&%"\TNX4/+G*F<*:QYGFT/Q'A5/.$%7=_?2_0SL99Z=FS7B
M5U2^N&;WU_GA]27@1-TAN#UMNCW'(9;MPL:(*SEV6MM8)%5ZN A:G8Q#>5A%
M-CB43\>A#- N2)=+W%_YP&7CLUS:KP<"/))]D8(Z%D%RC?KB91<N!8A!T1<A
MJ%<"!$G[(@WXJ:DVC7@7:Z&Q0MJ1OK^K1*9[ *V7OBP7^!8"V$7]%4K;BM%T
MJHT0N^2Z<+3]H;XL(*BNTNI['"^"R\6%TLG8Z<M>@JZ35A>Q+^L$*H16-[4O
M\7Q0(;2ZRGV)X9,+ 1+UX\O!8"(!P_%CP>4$#)="6W5];#;B6#]&R2:T-GJ,
MLSA/$(T8N8S %?\A(H\97M0$T"C.TWWKA-"2,MGPZA#<X1"EF\\4%8V>\+IY
M3"DJ.P>^VJ72:*2L"ZR&T-HCLD8LQ;#Y'G_@<GE>T9+IY<6,?YI9^B?[D2^,
M2U+,4E*74KF9S^[/?_[AYV,2^X\T)BL,;A0HIN@3:O[+R-A8_2Z>F_6JQ8]Z
MN.B]);9X!:%K!HYRBN@75/9E2S#<2$QM?U=3<X;8B8.ZKCO 4,,6EVBAX1K'
MCSBK*Q,-M?PZ#&F*N4NFEWRJ#_PXNYEOH'IGOJ2CC1H$;/?Z@T4-NW!%&PTS
M%AU9;X\X2!>;S]P.S8K%9V6%=-VA)&-+!\\QKZW)?D+X21*3ICU.Q_(VXW&]
M.[XT.-SU<6TU]F/&L?6X(^R\*CB6[L+3IFLWG<X :RVZP$[]2?Y=X8(GA)]5
M%.>(H7^R>L1Y?3=TD47?N1P3W1>2)]T7QMO>CK&WT9O8R4D6.?X;'5>$ZS=(
MB,L.Y:@&BAZVK-"&<./3"3<.]:N<=I\X6K^JDR;OW7KI+AJ%$N%+< ^DTLQ
MYB_OW-G=%]<PH,0[YWC/-0@U+8\79N-D5;%.9I#QHG!*5% T.?D(3"I@,6D_
M7.?2%NQE6P"+2/M!.4<UKR%=?&#A3?JEN,&<\7#]]134?)'W""XEN)KO;N71
MX9PV<+GYJ?1WBKF "TU;[7=.DQ@Z" <N.S_JWW;Q'YN- $U(3DF&>0V(=&\3
MIO6K [R \3PCWS1"-;6&,Q13V8&F$/QX1-9XP8^?-IO\(7X^7\;% K4&XHA;
MF?<F[=4W6M^N#";@#'VIST.VL7F ]P/AU;]O"_*$V2HZ>_E*N?UC%P,^:U[Q
MP(C.'FE], A\4F-.94%P*U*4^.^X47>OV ;/%YCI)?5)*/(CPCK9J+M(E[,\
MY?_ACQ\^Q1G_2K.RCNUG@G_UGN>;&HR OE:#4D9GSF:02BN!36K3L4JCQ6/[
M$-$'>ZQNC\U=LB=_;YEIM6<H1W,L.G44O6Q&X7Q"3#=(L"QXIJV)>4(OYG.4
ME#?SK29\Q]2.F[Q]W0@8Z3*$Q2J0B-[&.!7'4(H;6B'ZU1X]N##/XS4NXTS,
MA**CU<C(.DT;T5+U)5I;F2>73=ZFO%SB/&:*SJ'R(N $/H#-4QA.)<>).*_8
M[S;+BK^<+%<1AQW<&>%<U6^ ]%@#+0,XN 9:J!QN#70<W!GAM( 8/0&T#.#@
M&M"'A=T'LL+T'JR*^7G;QD+A9/YF/??Z,=DV]&P47P'9PO96=8#;^&7C6FHV
M^X+]P/Y%V4HI-A:UC8,3?L_V&M,%:=";^2?T6%Y16O%HUG,>LRKGM:V'$YP\
MD$U$S3:<IO91W,QK8+")M5&P!AG"+5[94<<.M_+E-HOSDL$?#GW6*W'2 'P
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
MJ>HN8QR"P;AR.L:5$  5 ) F -+1/D98(^YFF@YS[X]G5RA)&6=."DQ#";0
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
MW F5 1&@+ X4 0!02P$"% ,4    " #$?8Y0[IQV^!#R 0 GEA\ $0
M        @ $     9'-G>"TR,#(P,#$S,2YX;6Q02P$"% ,4    " #%?8Y0
MQAK:H?T>  "[FP$ $0              @ $_\@$ 9'-G>"TR,#(P,#$S,2YX
M<V102P$"% ,4    " #%?8Y0^H$.(38.  ! V   %0              @ %K
M$0( 9'-G>"TR,#(P,#$S,5]C86PN>&UL4$L! A0#%     @ Q7V.4'E,F-CB
M<   +FP* !4              ( !U!\" &1S9W@M,C R,# Q,S%?9&5F+GAM
M;%!+ 0(4 Q0    ( ,5]CE!)2<&]SIP  $-Y"  5              "  >F0
M @!D<V=X+3(P,C P,3,Q7VQA8BYX;6Q02P$"% ,4    " #%?8Y0%E*=<6)X
M   190L %0              @ 'J+0, 9'-G>"TR,#(P,#$S,5]P<F4N>&UL
64$L%!@     &  8 B@$  '^F P    $!

end
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>68
<FILENAME>R47.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.20.1</span><table class="report" border="0" cellspacing="2" id="idp6891986496">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Note 19 - Contract Balances, Performance Obligations and Contract Costs (Tables)<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Jan. 31, 2020</div></th></tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_TableTextBlock', window );"><strong>Notes Tables</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ContractWithCustomerAssetAndLiabilityTableTextBlock', window );">Contract with Customer, Asset and Liability [Table Text Block]</a></td>
<td class="text"><div style="display: inline; font-family: times new roman; font-size: 10pt"><table style="border-collapse: collapse; font: 10pt Times New Roman, Times, Serif; min-; min-width: 700px;" cellspacing="0" cellpadding="0"> <tr style="vertical-align: bottom; background-color: White"> <td style="padding-bottom: 1pt">&nbsp;</td> <td style="font-weight: bold">&nbsp;</td> <td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; font-weight: bold; text-align: left">&nbsp;</td> <td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; font-weight: bold; text-align: right"><div style="display: inline; font-family: Times New Roman, Times, Serif; font-size: 10pt"><div style="display: inline; font-weight: bold;">Deferred Revenue</div></div></td> <td style="border-top: Black 1pt solid; white-space: nowrap; border-bottom: Black 1pt solid; font-weight: bold; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="width: 84%; text-indent: -0.5in; padding-left: 0.5in">Balance at January 31, 2018</td> <td style="width: 2%">&nbsp;</td> <td style="width: 1%; text-align: left">&nbsp;</td> <td style="width: 12%; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">32,113</div></td> <td style="white-space: nowrap; width: 1%; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: White"> <td style="text-align: left; padding-left: 15pt">Recognition of previously deferred revenue</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">(27,252</div></td> <td style="white-space: nowrap; text-align: left">)</td> </tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="padding-left: 15pt">Deferral of revenue</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">29,423</div></td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: White"> <td style="text-align: left; padding-left: 15pt">Increases from business combinations, net</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">1,789</div></td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="text-align: left; padding-bottom: 1pt; padding-left: 15pt">Effect of movements in foreign exchange</td> <td>&nbsp;</td> <td style="border-bottom: Black 1pt solid; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">(982</div></td> <td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">)</td> </tr> <tr style="vertical-align: bottom; background-color: White"> <td style="text-indent: -0.5in; padding-left: 0.5in">Balance at January 31, 2019</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">35,091</div></td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="text-align: left; padding-left: 15pt">Recognition of previously deferred revenue</td> <td style="font-weight: bold">&nbsp;</td> <td style="font-weight: bold; text-align: left">&nbsp;</td> <td style="font-weight: bold; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">(30,580</div></td> <td style="white-space: nowrap; font-weight: bold; text-align: left">)</td> </tr> <tr style="vertical-align: bottom; background-color: White"> <td style="padding-left: 15pt">Deferral of revenue</td> <td style="font-weight: bold">&nbsp;</td> <td style="font-weight: bold; text-align: left">&nbsp;</td> <td style="font-weight: bold; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">37,408</div></td> <td style="white-space: nowrap; font-weight: bold; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="text-align: left; padding-left: 15pt">Increases from business combinations, net</td> <td style="font-weight: bold">&nbsp;</td> <td style="font-weight: bold; text-align: left">&nbsp;</td> <td style="font-weight: bold; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">551</div></td> <td style="white-space: nowrap; font-weight: bold; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: White"> <td style="text-align: left; padding-bottom: 1pt; padding-left: 15pt">Effect of movements in foreign exchange</td> <td style="font-weight: bold">&nbsp;</td> <td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">(407</div></td> <td style="white-space: nowrap; border-bottom: Black 1pt solid; font-weight: bold; text-align: left">)</td> </tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="padding-bottom: 1pt; text-indent: -15pt; padding-left: 15pt">Balance at January 31, 2020</td> <td style="font-weight: bold">&nbsp;</td> <td style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">42,063</div></td> <td style="border-bottom: Black 1.5pt solid; white-space: nowrap; font-weight: bold; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: White"> <td style="padding-left: 15pt">Current</td> <td style="font-weight: bold">&nbsp;</td> <td style="font-weight: bold; text-align: left">&nbsp;</td> <td style="font-weight: bold; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">41,143</div></td> <td style="white-space: nowrap; font-weight: bold; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="padding-bottom: 1pt; padding-left: 15pt">Long-term</td> <td style="font-weight: bold">&nbsp;</td> <td style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">920</div></td> <td style="border-bottom: Black 1.5pt solid; white-space: nowrap; font-weight: bold; text-align: left">&nbsp;</td> </tr> </table></div><div style="display: inline; font-family: times new roman; font-size: 10pt"><table cellpadding="0" cellspacing="0" style="border-collapse: collapse; font: 10pt Times New Roman, Times, Serif; min-; min-width: 700px;"> <tr style="vertical-align: bottom; background-color: White"> <td style="padding-bottom: 1pt">&nbsp;</td> <td style="font-weight: bold">&nbsp;</td> <td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; font-weight: bold; text-align: left">&nbsp;</td> <td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; font-weight: bold; text-align: right"><div style="display: inline; font-family: Times New Roman, Times, Serif; font-size: 10pt"><div style="display: inline; font-weight: bold;">Contract Assets</div></div></td> <td style="border-top: Black 1pt solid; white-space: nowrap; border-bottom: Black 1pt solid; font-weight: bold; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="text-indent: -0.5in; padding-left: 0.5in">Balance at January 31, 2018</td> <td style="font-weight: bold">&nbsp;</td> <td style="font-weight: bold; text-align: left">&nbsp;</td> <td style="font-weight: bold; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">&#x2013;</div></td> <td style="white-space: nowrap; font-weight: bold; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: White"> <td style="width: 84%; text-align: left; padding-bottom: 1pt; padding-left: 15pt">Adjustment for adoption of ASC 606</td> <td style="width: 2%">&nbsp;</td> <td style="width: 1%; border-bottom: Black 1pt solid; text-align: left">&nbsp;</td> <td style="width: 12%; border-bottom: Black 1pt solid; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">495</div></td> <td style="white-space: nowrap; width: 1%; border-bottom: Black 1pt solid; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="text-indent: -0.5in; padding-left: 0.5in">Balance at February 1, 2018</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">495</div></td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: White"> <td style="text-align: left; padding-left: 15pt">Transfers to trade receivables from contract assets</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">(266</div></td> <td style="white-space: nowrap; text-align: left">)</td> </tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="text-align: left; padding-left: 15pt">Increases as a result of delivered term licenses recognized as revenue during the period, net of amounts transferred to trade receivables</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">606</div></td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: White"> <td style="text-align: left; padding-bottom: 1pt; padding-left: 15pt">Effect of movements in foreign exchange</td> <td>&nbsp;</td> <td style="border-bottom: Black 1pt solid; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">(23</div></td> <td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">)</td> </tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="text-indent: -0.5in; padding-left: 0.5in">Balance at January 31, 2019</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">812</div></td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: White"> <td style="text-align: left; padding-left: 15pt">Transfers to trade receivables from contract assets</td> <td style="font-weight: bold">&nbsp;</td> <td style="font-weight: bold; text-align: left">&nbsp;</td> <td style="font-weight: bold; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">(490</div></td> <td style="white-space: nowrap; font-weight: bold; text-align: left">)</td> </tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="text-align: left; padding-left: 15pt">Increases as a result of delivered term licenses recognized as revenue during the period, net of amounts transferred to trade receivables</td> <td style="font-weight: bold">&nbsp;</td> <td style="font-weight: bold; text-align: left">&nbsp;</td> <td style="font-weight: bold; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">791</div></td> <td style="white-space: nowrap; font-weight: bold; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: White"> <td style="text-align: left; padding-bottom: 1pt; padding-left: 15pt">Effect of movements in foreign exchange</td> <td style="font-weight: bold">&nbsp;</td> <td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">(6</div></td> <td style="white-space: nowrap; border-bottom: Black 1pt solid; font-weight: bold; text-align: left">)</td> </tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="padding-bottom: 1pt; text-indent: -15pt; padding-left: 15pt">Balance at January 31, 2020</td> <td style="font-weight: bold">&nbsp;</td> <td style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">1,107</div></td> <td style="border-bottom: Black 1.5pt solid; white-space: nowrap; font-weight: bold; text-align: left">&nbsp;</td> </tr> </table></div><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ContractWithCustomerAssetAndLiabilityTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of contract balances and changes in contract balances.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 606<br> -SubTopic 10<br> -Section 50<br> -Paragraph 10<br> -URI http://asc.fasb.org/extlink&amp;oid=118956577&amp;loc=SL49130551-203045<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ContractWithCustomerAssetAndLiabilityTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>nonnum:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_TableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_TableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>69
<FILENAME>R43.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.20.1</span><table class="report" border="0" cellspacing="2" id="idp6897274304">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Note 15 - Share Capital (Tables)<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Jan. 31, 2020</div></th></tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_TableTextBlock', window );"><strong>Notes Tables</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ScheduleOfCommonStockOutstandingRollForwardTableTextBlock', window );">Schedule of Common Stock Outstanding Roll Forward [Table Text Block]</a></td>
<td class="text"><div style="display: inline; font-family: times new roman; font-size: 10pt"><table cellpadding="0" cellspacing="0" style="border-collapse: collapse; font: 10pt Times New Roman, Times, Serif; min-; min-width: 700px;"> <tr style="vertical-align: bottom; background-color: White"> <td>&nbsp;</td> <td style="font-weight: bold">&nbsp;</td> <td style="border-top: Black 1pt solid; font-weight: bold; text-align: left">&nbsp;</td> <td style="border-top: Black 1pt solid; font-weight: bold; text-align: right"><div style="display: inline; font-family: Times New Roman, Times, Serif; font-size: 10pt"><div style="display: inline; font-weight: bold;">January 31,</div></div></td> <td style="border-top: Black 1pt solid; white-space: nowrap; font-weight: bold; text-align: left">&nbsp;</td> <td style="border-top: Black 1pt solid">&nbsp;</td> <td style="border-top: Black 1pt solid; text-align: left">&nbsp;</td> <td style="border-top: Black 1pt solid; text-align: right"><div style="display: inline; font-family: Times New Roman, Times, Serif; font-size: 10pt">January 31,</div></td> <td style="border-top: Black 1pt solid; white-space: nowrap; text-align: left">&nbsp;</td> <td style="border-top: Black 1pt solid">&nbsp;</td> <td style="border-top: Black 1pt solid; text-align: left">&nbsp;</td> <td style="border-top: Black 1pt solid; text-align: right"><div style="display: inline; font-family: Times New Roman, Times, Serif; font-size: 10pt">January 31,</div></td> <td style="border-top: Black 1pt solid; white-space: nowrap; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: White"> <td style="font-style: italic; padding-bottom: 1pt">(thousands of shares)</td> <td style="font-weight: bold">&nbsp;</td> <td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: right">2020</td> <td style="white-space: nowrap; border-bottom: Black 1pt solid; font-weight: bold; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid">&nbsp;</td> <td style="border-bottom: Black 1pt solid; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid; text-align: right">2019</td> <td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid">&nbsp;</td> <td style="border-bottom: Black 1pt solid; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid; text-align: right">2018</td> <td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="width: 58%; text-align: left">Balance, beginning of year</td> <td style="width: 2%; font-weight: bold">&nbsp;</td> <td style="width: 1%; font-weight: bold; text-align: left">&nbsp;</td> <td style="width: 10%; font-weight: bold; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">76,865</div></td> <td style="white-space: nowrap; width: 1%; font-weight: bold; text-align: left">&nbsp;</td> <td style="width: 2%">&nbsp;</td> <td style="width: 1%; text-align: left">&nbsp;</td> <td style="width: 10%; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">76,773</div></td> <td style="white-space: nowrap; width: 1%; text-align: left">&nbsp;</td> <td style="width: 2%">&nbsp;</td> <td style="width: 1%; text-align: left">&nbsp;</td> <td style="width: 10%; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">75,875</div></td> <td style="white-space: nowrap; width: 1%; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: White"> <td style="padding-left: 12pt">Shares issued:</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right">&nbsp;</td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right">&nbsp;</td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right">&nbsp;</td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="text-align: left; padding-left: 16.5pt">Stock options and share units exercised</td> <td style="font-weight: bold">&nbsp;</td> <td style="font-weight: bold; text-align: left">&nbsp;</td> <td style="font-weight: bold; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">95</div></td> <td style="white-space: nowrap; font-weight: bold; text-align: left">&nbsp;</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">46</div></td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">141</div></td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: White"> <td style="padding-left: 16.5pt">Issuance of common shares</td> <td style="font-weight: bold">&nbsp;</td> <td style="font-weight: bold; text-align: left">&nbsp;</td> <td style="font-weight: bold; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">6,900</div></td> <td style="white-space: nowrap; font-weight: bold; text-align: left">&nbsp;</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">&#x2013;</div></td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">&#x2013;</div></td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="text-align: left; padding-bottom: 1pt; padding-left: 16.5pt">Acquisitions (Note 3)</td> <td style="font-weight: bold">&nbsp;</td> <td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">296</div></td> <td style="white-space: nowrap; border-bottom: Black 1pt solid; font-weight: bold; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid">&nbsp;</td> <td style="border-bottom: Black 1pt solid; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">46</div></td> <td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid">&nbsp;</td> <td style="border-bottom: Black 1pt solid; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">757</div></td> <td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: White"> <td style="text-align: left; padding-bottom: 1pt">Balance, end of year</td> <td style="font-weight: bold">&nbsp;</td> <td style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">84,156</div></td> <td style="border-bottom: Black 1.5pt solid; white-space: nowrap; font-weight: bold; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1.5pt solid">&nbsp;</td> <td style="border-bottom: Black 1.5pt solid; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1.5pt solid; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">76,865</div></td> <td style="border-bottom: Black 1.5pt solid; white-space: nowrap; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1.5pt solid">&nbsp;</td> <td style="border-bottom: Black 1.5pt solid; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1.5pt solid; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">76,773</div></td> <td style="border-bottom: Black 1.5pt solid; white-space: nowrap; text-align: left">&nbsp;</td> </tr> </table></div><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ScheduleOfCommonStockOutstandingRollForwardTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of the change in common stock outstanding.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ScheduleOfCommonStockOutstandingRollForwardTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>nonnum:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_TableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_TableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>70
<FILENAME>R90.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.20.1</span><table class="report" border="0" cellspacing="2" id="idp6909298384">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Note 18 - Income Taxes - Income (Loss) Before Income Taxes Earned by Tax Jurisdictions (Details) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th" colspan="4">12 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Feb. 01, 2020</div></th>
<th class="th"><div>Jan. 31, 2020</div></th>
<th class="th"><div>Jan. 31, 2019</div></th>
<th class="th"><div>Jan. 31, 2018</div></th>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesMinorityInterestAndIncomeLossFromEquityMethodInvestments', window );">Income (loss) from continuing operations</a></td>
<td class="nump">$ 48,035<span></span>
</td>
<td class="nump">$ 48,033<span></span>
</td>
<td class="nump">$ 39,510<span></span>
</td>
<td class="nump">$ 34,748<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_IncomeTaxAuthorityAxis=country_CA', window );">CANADA</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesMinorityInterestAndIncomeLossFromEquityMethodInvestments', window );">Income (loss) from continuing operations</a></td>
<td class="nump">19,557<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">16,715<span></span>
</td>
<td class="nump">17,964<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_IncomeTaxAuthorityAxis=country_US', window );">UNITED STATES</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesMinorityInterestAndIncomeLossFromEquityMethodInvestments', window );">Income (loss) from continuing operations</a></td>
<td class="nump">19,962<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">11,077<span></span>
</td>
<td class="nump">6,203<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_IncomeTaxAuthorityAxis=dsgx_OtherCountriesMember', window );">Other Countries [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesMinorityInterestAndIncomeLossFromEquityMethodInvestments', window );">Income (loss) from continuing operations</a></td>
<td class="nump">$ 8,516<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 11,718<span></span>
</td>
<td class="nump">$ 10,581<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesMinorityInterestAndIncomeLossFromEquityMethodInvestments">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of income (loss) from continuing operations before deduction of income tax expense (benefit) and income (loss) attributable to noncontrolling interest, and addition of income (loss) from equity method investments.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08.(h)(1)(i))<br> -URI http://asc.fasb.org/extlink&amp;oid=26873400&amp;loc=d3e23780-122690<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesMinorityInterestAndIncomeLossFromEquityMethodInvestments</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncomeTaxAuthorityAxis=country_CA">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncomeTaxAuthorityAxis=country_CA</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncomeTaxAuthorityAxis=country_US">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncomeTaxAuthorityAxis=country_US</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncomeTaxAuthorityAxis=dsgx_OtherCountriesMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncomeTaxAuthorityAxis=dsgx_OtherCountriesMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>71
<FILENAME>R60.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.20.1</span><table class="report" border="0" cellspacing="2" id="idp6891880944">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>Note 5 - Trade Receivables - Trade Receivables (Details) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th"><div>Jan. 31, 2020</div></th>
<th class="th"><div>Jan. 31, 2019</div></th>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AccountsReceivableGrossCurrent', window );">Trade receivables</a></td>
<td class="nump">$ 37,121<span></span>
</td>
<td class="nump">$ 33,350<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent', window );">Less: Allowance for doubtful accounts</a></td>
<td class="num">(2,003)<span></span>
</td>
<td class="num">(1,857)<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AccountsReceivableNetCurrent', window );"></a></td>
<td class="nump">$ 35,118<span></span>
</td>
<td class="nump">$ 31,493<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AccountsReceivableGrossCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount, before allowance for credit loss, of right to consideration from customer for product sold and service rendered in normal course of business, classified as current.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 310<br> -SubTopic 10<br> -Section 45<br> -Paragraph 2<br> -URI http://asc.fasb.org/extlink&amp;oid=118952595&amp;loc=d3e4428-111522<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 310<br> -SubTopic 10<br> -Section 45<br> -Paragraph 9<br> -URI http://asc.fasb.org/extlink&amp;oid=118952595&amp;loc=d3e4531-111522<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AccountsReceivableGrossCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AccountsReceivableNetCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount, after allowance for credit loss, of right to consideration from customer for product sold and service rendered in normal course of business, classified as current.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 606<br> -SubTopic 10<br> -Section 50<br> -Paragraph 8<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=118956577&amp;loc=SL49130549-203045<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 310<br> -SubTopic 10<br> -Section 45<br> -Paragraph 2<br> -URI http://asc.fasb.org/extlink&amp;oid=118952595&amp;loc=d3e4428-111522<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(3))<br> -URI http://asc.fasb.org/extlink&amp;oid=6877327&amp;loc=d3e13212-122682<br><br>Reference 4: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section 45<br> -Paragraph 1<br> -Subparagraph (c)<br> -URI http://asc.fasb.org/extlink&amp;oid=118951113&amp;loc=d3e6676-107765<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 310<br> -SubTopic 10<br> -Section 45<br> -Paragraph 9<br> -URI http://asc.fasb.org/extlink&amp;oid=118952595&amp;loc=d3e4531-111522<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AccountsReceivableNetCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of allowance for credit loss on accounts receivable, classified as current.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(4)<br> -URI http://asc.fasb.org/extlink&amp;oid=6877327&amp;loc=d3e13212-122682<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 310<br> -SubTopic 10<br> -Section 50<br> -Paragraph 4<br> -URI http://asc.fasb.org/extlink&amp;oid=118936363&amp;loc=d3e5074-111524<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 326<br> -SubTopic 20<br> -Section 45<br> -Paragraph 1<br> -URI http://asc.fasb.org/extlink&amp;oid=118955202&amp;loc=SL82895884-210446<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>72
<FILENAME>R64.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.20.1</span><table class="report" border="0" cellspacing="2" id="idp6898450224">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>Note 8 - Property and Equipment - Property and Equipment (Details) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th"><div>Jan. 31, 2020</div></th>
<th class="th"><div>Jan. 31, 2019</div></th>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentGross', window );">Cost</a></td>
<td class="nump">$ 38,770<span></span>
</td>
<td class="nump">$ 36,576<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment', window );">Accumulated amortization</a></td>
<td class="nump">25,039<span></span>
</td>
<td class="nump">23,964<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentNet', window );">Net</a></td>
<td class="nump">13,731<span></span>
</td>
<td class="nump">12,612<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentByTypeAxis=us-gaap_ComputerEquipmentMember', window );">Computer Equipment [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentGross', window );">Cost</a></td>
<td class="nump">34,442<span></span>
</td>
<td class="nump">34,870<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment', window );">Accumulated amortization</a></td>
<td class="nump">23,730<span></span>
</td>
<td class="nump">23,070<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentByTypeAxis=us-gaap_FurnitureAndFixturesMember', window );">Furniture and Fixtures [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentGross', window );">Cost</a></td>
<td class="nump">1,432<span></span>
</td>
<td class="nump">1,262<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment', window );">Accumulated amortization</a></td>
<td class="nump">816<span></span>
</td>
<td class="nump">634<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentByTypeAxis=us-gaap_LeaseholdImprovementsMember', window );">Leasehold Improvements [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentGross', window );">Cost</a></td>
<td class="nump">778<span></span>
</td>
<td class="nump">444<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment', window );">Accumulated amortization</a></td>
<td class="nump">290<span></span>
</td>
<td class="nump">260<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentByTypeAxis=dsgx_EquipmentInstalledWithCustomersMember', window );">Equipment Installed With Customers [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentGross', window );">Cost</a></td>
<td class="nump">1,289<span></span>
</td>
<td class="text"> <span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment', window );">Accumulated amortization</a></td>
<td class="nump">203<span></span>
</td>
<td class="text"> <span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentByTypeAxis=us-gaap_AssetUnderConstructionMember', window );">Asset under Construction [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentGross', window );">Cost</a></td>
<td class="nump">$ 829<span></span>
</td>
<td class="text"> <span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of accumulated depreciation, depletion and amortization for physical assets used in the normal conduct of business to produce goods and services.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 360<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (c)<br> -URI http://asc.fasb.org/extlink&amp;oid=6391035&amp;loc=d3e2868-110229<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.14)<br> -URI http://asc.fasb.org/extlink&amp;oid=6877327&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PropertyPlantAndEquipmentGross">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount before accumulated depreciation, depletion and amortization of physical assets used in the normal conduct of business and not intended for resale. Examples include, but are not limited to, land, buildings, machinery and equipment, office equipment, and furniture and fixtures.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 360<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=6391035&amp;loc=d3e2868-110229<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.13)<br> -URI http://asc.fasb.org/extlink&amp;oid=6877327&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PropertyPlantAndEquipmentGross</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PropertyPlantAndEquipmentNet">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount after accumulated depreciation, depletion and amortization of physical assets used in the normal conduct of business to produce goods and services and not intended for resale. Examples include, but are not limited to, land, buildings, machinery and equipment, office equipment, and furniture and fixtures.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(14))<br> -URI http://asc.fasb.org/extlink&amp;oid=6877327&amp;loc=d3e13212-122682<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 360<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -URI http://asc.fasb.org/extlink&amp;oid=6391035&amp;loc=d3e2868-110229<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 210<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(a)(8))<br> -URI http://asc.fasb.org/extlink&amp;oid=119400593&amp;loc=d3e572229-122910<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(13))<br> -URI http://asc.fasb.org/extlink&amp;oid=6877327&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PropertyPlantAndEquipmentNet</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PropertyPlantAndEquipmentByTypeAxis=us-gaap_ComputerEquipmentMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PropertyPlantAndEquipmentByTypeAxis=us-gaap_ComputerEquipmentMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PropertyPlantAndEquipmentByTypeAxis=us-gaap_FurnitureAndFixturesMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PropertyPlantAndEquipmentByTypeAxis=us-gaap_FurnitureAndFixturesMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PropertyPlantAndEquipmentByTypeAxis=us-gaap_LeaseholdImprovementsMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PropertyPlantAndEquipmentByTypeAxis=us-gaap_LeaseholdImprovementsMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PropertyPlantAndEquipmentByTypeAxis=dsgx_EquipmentInstalledWithCustomersMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PropertyPlantAndEquipmentByTypeAxis=dsgx_EquipmentInstalledWithCustomersMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PropertyPlantAndEquipmentByTypeAxis=us-gaap_AssetUnderConstructionMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PropertyPlantAndEquipmentByTypeAxis=us-gaap_AssetUnderConstructionMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>73
<FILENAME>R94.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.20.1</span><table class="report" border="0" cellspacing="2" id="idp6898875472">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>Note 18 - Income Taxes - Income Tax Loss Carryforwards Expiration Dates (Details)<br> $ in Thousands</strong></div></th>
<th class="th">
<div>Jan. 31, 2020 </div>
<div>USD ($)</div>
</th>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_OperatingLossCarryforwards', window );">Operating loss carryforwards</a></td>
<td class="nump">$ 55,401<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_IncomeTaxAuthorityAxis=us-gaap_ForeignCountryMember', window );">Foreign Tax Authority [Member] | Canada Revenue Agency [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_OperatingLossCarryforwards', window );">Operating loss carryforwards</a></td>
<td class="nump">1,609<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_IncomeTaxAuthorityAxis=us-gaap_ForeignCountryMember', window );">Foreign Tax Authority [Member] | EMEA Income Tax Authority [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_OperatingLossCarryforwards', window );">Operating loss carryforwards</a></td>
<td class="nump">43,642<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_IncomeTaxAuthorityAxis=us-gaap_ForeignCountryMember', window );">Foreign Tax Authority [Member] | Asia Pacific Income Tax Authority [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_OperatingLossCarryforwards', window );">Operating loss carryforwards</a></td>
<td class="nump">4,136<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_IncomeTaxAuthorityAxis=us-gaap_DomesticCountryMember', window );">Domestic Tax Authority [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_OperatingLossCarryforwards', window );">Operating loss carryforwards</a></td>
<td class="nump">6,014<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_TaxPeriodAxis=dsgx_TaxYear2021Member', window );">Tax Year 2021 [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_OperatingLossCarryforwards', window );">Operating loss carryforwards</a></td>
<td class="nump">585<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_TaxPeriodAxis=dsgx_TaxYear2021Member', window );">Tax Year 2021 [Member] | Foreign Tax Authority [Member] | Canada Revenue Agency [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_OperatingLossCarryforwards', window );">Operating loss carryforwards</a></td>
<td class="text"> <span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_TaxPeriodAxis=dsgx_TaxYear2021Member', window );">Tax Year 2021 [Member] | Foreign Tax Authority [Member] | EMEA Income Tax Authority [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_OperatingLossCarryforwards', window );">Operating loss carryforwards</a></td>
<td class="text"> <span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_TaxPeriodAxis=dsgx_TaxYear2021Member', window );">Tax Year 2021 [Member] | Foreign Tax Authority [Member] | Asia Pacific Income Tax Authority [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_OperatingLossCarryforwards', window );">Operating loss carryforwards</a></td>
<td class="nump">585<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_TaxPeriodAxis=dsgx_TaxYear2021Member', window );">Tax Year 2021 [Member] | Domestic Tax Authority [Member] | Canada Revenue Agency [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_OperatingLossCarryforwards', window );">Operating loss carryforwards</a></td>
<td class="text"> <span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_TaxPeriodAxis=dsgx_TaxYear2022Member', window );">Tax Year 2022 [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_OperatingLossCarryforwards', window );">Operating loss carryforwards</a></td>
<td class="nump">509<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_TaxPeriodAxis=dsgx_TaxYear2022Member', window );">Tax Year 2022 [Member] | Foreign Tax Authority [Member] | Canada Revenue Agency [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_OperatingLossCarryforwards', window );">Operating loss carryforwards</a></td>
<td class="text"> <span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_TaxPeriodAxis=dsgx_TaxYear2022Member', window );">Tax Year 2022 [Member] | Foreign Tax Authority [Member] | EMEA Income Tax Authority [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_OperatingLossCarryforwards', window );">Operating loss carryforwards</a></td>
<td class="text"> <span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_TaxPeriodAxis=dsgx_TaxYear2022Member', window );">Tax Year 2022 [Member] | Foreign Tax Authority [Member] | Asia Pacific Income Tax Authority [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_OperatingLossCarryforwards', window );">Operating loss carryforwards</a></td>
<td class="nump">264<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_TaxPeriodAxis=dsgx_TaxYear2022Member', window );">Tax Year 2022 [Member] | Domestic Tax Authority [Member] | Internal Revenue Service (IRS) [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_OperatingLossCarryforwards', window );">Operating loss carryforwards</a></td>
<td class="nump">245<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_TaxPeriodAxis=dsgx_TaxYear2023Member', window );">Tax Year 2023 [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_OperatingLossCarryforwards', window );">Operating loss carryforwards</a></td>
<td class="nump">950<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_TaxPeriodAxis=dsgx_TaxYear2023Member', window );">Tax Year 2023 [Member] | Foreign Tax Authority [Member] | Canada Revenue Agency [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_OperatingLossCarryforwards', window );">Operating loss carryforwards</a></td>
<td class="text"> <span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_TaxPeriodAxis=dsgx_TaxYear2023Member', window );">Tax Year 2023 [Member] | Foreign Tax Authority [Member] | EMEA Income Tax Authority [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_OperatingLossCarryforwards', window );">Operating loss carryforwards</a></td>
<td class="nump">651<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_TaxPeriodAxis=dsgx_TaxYear2023Member', window );">Tax Year 2023 [Member] | Foreign Tax Authority [Member] | Asia Pacific Income Tax Authority [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_OperatingLossCarryforwards', window );">Operating loss carryforwards</a></td>
<td class="nump">46<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_TaxPeriodAxis=dsgx_TaxYear2023Member', window );">Tax Year 2023 [Member] | Domestic Tax Authority [Member] | Internal Revenue Service (IRS) [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_OperatingLossCarryforwards', window );">Operating loss carryforwards</a></td>
<td class="nump">253<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_TaxPeriodAxis=dsgx_TaxYear2024Member', window );">Tax Year 2024 [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_OperatingLossCarryforwards', window );">Operating loss carryforwards</a></td>
<td class="nump">542<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_TaxPeriodAxis=dsgx_TaxYear2024Member', window );">Tax Year 2024 [Member] | Foreign Tax Authority [Member] | Canada Revenue Agency [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_OperatingLossCarryforwards', window );">Operating loss carryforwards</a></td>
<td class="text"> <span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_TaxPeriodAxis=dsgx_TaxYear2024Member', window );">Tax Year 2024 [Member] | Foreign Tax Authority [Member] | EMEA Income Tax Authority [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_OperatingLossCarryforwards', window );">Operating loss carryforwards</a></td>
<td class="nump">126<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_TaxPeriodAxis=dsgx_TaxYear2024Member', window );">Tax Year 2024 [Member] | Foreign Tax Authority [Member] | Asia Pacific Income Tax Authority [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_OperatingLossCarryforwards', window );">Operating loss carryforwards</a></td>
<td class="nump">171<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_TaxPeriodAxis=dsgx_TaxYear2024Member', window );">Tax Year 2024 [Member] | Domestic Tax Authority [Member] | Internal Revenue Service (IRS) [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_OperatingLossCarryforwards', window );">Operating loss carryforwards</a></td>
<td class="nump">245<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_TaxPeriodAxis=dsgx_TaxYear2025Member', window );">Tax Year 2025 [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_OperatingLossCarryforwards', window );">Operating loss carryforwards</a></td>
<td class="nump">245<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_TaxPeriodAxis=dsgx_TaxYear2025Member', window );">Tax Year 2025 [Member] | Foreign Tax Authority [Member] | Canada Revenue Agency [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_OperatingLossCarryforwards', window );">Operating loss carryforwards</a></td>
<td class="text"> <span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_TaxPeriodAxis=dsgx_TaxYear2025Member', window );">Tax Year 2025 [Member] | Foreign Tax Authority [Member] | EMEA Income Tax Authority [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_OperatingLossCarryforwards', window );">Operating loss carryforwards</a></td>
<td class="text"> <span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_TaxPeriodAxis=dsgx_TaxYear2025Member', window );">Tax Year 2025 [Member] | Foreign Tax Authority [Member] | Asia Pacific Income Tax Authority [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_OperatingLossCarryforwards', window );">Operating loss carryforwards</a></td>
<td class="text"> <span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_TaxPeriodAxis=dsgx_TaxYear2025Member', window );">Tax Year 2025 [Member] | Domestic Tax Authority [Member] | Internal Revenue Service (IRS) [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_OperatingLossCarryforwards', window );">Operating loss carryforwards</a></td>
<td class="nump">245<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_TaxPeriodAxis=dsgx_AfterTaxYear2025Member', window );">After Tax Year 2025 [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_OperatingLossCarryforwards', window );">Operating loss carryforwards</a></td>
<td class="nump">52,570<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_TaxPeriodAxis=dsgx_AfterTaxYear2025Member', window );">After Tax Year 2025 [Member] | Foreign Tax Authority [Member] | Canada Revenue Agency [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_OperatingLossCarryforwards', window );">Operating loss carryforwards</a></td>
<td class="nump">1,609<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_TaxPeriodAxis=dsgx_AfterTaxYear2025Member', window );">After Tax Year 2025 [Member] | Foreign Tax Authority [Member] | EMEA Income Tax Authority [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_OperatingLossCarryforwards', window );">Operating loss carryforwards</a></td>
<td class="nump">42,865<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_TaxPeriodAxis=dsgx_AfterTaxYear2025Member', window );">After Tax Year 2025 [Member] | Foreign Tax Authority [Member] | Asia Pacific Income Tax Authority [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_OperatingLossCarryforwards', window );">Operating loss carryforwards</a></td>
<td class="nump">3,070<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_TaxPeriodAxis=dsgx_AfterTaxYear2025Member', window );">After Tax Year 2025 [Member] | Domestic Tax Authority [Member] | Internal Revenue Service (IRS) [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_OperatingLossCarryforwards', window );">Operating loss carryforwards</a></td>
<td class="nump">$ 5,026<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OperatingLossCarryforwards">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of operating loss carryforward, before tax effects, available to reduce future taxable income under enacted tax laws.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=84230637&amp;loc=d3e32559-109319<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OperatingLossCarryforwards</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncomeTaxAuthorityAxis=us-gaap_ForeignCountryMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncomeTaxAuthorityAxis=us-gaap_ForeignCountryMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncomeTaxAuthorityNameAxis=us-gaap_CanadaRevenueAgencyMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncomeTaxAuthorityNameAxis=us-gaap_CanadaRevenueAgencyMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncomeTaxAuthorityNameAxis=dsgx_EmeaIncomeTaxAuthorityMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncomeTaxAuthorityNameAxis=dsgx_EmeaIncomeTaxAuthorityMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncomeTaxAuthorityNameAxis=dsgx_AsiaPacificIncomeTaxAuthorityMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncomeTaxAuthorityNameAxis=dsgx_AsiaPacificIncomeTaxAuthorityMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncomeTaxAuthorityAxis=us-gaap_DomesticCountryMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncomeTaxAuthorityAxis=us-gaap_DomesticCountryMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_TaxPeriodAxis=dsgx_TaxYear2021Member">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_TaxPeriodAxis=dsgx_TaxYear2021Member</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_TaxPeriodAxis=dsgx_TaxYear2022Member">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_TaxPeriodAxis=dsgx_TaxYear2022Member</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncomeTaxAuthorityNameAxis=us-gaap_InternalRevenueServiceIRSMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncomeTaxAuthorityNameAxis=us-gaap_InternalRevenueServiceIRSMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_TaxPeriodAxis=dsgx_TaxYear2023Member">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_TaxPeriodAxis=dsgx_TaxYear2023Member</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_TaxPeriodAxis=dsgx_TaxYear2024Member">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_TaxPeriodAxis=dsgx_TaxYear2024Member</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_TaxPeriodAxis=dsgx_TaxYear2025Member">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_TaxPeriodAxis=dsgx_TaxYear2025Member</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_TaxPeriodAxis=dsgx_AfterTaxYear2025Member">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_TaxPeriodAxis=dsgx_AfterTaxYear2025Member</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>74
<FILENAME>R98.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.20.1</span><table class="report" border="0" cellspacing="2" id="idp6899598080">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Note 19 - Contract Balances, Performance Obligations and Contract Costs - Changes in Deferred Revenue and Contract Assets (Details) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th" colspan="1"></th>
<th class="th" colspan="2">12 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Feb. 01, 2018</div></th>
<th class="th"><div>Jan. 31, 2020</div></th>
<th class="th"><div>Jan. 31, 2019</div></th>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ContractWithCustomerLiability', window );">Balance</a></td>
<td class="nump">$ 32,113<span></span>
</td>
<td class="nump">$ 35,091<span></span>
</td>
<td class="nump">$ 32,113<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ContractWithCustomerLiabilityRevenueRecognized', window );">Recognition of previously deferred revenue</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(30,580)<span></span>
</td>
<td class="num">(27,252)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_dsgx_ContractWithCustomerLiabilityIncreaseFromDeferralOfRevenue', window );">Deferral of revenue</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">37,408<span></span>
</td>
<td class="nump">29,423<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ContractWithCustomerLiabilityIncreaseDecreaseForContractAcquiredInBusinessCombination', window );">Increases from business combinations, net</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">551<span></span>
</td>
<td class="nump">1,789<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_dsgx_ContractWithCustomerLiabilityIncreaseDecreaseForForeignExchange', window );">Effect of movements in foreign exchange</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(407)<span></span>
</td>
<td class="num">(982)<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ContractWithCustomerLiability', window );">Balance</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">42,063<span></span>
</td>
<td class="nump">35,091<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ContractWithCustomerLiabilityCurrent', window );">Current</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">41,143<span></span>
</td>
<td class="nump">34,236<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ContractWithCustomerLiabilityNoncurrent', window );">Long-term</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">920<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_dsgx_ContractWithCustomerContractAssetBeforeAdoptionOfASC606', window );">Balance</a></td>
<td class="text"> <span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text"> <span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_dsgx_ContractWithCustomerAssetAdjustmentForAdoptionOfASC606', window );">Adjustment for adoption of ASC 606</a></td>
<td class="nump">495<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ContractWithCustomerAssetNet', window );">Balance at February 1, 2018</a></td>
<td class="nump">$ 495<span></span>
</td>
<td class="nump">812<span></span>
</td>
<td class="nump">495<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ContractWithCustomerAssetReclassifiedToReceivable', window );">Transfers to trade receivables from contract assets</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(490)<span></span>
</td>
<td class="num">(266)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_dsgx_ContractWithCustomerAssetIncreaseDecreaseForTermLicensesNet', window );">Increases as a result of delivered term licenses recognized as revenue during the period, net of amounts transferred to trade receivables</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">791<span></span>
</td>
<td class="nump">606<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_dsgx_ContractWithCustomerAssetIncreaseDecreaseForForeignExchange', window );">Effect of movements in foreign exchange</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(6)<span></span>
</td>
<td class="num">(23)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ContractWithCustomerAssetNet', window );">Balance</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 1,107<span></span>
</td>
<td class="nump">$ 812<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dsgx_ContractWithCustomerAssetAdjustmentForAdoptionOfASC606">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Represents the adjustment to the contract asset amount for the adoption of ASC 606.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dsgx_ContractWithCustomerAssetAdjustmentForAdoptionOfASC606</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dsgx_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dsgx_ContractWithCustomerAssetIncreaseDecreaseForForeignExchange">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of increase (decrease) to the contract asset during the period attributable to the effect of movements in foreign exchange.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dsgx_ContractWithCustomerAssetIncreaseDecreaseForForeignExchange</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dsgx_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dsgx_ContractWithCustomerAssetIncreaseDecreaseForTermLicensesNet">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of increase (decrease) in the contract asset during the period from term licenses recognized as revenue during the period, net of amounts transferred to trade receivables.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dsgx_ContractWithCustomerAssetIncreaseDecreaseForTermLicensesNet</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dsgx_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dsgx_ContractWithCustomerContractAssetBeforeAdoptionOfASC606">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Represents the amount of contract asset before the adoption of ASC 606.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dsgx_ContractWithCustomerContractAssetBeforeAdoptionOfASC606</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dsgx_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dsgx_ContractWithCustomerLiabilityIncreaseDecreaseForForeignExchange">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of increase (decrease) in obligation to transfer good or service to customer for which consideration from customer has been received or is due, from movements in foreign exchange.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dsgx_ContractWithCustomerLiabilityIncreaseDecreaseForForeignExchange</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dsgx_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dsgx_ContractWithCustomerLiabilityIncreaseFromDeferralOfRevenue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of increase in obligation to transfer good or service to customer for which consideration from customer has been received or is due, from deferral of revenue.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dsgx_ContractWithCustomerLiabilityIncreaseFromDeferralOfRevenue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dsgx_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ContractWithCustomerAssetNet">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount, after allowance for credit loss, of right to consideration in exchange for good or service transferred to customer when right is conditioned on something other than passage of time.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 606<br> -SubTopic 10<br> -Section 50<br> -Paragraph 8<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=118956577&amp;loc=SL49130549-203045<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 606<br> -SubTopic 10<br> -Section 45<br> -Paragraph 1<br> -URI http://asc.fasb.org/extlink&amp;oid=118944033&amp;loc=SL49130531-203044<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 606<br> -SubTopic 10<br> -Section 45<br> -Paragraph 3<br> -URI http://asc.fasb.org/extlink&amp;oid=118944033&amp;loc=SL49130533-203044<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ContractWithCustomerAssetNet</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ContractWithCustomerAssetReclassifiedToReceivable">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of decrease in right to consideration in exchange for good or service transferred to customer when right is conditioned on something other than passage of time from transfer to receivable due to right to consideration becoming unconditional.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 606<br> -SubTopic 10<br> -Section 50<br> -Paragraph 10<br> -Subparagraph (d)<br> -URI http://asc.fasb.org/extlink&amp;oid=118956577&amp;loc=SL49130551-203045<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ContractWithCustomerAssetReclassifiedToReceivable</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ContractWithCustomerLiability">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of obligation to transfer good or service to customer for which consideration has been received or is receivable.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 606<br> -SubTopic 10<br> -Section 45<br> -Paragraph 1<br> -URI http://asc.fasb.org/extlink&amp;oid=118944033&amp;loc=SL49130531-203044<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 606<br> -SubTopic 10<br> -Section 50<br> -Paragraph 8<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=118956577&amp;loc=SL49130549-203045<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 606<br> -SubTopic 10<br> -Section 45<br> -Paragraph 2<br> -URI http://asc.fasb.org/extlink&amp;oid=118944033&amp;loc=SL49130532-203044<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ContractWithCustomerLiability</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ContractWithCustomerLiabilityCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of obligation to transfer good or service to customer for which consideration has been received or is receivable, classified as current.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 606<br> -SubTopic 10<br> -Section 45<br> -Paragraph 1<br> -URI http://asc.fasb.org/extlink&amp;oid=118944033&amp;loc=SL49130531-203044<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 606<br> -SubTopic 10<br> -Section 45<br> -Paragraph 2<br> -URI http://asc.fasb.org/extlink&amp;oid=118944033&amp;loc=SL49130532-203044<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 606<br> -SubTopic 10<br> -Section 50<br> -Paragraph 8<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=118956577&amp;loc=SL49130549-203045<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ContractWithCustomerLiabilityCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ContractWithCustomerLiabilityIncreaseDecreaseForContractAcquiredInBusinessCombination">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of increase (decrease) in obligation to transfer good or service to customer for which consideration from customer has been received or is due, from business combination.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 606<br> -SubTopic 10<br> -Section 50<br> -Paragraph 10<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=118956577&amp;loc=SL49130551-203045<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ContractWithCustomerLiabilityIncreaseDecreaseForContractAcquiredInBusinessCombination</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ContractWithCustomerLiabilityNoncurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of obligation to transfer good or service to customer for which consideration has been received or is receivable, classified as noncurrent.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 606<br> -SubTopic 10<br> -Section 45<br> -Paragraph 2<br> -URI http://asc.fasb.org/extlink&amp;oid=118944033&amp;loc=SL49130532-203044<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 606<br> -SubTopic 10<br> -Section 45<br> -Paragraph 1<br> -URI http://asc.fasb.org/extlink&amp;oid=118944033&amp;loc=SL49130531-203044<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 606<br> -SubTopic 10<br> -Section 50<br> -Paragraph 8<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=118956577&amp;loc=SL49130549-203045<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ContractWithCustomerLiabilityNoncurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ContractWithCustomerLiabilityRevenueRecognized">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of revenue recognized that was previously included in balance of obligation to transfer good or service to customer for which consideration from customer has been received or is due.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 606<br> -SubTopic 10<br> -Section 50<br> -Paragraph 8<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=118956577&amp;loc=SL49130549-203045<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ContractWithCustomerLiabilityRevenueRecognized</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>75
<FILENAME>R68.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.20.1</span><table class="report" border="0" cellspacing="2" id="idp6604352656">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>Note 11 - Accrued Liabilities - Accrued Liabilities (Details) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th"><div>Jan. 31, 2020</div></th>
<th class="th"><div>Jan. 31, 2019</div></th>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_EmployeeRelatedLiabilitiesCurrent', window );">Accrued compensation and benefits</a></td>
<td class="nump">$ 20,613<span></span>
</td>
<td class="nump">$ 16,771<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AccruedProfessionalFeesCurrent', window );">Accrued professional fees</a></td>
<td class="nump">1,010<span></span>
</td>
<td class="nump">1,137<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_OtherAccruedLiabilitiesCurrent', window );">Other accrued liabilities</a></td>
<td class="nump">13,253<span></span>
</td>
<td class="nump">11,484<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AccruedLiabilitiesCurrent', window );"></a></td>
<td class="nump">$ 34,876<span></span>
</td>
<td class="nump">$ 29,392<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AccruedLiabilitiesCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Carrying value as of the balance sheet date of obligations incurred and payable, pertaining to costs that are statutory in nature, are incurred on contractual obligations, or accumulate over time and for which invoices have not yet been received or will not be rendered. Examples include taxes, interest, rent and utilities. Used to reflect the current portion of the liabilities (due within one year or within the normal operating cycle if longer).</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.20)<br> -URI http://asc.fasb.org/extlink&amp;oid=6877327&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AccruedLiabilitiesCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AccruedProfessionalFeesCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Carrying value as of the balance sheet date of obligations incurred through that date and payable for professional fees, such as for legal and accounting services received. Used to reflect the current portion of the liabilities (due within one year or within the normal operating cycle if longer).</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section 45<br> -Paragraph 6<br> -URI http://asc.fasb.org/extlink&amp;oid=118951113&amp;loc=d3e6911-107765<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.20)<br> -URI http://asc.fasb.org/extlink&amp;oid=6877327&amp;loc=d3e13212-122682<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section 45<br> -Paragraph 8<br> -URI http://asc.fasb.org/extlink&amp;oid=118951113&amp;loc=d3e6935-107765<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AccruedProfessionalFeesCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_EmployeeRelatedLiabilitiesCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Total of the carrying values as of the balance sheet date of obligations incurred through that date and payable for obligations related to services received from employees, such as accrued salaries and bonuses, payroll taxes and fringe benefits. Used to reflect the current portion of the liabilities (due within one year or within the normal operating cycle if longer).</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.20)<br> -URI http://asc.fasb.org/extlink&amp;oid=6877327&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EmployeeRelatedLiabilitiesCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OtherAccruedLiabilitiesCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of expenses incurred but not yet paid classified as other, due within one year or the normal operating cycle, if longer.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.20)<br> -URI http://asc.fasb.org/extlink&amp;oid=6877327&amp;loc=d3e13212-122682<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section 45<br> -Paragraph 6<br> -URI http://asc.fasb.org/extlink&amp;oid=118951113&amp;loc=d3e6911-107765<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section 45<br> -Paragraph 9<br> -URI http://asc.fasb.org/extlink&amp;oid=118951113&amp;loc=d3e7018-107765<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section 45<br> -Paragraph 8<br> -URI http://asc.fasb.org/extlink&amp;oid=118951113&amp;loc=d3e6935-107765<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OtherAccruedLiabilitiesCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>76
<FILENAME>R9.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.20.1</span><table class="report" border="0" cellspacing="2" id="idp6909285648">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Note 1 - Description of the Business<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Jan. 31, 2020</div></th></tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DisclosureTextBlockAbstract', window );"><strong>Notes to Financial Statements</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessDescriptionAndBasisOfPresentationTextBlock', window );">Business Description and Basis of Presentation [Text Block]</a></td>
<td class="text"><div style="display: inline; font-family: times new roman; font-size: 10pt"><div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"><div style="display: inline; font-weight: bold;">Note <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">1</div> - Description of the Business</div></div> <div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0">&nbsp;</div> <div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">The Descartes Systems Group Inc. (&#x201c;Descartes,&#x201d; &#x201c;Company,&#x201d; &#x201c;our&#x201d; or &#x201c;we&#x201d;) is a provider of global logistics technology solutions. Customers use our modular, software-as-a-service (&#x201c;SaaS&#x201d;) and data solutions to route, schedule, track and measure delivery resources; plan, allocate and execute shipments; rate, audit and pay transportation invoices; access and analyze global trade data; research and perform trade tariff and duty calculations; file customs and security documents for imports and exports;&nbsp;and complete numerous other logistics processes by participating in a large, collaborative multi-modal logistics community. Our pricing model provides our customers with flexibility in purchasing our solutions either on a subscription, transactional or perpetual license basis. Our primary focus is on serving transportation providers (air, ocean and truck modes), logistics service providers (including <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">third</div>-party logistics providers, freight forwarders and customs brokers) and distribution-intensive companies for which logistics is either a key or a defining part of their own product or service offering, or for which our solutions can provide an opportunity to reduce costs, improve service levels, or support growth by optimizing the use of assets and information.</div></div><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_BusinessDescriptionAndBasisOfPresentationTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The entire disclosure for the business description and basis of presentation concepts.  Business description describes the nature and type of organization including but not limited to organizational structure as may be applicable to holding companies, parent and subsidiary relationships, business divisions, business units, business segments, affiliates and information about significant ownership of the reporting entity.  Basis of presentation describes the underlying basis used to prepare the financial statements (for example, US Generally Accepted Accounting Principles, Other Comprehensive Basis of Accounting, IFRS).</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -URI http://asc.fasb.org/topic&amp;trid=2122369<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 205<br> -URI http://asc.fasb.org/topic&amp;trid=2122149<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 275<br> -URI http://asc.fasb.org/topic&amp;trid=2134479<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_BusinessDescriptionAndBasisOfPresentationTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>nonnum:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DisclosureTextBlockAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DisclosureTextBlockAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>77
<FILENAME>R5.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.20.1</span><table class="report" border="0" cellspacing="2" id="idp6809874336">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Consolidated Statements of Comprehensive Income - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th" colspan="3">12 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Jan. 31, 2020</div></th>
<th class="th"><div>Jan. 31, 2019</div></th>
<th class="th"><div>Jan. 31, 2018</div></th>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_NetIncomeLoss', window );">Net income</a></td>
<td class="nump">$ 36,997<span></span>
</td>
<td class="nump">$ 31,277<span></span>
</td>
<td class="nump">$ 26,879<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_OtherComprehensiveIncomeLossTaxAbstract', window );"><strong>Other comprehensive income (loss):</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax', window );">Foreign currency translation adjustment, net of income tax expense (recovery) of ($132) for the year ended January 31, 2020 (January 31, 2019 &#8211; ($44); January 31, 2018 &#8211; $255)</a></td>
<td class="num">(743)<span></span>
</td>
<td class="num">(9,949)<span></span>
</td>
<td class="nump">17,527<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_OtherComprehensiveIncomeLossNetOfTax', window );">Total other comprehensive income (loss)</a></td>
<td class="num">(743)<span></span>
</td>
<td class="num">(9,949)<span></span>
</td>
<td class="nump">17,527<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ComprehensiveIncomeNetOfTax', window );">COMPREHENSIVE INCOME</a></td>
<td class="nump">$ 36,254<span></span>
</td>
<td class="nump">$ 21,328<span></span>
</td>
<td class="nump">$ 44,406<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ComprehensiveIncomeNetOfTax">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount after tax of increase (decrease) in equity from transactions and other events and circumstances from net income and other comprehensive income, attributable to parent entity. Excludes changes in equity resulting from investments by owners and distributions to owners.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 45<br> -Paragraph 5<br> -URI http://asc.fasb.org/extlink&amp;oid=118930883&amp;loc=d3e557-108580<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 45<br> -Paragraph 1B<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=118930883&amp;loc=SL7669625-108580<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 45<br> -Paragraph 1A<br> -Subparagraph (c)<br> -URI http://asc.fasb.org/extlink&amp;oid=118930883&amp;loc=SL7669619-108580<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ComprehensiveIncomeNetOfTax</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_NetIncomeLoss">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The portion of profit or loss for the period, net of income taxes, which is attributable to the parent.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 45<br> -Paragraph 1A<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=118930883&amp;loc=SL7669619-108580<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 220<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-04(22))<br> -URI http://asc.fasb.org/extlink&amp;oid=116637391&amp;loc=SL114874048-224260<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 45<br> -Paragraph 1B<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=118930883&amp;loc=SL7669625-108580<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 220<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(18))<br> -URI http://asc.fasb.org/extlink&amp;oid=116637232&amp;loc=SL114874131-224263<br><br>Reference 5: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(20))<br> -URI http://asc.fasb.org/extlink&amp;oid=116634182&amp;loc=SL114868664-224227<br><br>Reference 6: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 28<br> -URI http://asc.fasb.org/extlink&amp;oid=118932676&amp;loc=d3e3602-108585<br><br>Reference 7: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -URI http://asc.fasb.org/extlink&amp;oid=6371337&amp;loc=d3e3550-109257<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_NetIncomeLoss</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount after tax and reclassification adjustments of gain (loss) on foreign currency translation adjustments, foreign currency transactions designated and effective as economic hedges of a net investment in a foreign entity and intra-entity foreign currency transactions that are of a long-term-investment nature.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 45<br> -Paragraph 10A<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=118930883&amp;loc=SL7669646-108580<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 830<br> -SubTopic 30<br> -Section 45<br> -Paragraph 20<br> -Subparagraph (b,c)<br> -URI http://asc.fasb.org/extlink&amp;oid=118261656&amp;loc=d3e32211-110900<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OtherComprehensiveIncomeLossNetOfTax">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount after tax and reclassification adjustments of other comprehensive income (loss).</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 45<br> -Paragraph 1A<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=118930883&amp;loc=SL7669619-108580<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -URI http://asc.fasb.org/extlink&amp;oid=109259400&amp;loc=d3e21463-112644<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 55<br> -Paragraph 15<br> -URI http://asc.fasb.org/extlink&amp;oid=118951672&amp;loc=d3e1436-108581<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 45<br> -Paragraph 1B<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=118930883&amp;loc=SL7669625-108580<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OtherComprehensiveIncomeLossNetOfTax</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OtherComprehensiveIncomeLossTaxAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OtherComprehensiveIncomeLossTaxAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>78
<FILENAME>R1.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.20.1</span><table class="report" border="0" cellspacing="2" id="idp6909384656">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Document And Entity Information<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th">
<div>Jan. 31, 2020 </div>
<div>shares</div>
</th></tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_dei_DocumentInformationLineItems', window );"><strong>Document Information [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_dei_EntityRegistrantName', window );">Entity Registrant Name</a></td>
<td class="text">DESCARTES SYSTEMS GROUP INC<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_dei_EntityCentralIndexKey', window );">Entity Central Index Key</a></td>
<td class="text">0001050140<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_dei_CurrentFiscalYearEndDate', window );">Current Fiscal Year End Date</a></td>
<td class="text">--01-31<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_dei_EntityCurrentReportingStatus', window );">Entity Current Reporting Status</a></td>
<td class="text">Yes<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_dei_EntityEmergingGrowthCompany', window );">Entity Emerging Growth Company</a></td>
<td class="text">false<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_dei_EntityInteractiveDataCurrent', window );">Entity Interactive Data Current</a></td>
<td class="text">Yes<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_dei_EntityCommonStockSharesOutstanding', window );">Entity Common Stock, Shares Outstanding (in shares)</a></td>
<td class="nump">84,156,316<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_dei_DocumentType', window );">Document Type</a></td>
<td class="text">40-F<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_dei_DocumentPeriodEndDate', window );">Document Period End Date</a></td>
<td class="text">Jan. 31,  2020<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_dei_DocumentFiscalYearFocus', window );">Document Fiscal Year Focus</a></td>
<td class="text">2020<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_dei_DocumentFiscalPeriodFocus', window );">Document Fiscal Period Focus</a></td>
<td class="text">FY<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_dei_AmendmentFlag', window );">Amendment Flag</a></td>
<td class="text">false<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_AmendmentFlag">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Boolean flag that is true when the XBRL content amends previously-filed or accepted submission.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_AmendmentFlag</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:booleanItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_CurrentFiscalYearEndDate">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>End date of current fiscal year in the format --MM-DD.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_CurrentFiscalYearEndDate</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:gMonthDayItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_DocumentFiscalPeriodFocus">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Fiscal period values are FY, Q1, Q2, and Q3.  1st, 2nd and 3rd quarter 10-Q or 10-QT statements have value Q1, Q2, and Q3 respectively, with 10-K, 10-KT or other fiscal year statements having FY.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_DocumentFiscalPeriodFocus</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dei:fiscalPeriodItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_DocumentFiscalYearFocus">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>This is focus fiscal year of the document report in CCYY format. For a 2006 annual report, which may also provide financial information from prior periods, fiscal 2006 should be given as the fiscal year focus. Example: 2006.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_DocumentFiscalYearFocus</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:gYearItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_DocumentInformationLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_DocumentInformationLineItems</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_DocumentPeriodEndDate">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The end date of the period reflected on the cover page if a periodic report. For all other reports and registration statements containing historical data, it is the date up through which that historical data is presented.  If there is no historical data in the report, use the filing date. The format of the date is CCYY-MM-DD.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_DocumentPeriodEndDate</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:dateItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_DocumentType">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The type of document being provided (such as 10-K, 10-Q, 485BPOS, etc). The document type is limited to the same value as the supporting SEC submission type, or the word 'Other'.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_DocumentType</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dei:submissionTypeItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntityCentralIndexKey">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>A unique 10-digit SEC-issued value to identify entities that have filed disclosures with the SEC. It is commonly abbreviated as CIK.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Regulation 12B<br> -Number 240<br> -Section 12<br> -Subsection b-2<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntityCentralIndexKey</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dei:centralIndexKeyItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntityCommonStockSharesOutstanding">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Indicate number of shares or other units outstanding of each of registrant's classes of capital or common stock or other ownership interests, if and as stated on cover of related periodic report. Where multiple classes or units exist define each class/interest by adding class of stock items such as Common Class A [Member], Common Class B [Member] or Partnership Interest [Member] onto the Instrument [Domain] of the Entity Listings, Instrument.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntityCommonStockSharesOutstanding</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntityCurrentReportingStatus">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Indicate 'Yes' or 'No' whether registrants (1) have filed all reports required to be filed by Section 13 or 15(d) of the Securities Exchange Act of 1934 during the preceding 12 months (or for such shorter period that registrants were required to file such reports), and (2) have been subject to such filing requirements for the past 90 days. This information should be based on the registrant's current or most recent filing containing the related disclosure.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntityCurrentReportingStatus</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dei:yesNoItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntityEmergingGrowthCompany">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Indicate if registrant meets the emerging growth company criteria.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Regulation 12B<br> -Number 240<br> -Section 12<br> -Subsection b-2<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntityEmergingGrowthCompany</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:booleanItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntityInteractiveDataCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Boolean flag that is true when the registrant has submitted electronically every Interactive Data File required to be submitted pursuant to Rule 405 of Regulation S-T during the preceding 12 months (or for such shorter period that the registrant was required to submit such files).</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Regulation S-T<br> -Number 232<br> -Section 405<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntityInteractiveDataCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dei:yesNoItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntityRegistrantName">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The exact name of the entity filing the report as specified in its charter, which is required by forms filed with the SEC.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Regulation 12B<br> -Number 240<br> -Section 12<br> -Subsection b-2<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntityRegistrantName</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:normalizedStringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>79
<FILENAME>R22.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.20.1</span><table class="report" border="0" cellspacing="2" id="idp6891971376">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Note 14 - Commitments, Contingencies and Guarantees<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Jan. 31, 2020</div></th></tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DisclosureTextBlockAbstract', window );"><strong>Notes to Financial Statements</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_CommitmentsAndContingenciesDisclosureTextBlock', window );">Commitments and Contingencies Disclosure [Text Block]</a></td>
<td class="text"><div style="display: inline; font-family: times new roman; font-size: 10pt"><div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"><div style="display: inline; font-weight: bold;">Note <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">14</div> - Commitments, Contingencies and Guarantees</div></div> <div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><div style="display: inline; font-weight: bold;"><div style="display: inline; font-style: italic;">&nbsp;</div></div></div> <div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><div style="display: inline; font-weight: bold;"><div style="display: inline; font-style: italic;">Commitments</div></div></div> <div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">As described in Note <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">2</div> to these consolidated financial statements, we maintain deferred share unit (&#x201c;DSU&#x201d;) and cash-settled restricted share unit (&#x201c;CRSU&#x201d;) plans for our directors and employees. Any payments made pursuant to these plans are settled in cash. For DSUs and CRSUs, the units vest over time and the liability recognized at any given consolidated balance sheet date reflects only those units vested at that date that have <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">not</div> yet been settled in cash. As such, we had an unrecognized aggregate liability for the unvested CRSUs and DSUs of <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">$1.1</div> million and <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">nil,</div> respectively, at <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"> January 31, 2020. </div>The ultimate liability for any payment of DSUs and CRSUs is dependent on the trading price of our common shares. To partially offset our exposure to fluctuations in our stock price, we have entered into equity derivative contracts, including floating-rate equity forwards. As at <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"> January 31, 2020, </div>we had equity derivatives for <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">251,422</div> Descartes common shares and a DSU liability for <div style="display: inline; color: black"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">251,422</div> Descartes common shares, resulting in minimal net exposure resulting from changes to our share price</div>.</div> <div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&nbsp;</div> <div style=" font: italic bold 10pt Times New Roman, Times, Serif; margin: 0pt 0">Contingencies</div> <div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">We are subject to a variety of other claims and suits that arise from time to time in the ordinary course of our business. The consequences of these matters are <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">not</div> presently determinable but, in the opinion of management after consulting with legal counsel, the ultimate aggregate potential liability is <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">not</div> currently expected to have a material effect on our results of operations or financial position.</div> <div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&nbsp;</div> <div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><div style="display: inline; text-decoration: underline;">Product Warranties</div></div> <div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">In the normal course of operations, we provide our customers with product warranties relating to the performance of our hardware, software and services. To date, we have <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">not</div> encountered material costs as a result of such obligations and have <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">not</div> accrued any liabilities related to such obligations in our consolidated financial statements.</div> <div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&nbsp;</div> <div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><div style="display: inline; text-decoration: underline;">Business combination agreements</div></div> <div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">In respect of our acquisitions of PinPoint and CORE, up to <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">$10.1</div> million in cash <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"> may </div>become payable if certain revenue performance targets are met in the <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">two</div> years following the acquisition. A balance of <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">$1.9</div> million is accrued related to the fair value of this contingent consideration as at <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"> January 31, 2020.</div></div> <div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&nbsp;</div> <div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"></div> <!-- Field: Page; Sequence: 27 -->   <!-- Field: /Page --> <div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"></div> <div style=" font: italic bold 10pt Times New Roman, Times, Serif; margin: 0pt 0">Guarantees</div> <div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">In the normal course of business, we enter into a variety of agreements that <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"> may </div>contain features that meet the definition of a guarantee under ASC Topic <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">460,</div> &#x201c;Guarantees&#x201d;. The following lists our significant guarantees:</div> <div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&nbsp;</div> <div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><div style="display: inline; text-decoration: underline;">Intellectual property indemnification obligations</div></div> <div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">We provide indemnifications of varying scope to our customers against claims of intellectual property infringement made by <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">third</div> parties arising from the use of our products. In the event of such a claim, we are generally obligated to defend our customers against the claim and we are liable to pay damages and costs assessed against our customers that are payable as part of a final judgment or settlement. These intellectual property infringement indemnification clauses are <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">not</div> generally subject to any dollar limits and remain in force for the term of our license agreement with our customer, which license terms are typically perpetual. Historically, we have <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">not</div> encountered material costs as a result of such indemnification obligations.</div> <div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&nbsp;</div> <div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><div style="display: inline; text-decoration: underline;">Other indemnification agreements</div></div> <div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">In the normal course of operations, we enter into various agreements that provide general indemnities. These indemnities typically arise in connection with purchases and sales of assets, securities offerings or buy-backs, service contracts, administration of employee benefit plans, retention of officers and directors, membership agreements, customer financing transactions, and leasing transactions. In addition, our corporate by-laws provide for the indemnification of our directors and officers. Each of these indemnities requires us, in certain circumstances, to compensate the counterparties for various costs resulting from breaches of representations or obligations under such arrangements, or as a result of <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">third</div> party claims that <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"> may </div>be suffered by the counterparty as a consequence of the transaction. We believe that the likelihood that we could incur significant liability under these obligations is remote. Historically, we have <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">not</div> made any significant payments under such indemnities.</div> <div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&nbsp;</div> <div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">In evaluating estimated losses for the guarantees or indemnities described above, we consider such factors as the degree of probability of an unfavorable outcome and the ability to make a reasonable estimate of the amount of loss. We are unable to make a reasonable estimate of the maximum potential amount payable under such guarantees or indemnities as many of these arrangements do <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">not</div> specify a maximum potential dollar exposure or time limitation. The amount also depends on the outcome of future events and conditions, which cannot be predicted. Given the foregoing, to date, we have <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">not</div> accrued any liability in our consolidated financial statements for the guarantees or indemnities described above.</div></div><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CommitmentsAndContingenciesDisclosureTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The entire disclosure for commitments and contingencies.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 450<br> -URI http://asc.fasb.org/topic&amp;trid=2127136<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 440<br> -URI http://asc.fasb.org/topic&amp;trid=2144648<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CommitmentsAndContingenciesDisclosureTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>nonnum:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DisclosureTextBlockAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DisclosureTextBlockAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>80
<FILENAME>R26.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.20.1</span><table class="report" border="0" cellspacing="2" id="idp6891872480">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Note 18 - Income Taxes<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Jan. 31, 2020</div></th></tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DisclosureTextBlockAbstract', window );"><strong>Notes to Financial Statements</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_IncomeTaxDisclosureTextBlock', window );">Income Tax Disclosure [Text Block]</a></td>
<td class="text"><div style="display: inline; font-family: times new roman; font-size: 10pt"><div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"><div style="display: inline; font-weight: bold;">Note <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">18</div> - Income Taxes</div></div> <div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"><div style="display: inline; font-weight: bold;">&nbsp;</div></div> <div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">Income before income taxes is earned in the following tax jurisdictions:</div> <div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&nbsp;</div> <div> <table cellpadding="0" cellspacing="0" style="border-collapse: collapse; font: 10pt Times New Roman, Times, Serif; min-width: 700px;">  <tr style="vertical-align: bottom; background-color: White"> <td style="font-style: italic">Year Ended</td> <td style="font-weight: bold">&nbsp;</td> <td style="border-top: Black 1pt solid; font-weight: bold; text-align: left">&nbsp;</td> <td style="border-top: Black 1pt solid; font-weight: bold; text-align: right"><div style="display: inline; font-family: Times New Roman, Times, Serif; font-size: 10pt"><div style="display: inline; font-weight: bold;">January 31,</div></div></td> <td style="border-top: Black 1pt solid; white-space: nowrap; font-weight: bold; text-align: left">&nbsp;</td> <td style="border-top: Black 1pt solid">&nbsp;</td> <td style="border-top: Black 1pt solid; text-align: left">&nbsp;</td> <td style="border-top: Black 1pt solid; text-align: right"><div style="display: inline; font-family: Times New Roman, Times, Serif; font-size: 10pt">January 31,</div></td> <td style="border-top: Black 1pt solid; white-space: nowrap; text-align: left">&nbsp;</td> <td style="border-top: Black 1pt solid">&nbsp;</td> <td style="border-top: Black 1pt solid; text-align: left">&nbsp;</td> <td style="border-top: Black 1pt solid; text-align: right"><div style="display: inline; font-family: Times New Roman, Times, Serif; font-size: 10pt">January 31,</div></td> <td style="border-top: Black 1pt solid; white-space: nowrap; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: White"> <td style="padding-bottom: 1pt">&nbsp;</td> <td style="font-weight: bold">&nbsp;</td> <td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: right">2020</td> <td style="white-space: nowrap; border-bottom: Black 1pt solid; font-weight: bold; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid">&nbsp;</td> <td style="border-bottom: Black 1pt solid; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid; text-align: right">2019</td> <td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid">&nbsp;</td> <td style="border-bottom: Black 1pt solid; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid; text-align: right">2018</td> <td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: White"> <td>&nbsp;</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right">&nbsp;</td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right">&nbsp;</td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right">&nbsp;</td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="width: 55%">Canada</td> <td style="width: 2%; font-weight: bold">&nbsp;</td> <td style="width: 1%; font-weight: bold; text-align: left">&nbsp;</td> <td style="width: 11%; font-weight: bold; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">19,557</div></td> <td style="white-space: nowrap; width: 1%; font-weight: bold; text-align: left">&nbsp;</td> <td style="width: 2%">&nbsp;</td> <td style="width: 1%; text-align: left">&nbsp;</td> <td style="width: 11%; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">16,715</div></td> <td style="white-space: nowrap; width: 1%; text-align: left">&nbsp;</td> <td style="width: 2%">&nbsp;</td> <td style="width: 1%; text-align: left">&nbsp;</td> <td style="width: 11%; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">17,964</div></td> <td style="white-space: nowrap; width: 1%; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: White"> <td style="text-align: left">United States</td> <td style="font-weight: bold">&nbsp;</td> <td style="font-weight: bold; text-align: left">&nbsp;</td> <td style="font-weight: bold; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">19,962</div></td> <td style="white-space: nowrap; font-weight: bold; text-align: left">&nbsp;</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">11,077</div></td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">6,203</div></td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="text-align: left; padding-bottom: 1pt">Other countries</td> <td style="font-weight: bold">&nbsp;</td> <td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">8,516</div></td> <td style="white-space: nowrap; border-bottom: Black 1pt solid; font-weight: bold; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid">&nbsp;</td> <td style="border-bottom: Black 1pt solid; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">11,718</div></td> <td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid">&nbsp;</td> <td style="border-bottom: Black 1pt solid; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">10,581</div></td> <td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: White"> <td style="padding-bottom: 1pt">&nbsp;</td> <td style="font-weight: bold">&nbsp;</td> <td style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">48,035</div></td> <td style="border-bottom: Black 1.5pt solid; white-space: nowrap; font-weight: bold; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1.5pt solid">&nbsp;</td> <td style="border-bottom: Black 1.5pt solid; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1.5pt solid; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">39,510</div></td> <td style="border-bottom: Black 1.5pt solid; white-space: nowrap; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1.5pt solid">&nbsp;</td> <td style="border-bottom: Black 1.5pt solid; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1.5pt solid; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">34,748</div></td> <td style="border-bottom: Black 1.5pt solid; white-space: nowrap; text-align: left">&nbsp;</td> </tr>  </table> </div> <div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"></div>   <!-- Field: /Page --> <div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&nbsp;</div> <div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">Income tax expense is incurred in the following jurisdictions:</div> <div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&nbsp;</div> <div> <table cellpadding="0" cellspacing="0" style="border-collapse: collapse; font: 10pt Times New Roman, Times, Serif; min-width: 700px;">  <tr style="vertical-align: bottom; background-color: White"> <td style="font-style: italic">Year Ended</td> <td style="font-weight: bold">&nbsp;</td> <td style="border-top: Black 1pt solid; font-weight: bold; text-align: left">&nbsp;</td> <td style="border-top: Black 1pt solid; font-weight: bold; text-align: right"><div style="display: inline; font-family: Times New Roman, Times, Serif; font-size: 10pt"><div style="display: inline; font-weight: bold;">January 31,</div></div></td> <td style="border-top: Black 1pt solid; white-space: nowrap; font-weight: bold; text-align: left">&nbsp;</td> <td style="border-top: Black 1pt solid">&nbsp;</td> <td style="border-top: Black 1pt solid; text-align: left">&nbsp;</td> <td style="border-top: Black 1pt solid; text-align: right"><div style="display: inline; font-family: Times New Roman, Times, Serif; font-size: 10pt">January 31,</div></td> <td style="border-top: Black 1pt solid; white-space: nowrap; text-align: left">&nbsp;</td> <td style="border-top: Black 1pt solid">&nbsp;</td> <td style="border-top: Black 1pt solid; text-align: left">&nbsp;</td> <td style="border-top: Black 1pt solid; text-align: right"><div style="display: inline; font-family: Times New Roman, Times, Serif; font-size: 10pt">January 31,</div></td> <td style="border-top: Black 1pt solid; white-space: nowrap; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: White"> <td style="padding-bottom: 1pt">&nbsp;</td> <td style="font-weight: bold">&nbsp;</td> <td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: right">2020</td> <td style="white-space: nowrap; border-bottom: Black 1pt solid; font-weight: bold; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid">&nbsp;</td> <td style="border-bottom: Black 1pt solid; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid; text-align: right">2019</td> <td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid">&nbsp;</td> <td style="border-bottom: Black 1pt solid; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid; text-align: right">2018</td> <td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="text-align: left">Current income tax expense</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right">&nbsp;</td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right">&nbsp;</td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right">&nbsp;</td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: White"> <td style="width: 55%; padding-left: 12pt">Canada</td> <td style="width: 2%; font-weight: bold">&nbsp;</td> <td style="width: 1%; font-weight: bold; text-align: left">&nbsp;</td> <td style="width: 11%; font-weight: bold; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">1,020</div></td> <td style="white-space: nowrap; width: 1%; font-weight: bold; text-align: left">&nbsp;</td> <td style="width: 2%">&nbsp;</td> <td style="width: 1%; text-align: left">&nbsp;</td> <td style="width: 11%; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">3,037</div></td> <td style="white-space: nowrap; width: 1%; text-align: left">&nbsp;</td> <td style="width: 2%">&nbsp;</td> <td style="width: 1%; text-align: left">&nbsp;</td> <td style="width: 11%; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">1,243</div></td> <td style="white-space: nowrap; width: 1%; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="text-align: left; padding-left: 12pt">United States</td> <td style="font-weight: bold">&nbsp;</td> <td style="font-weight: bold; text-align: left">&nbsp;</td> <td style="font-weight: bold; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">3,496</div></td> <td style="white-space: nowrap; font-weight: bold; text-align: left">&nbsp;</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">1,298</div></td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">494</div></td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: White"> <td style="text-align: left; padding-bottom: 1pt; padding-left: 12pt">Other countries</td> <td style="font-weight: bold">&nbsp;</td> <td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">779</div></td> <td style="white-space: nowrap; border-bottom: Black 1pt solid; font-weight: bold; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid">&nbsp;</td> <td style="border-bottom: Black 1pt solid; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">1,707</div></td> <td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid">&nbsp;</td> <td style="border-bottom: Black 1pt solid; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">4,835</div></td> <td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="padding-bottom: 1pt">&nbsp;</td> <td style="font-weight: bold">&nbsp;</td> <td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">5,295</div></td> <td style="white-space: nowrap; border-bottom: Black 1pt solid; font-weight: bold; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid">&nbsp;</td> <td style="border-bottom: Black 1pt solid; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">6,042</div></td> <td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid">&nbsp;</td> <td style="border-bottom: Black 1pt solid; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">6,572</div></td> <td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: White"> <td style="text-align: left">Deferred income tax expense (recovery)</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right">&nbsp;</td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right">&nbsp;</td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right">&nbsp;</td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="padding-left: 12pt">Canada</td> <td style="font-weight: bold">&nbsp;</td> <td style="font-weight: bold; text-align: left">&nbsp;</td> <td style="font-weight: bold; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">5,008</div></td> <td style="white-space: nowrap; font-weight: bold; text-align: left">&nbsp;</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">2,531</div></td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">2,051</div></td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: White"> <td style="text-align: left; padding-left: 12pt">United States</td> <td style="font-weight: bold">&nbsp;</td> <td style="font-weight: bold; text-align: left">&nbsp;</td> <td style="font-weight: bold; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">1,390</div></td> <td style="white-space: nowrap; font-weight: bold; text-align: left">&nbsp;</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">67</div></td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">1,876</div></td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="text-align: left; padding-bottom: 1pt; padding-left: 12pt">Other countries</td> <td style="font-weight: bold">&nbsp;</td> <td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">(655</div></td> <td style="white-space: nowrap; border-bottom: Black 1pt solid; font-weight: bold; text-align: left">)</td> <td style="border-bottom: Black 1pt solid">&nbsp;</td> <td style="border-bottom: Black 1pt solid; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">(407</div></td> <td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">)</td> <td style="border-bottom: Black 1pt solid">&nbsp;</td> <td style="border-bottom: Black 1pt solid; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">(2,630</div></td> <td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">)</td> </tr> <tr style="vertical-align: bottom; background-color: White"> <td style="padding-bottom: 1pt">&nbsp;</td> <td style="font-weight: bold">&nbsp;</td> <td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">5,743</div></td> <td style="white-space: nowrap; border-bottom: Black 1pt solid; font-weight: bold; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid">&nbsp;</td> <td style="border-bottom: Black 1pt solid; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">2,191</div></td> <td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid">&nbsp;</td> <td style="border-bottom: Black 1pt solid; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">1,297</div></td> <td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="padding-bottom: 1pt">&nbsp;</td> <td style="font-weight: bold">&nbsp;</td> <td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">11,038</div></td> <td style="white-space: nowrap; border-bottom: Black 1pt solid; font-weight: bold; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid">&nbsp;</td> <td style="border-bottom: Black 1pt solid; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">8,233</div></td> <td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid">&nbsp;</td> <td style="border-bottom: Black 1pt solid; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">7,869</div></td> <td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&nbsp;</td> </tr>  </table> </div> <div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&nbsp;</div> <div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">Income tax expense for <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">2020,</div> <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">2019</div> and <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">2018</div> was <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">23%,</div> <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">21%</div> and <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">23%</div> of income before income taxes, respectively, with current income tax expense being <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">11%,</div> <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">15%</div> and <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">19%</div> of income before income taxes, respectively.</div> <div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&nbsp;</div> <div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">On <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"> December 22, 2017, </div>the U.S. government enacted comprehensive tax legislation commonly referred to as the Tax Cuts and Jobs Act (the &#x201c;Tax Act&#x201d;). Although the legislative changes contained in the Tax Act are extensive and the interpretation of several aspects of the Tax Act are still unclear, we recorded an income tax benefit of <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">$0.7</div> million in <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">2018</div> to reflect the reduced U.S. tax rate from <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">35%</div> to <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">21%</div> and other effects of the Tax Act. There was <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">no</div> material adjustment to income tax expense in <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">2019</div> or <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">2020</div> related to the Tax Act.</div> <div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&nbsp;</div> <div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">Current income tax expense decreased in <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">2020</div> compared to <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">2019</div> primarily due to utilization of tax attributes acquired in <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">2020.</div></div> <div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&nbsp;</div> <div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">Current income tax expense decreased in <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">2019</div> compared to <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">2018</div> primarily due to benefits recorded in <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">2019</div> from the completion of certain prior year tax audits partially offset by higher current income tax expense as a result of the higher pre-tax income generated in <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">2019.</div></div> <div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&nbsp;</div> <div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">Deferred income tax expense increased in <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">2020</div> compared to <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">2019</div> primarily due to utilization of tax attributes acquired in <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">2020.</div></div> <div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&nbsp;</div> <div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">Deferred income tax expense increased in <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">2019</div> compared to <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">2018</div> primarily due to the adoption of Accounting Standards Update <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">2016</div>-<div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">16</div> during <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">2019.</div></div> <div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"></div>   <!-- Field: /Page --> <div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&nbsp;</div> <div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">The components of the deferred income tax assets and liabilities are as follows:</div> <div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&nbsp;</div> <div> <table cellpadding="0" cellspacing="0" style="border-collapse: collapse; font: 10pt Times New Roman, Times, Serif; min-width: 700px;">  <tr style="vertical-align: bottom; background-color: White"> <td>&nbsp;</td> <td style="font-weight: bold">&nbsp;</td> <td style="border-top: Black 1pt solid; font-weight: bold; text-align: left">&nbsp;</td> <td style="border-top: Black 1pt solid; font-weight: bold; text-align: right"><div style="display: inline; font-family: Times New Roman, Times, Serif; font-size: 10pt"><div style="display: inline; font-weight: bold;">January 31,</div></div></td> <td style="border-top: Black 1pt solid; white-space: nowrap; font-weight: bold; text-align: left">&nbsp;</td> <td style="border-top: Black 1pt solid">&nbsp;</td> <td style="border-top: Black 1pt solid; text-align: left">&nbsp;</td> <td style="border-top: Black 1pt solid; text-align: right"><div style="display: inline; font-family: Times New Roman, Times, Serif; font-size: 10pt">January 31,</div></td> <td style="border-top: Black 1pt solid; white-space: nowrap; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: White"> <td style="padding-bottom: 1pt">&nbsp;</td> <td style="font-weight: bold">&nbsp;</td> <td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: right">2020</td> <td style="white-space: nowrap; border-bottom: Black 1pt solid; font-weight: bold; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid">&nbsp;</td> <td style="border-bottom: Black 1pt solid; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid; text-align: right">2019</td> <td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td>Assets</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right">&nbsp;</td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right">&nbsp;</td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: White"> <td style="width: 68%; text-align: left; padding-left: 12pt">Accrued liabilities not currently deductible</td> <td style="width: 2%; font-weight: bold">&nbsp;</td> <td style="width: 1%; font-weight: bold; text-align: left">&nbsp;</td> <td style="width: 12%; font-weight: bold; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">14,838</div></td> <td style="white-space: nowrap; width: 1%; font-weight: bold; text-align: left">&nbsp;</td> <td style="width: 2%">&nbsp;</td> <td style="width: 1%; text-align: left">&nbsp;</td> <td style="width: 12%; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">11,483</div></td> <td style="white-space: nowrap; width: 1%; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="text-align: left; padding-left: 12pt">Accumulated net operating losses</td> <td style="font-weight: bold">&nbsp;</td> <td style="font-weight: bold; text-align: left">&nbsp;</td> <td style="font-weight: bold; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">10,579</div></td> <td style="white-space: nowrap; font-weight: bold; text-align: left">&nbsp;</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">11,081</div></td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: White"> <td style="text-align: left; padding-left: 12pt">Difference between tax and accounting basis of property and equipment</td> <td style="font-weight: bold">&nbsp;</td> <td style="font-weight: bold; text-align: left">&nbsp;</td> <td style="font-weight: bold; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">33,929</div></td> <td style="white-space: nowrap; font-weight: bold; text-align: left">&nbsp;</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">&#x2013;</div></td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="text-align: left; padding-bottom: 1pt; padding-left: 12pt">Research and development and other tax credits and expenses</td> <td style="font-weight: bold">&nbsp;</td> <td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">756</div></td> <td style="white-space: nowrap; border-bottom: Black 1pt solid; font-weight: bold; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid">&nbsp;</td> <td style="border-bottom: Black 1pt solid; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">911</div></td> <td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: White"> <td style="text-align: left">Total deferred income tax assets</td> <td style="font-weight: bold">&nbsp;</td> <td style="font-weight: bold; text-align: left">&nbsp;</td> <td style="font-weight: bold; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">60,102</div></td> <td style="white-space: nowrap; font-weight: bold; text-align: left">&nbsp;</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">23,475</div></td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td>Liabilities</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right">&nbsp;</td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right">&nbsp;</td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: White"> <td style="text-align: left; padding-left: 12pt">Difference between tax and accounting basis of intangible assets</td> <td style="font-weight: bold">&nbsp;</td> <td style="font-weight: bold; text-align: left">&nbsp;</td> <td style="font-weight: bold; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">(41,381</div></td> <td style="white-space: nowrap; font-weight: bold; text-align: left">)</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">(23,974</div></td> <td style="white-space: nowrap; text-align: left">)</td> </tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="text-align: left; padding-left: 12.7pt">Difference between tax and accounting basis of property and equipment</td> <td style="font-weight: bold">&nbsp;</td> <td style="font-weight: bold; text-align: left">&nbsp;</td> <td style="font-weight: bold; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">&#x2013;</div></td> <td style="white-space: nowrap; font-weight: bold; text-align: left">&nbsp;</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">(909</div></td> <td style="white-space: nowrap; text-align: left">)</td> </tr> <tr style="vertical-align: bottom; background-color: White"> <td style="text-align: left; padding-bottom: 1pt; padding-left: 12.7pt">Other temporary differences</td> <td style="font-weight: bold">&nbsp;</td> <td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">(1,716</div></td> <td style="white-space: nowrap; border-bottom: Black 1pt solid; font-weight: bold; text-align: left">)</td> <td style="border-bottom: Black 1pt solid">&nbsp;</td> <td style="border-bottom: Black 1pt solid; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">(574</div></td> <td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">)</td> </tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="text-align: left; padding-bottom: 1pt">Total deferred income tax liabilities</td> <td style="font-weight: bold">&nbsp;</td> <td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">(43,097</div></td> <td style="white-space: nowrap; border-bottom: Black 1pt solid; font-weight: bold; text-align: left">)</td> <td style="border-bottom: Black 1pt solid">&nbsp;</td> <td style="border-bottom: Black 1pt solid; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">(25,457</div></td> <td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">)</td> </tr> <tr style="vertical-align: bottom; background-color: White"> <td style="text-align: left">Net deferred income taxes</td> <td style="font-weight: bold">&nbsp;</td> <td style="font-weight: bold; text-align: left">&nbsp;</td> <td style="font-weight: bold; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">17,005</div></td> <td style="white-space: nowrap; font-weight: bold; text-align: left">&nbsp;</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">(1,982</div></td> <td style="white-space: nowrap; text-align: left">)</td> </tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="text-align: left; padding-bottom: 1pt; padding-left: 12pt">Valuation allowance</td> <td style="font-weight: bold">&nbsp;</td> <td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">(10,470</div></td> <td style="white-space: nowrap; border-bottom: Black 1pt solid; font-weight: bold; text-align: left">)</td> <td style="border-bottom: Black 1pt solid">&nbsp;</td> <td style="border-bottom: Black 1pt solid; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">(9,927</div></td> <td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">)</td> </tr> <tr style="vertical-align: bottom; background-color: White"> <td style="text-align: left; padding-bottom: 1pt">Net deferred income taxes, net of valuation allowance</td> <td style="font-weight: bold">&nbsp;</td> <td style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">6,535</div></td> <td style="border-bottom: Black 1.5pt solid; white-space: nowrap; font-weight: bold; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1.5pt solid">&nbsp;</td> <td style="border-bottom: Black 1.5pt solid; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1.5pt solid; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">(11,909</div></td> <td style="border-bottom: Black 1.5pt solid; white-space: nowrap; text-align: left">)</td> </tr>  </table> </div> <div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&nbsp;</div> <div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">As at <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"> January 31, 2020, </div>we have <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">not</div> accrued for foreign withholding taxes and Canadian income taxes applicable to approximately <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">$381.3</div> million of unremitted earnings of subsidiaries operating outside of Canada. These earnings, which we consider to be invested indefinitely, will become subject to these taxes if and when they are remitted as dividends or if we sell our stock in the subsidiaries. If we decide to repatriate the foreign earnings, we would need to adjust our income tax provision in the period we determined that the earnings will <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">no</div> longer be indefinitely invested outside Canada.</div> <div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0">&nbsp;</div> <div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0">The provision (recovery) for income taxes varies from the expected provision at the statutory rates for the reasons detailed in the table below:</div> <div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0">&nbsp;</div> <div> <table cellpadding="0" cellspacing="0" style="border-collapse: collapse; font: 10pt Times New Roman, Times, Serif; min-width: 700px;">  <tr style="vertical-align: bottom; background-color: White"> <td style="font-style: italic">Year Ended</td> <td style="font-weight: bold">&nbsp;</td> <td style="border-top: Black 1pt solid; font-weight: bold; text-align: left">&nbsp;</td> <td style="border-top: Black 1pt solid; font-weight: bold; text-align: right"><div style="display: inline; font-family: Times New Roman, Times, Serif; font-size: 10pt"><div style="display: inline; font-weight: bold;">January 31,</div></div></td> <td style="border-top: Black 1pt solid; white-space: nowrap; font-weight: bold; text-align: left">&nbsp;</td> <td style="border-top: Black 1pt solid">&nbsp;</td> <td style="border-top: Black 1pt solid; text-align: left">&nbsp;</td> <td style="border-top: Black 1pt solid; text-align: right"><div style="display: inline; font-family: Times New Roman, Times, Serif; font-size: 10pt">January 31,</div></td> <td style="border-top: Black 1pt solid; white-space: nowrap; text-align: left">&nbsp;</td> <td style="border-top: Black 1pt solid">&nbsp;</td> <td style="border-top: Black 1pt solid; text-align: left">&nbsp;</td> <td style="border-top: Black 1pt solid; text-align: right"><div style="display: inline; font-family: Times New Roman, Times, Serif; font-size: 10pt">January 31,</div></td> <td style="border-top: Black 1pt solid; white-space: nowrap; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: White"> <td style="padding-bottom: 1pt">&nbsp;</td> <td style="font-weight: bold">&nbsp;</td> <td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: right">2020</td> <td style="white-space: nowrap; border-bottom: Black 1pt solid; font-weight: bold; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid">&nbsp;</td> <td style="border-bottom: Black 1pt solid; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid; text-align: right">2019</td> <td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid">&nbsp;</td> <td style="border-bottom: Black 1pt solid; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid; text-align: right">2018</td> <td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="width: 55%; text-align: left">Income before income taxes</td> <td style="width: 2%; font-weight: bold">&nbsp;</td> <td style="width: 1%; font-weight: bold; text-align: left">&nbsp;</td> <td style="width: 11%; font-weight: bold; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">48,033</div></td> <td style="white-space: nowrap; width: 1%; font-weight: bold; text-align: left">&nbsp;</td> <td style="width: 2%">&nbsp;</td> <td style="width: 1%; text-align: left">&nbsp;</td> <td style="width: 11%; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">39,510</div></td> <td style="white-space: nowrap; width: 1%; text-align: left">&nbsp;</td> <td style="width: 2%">&nbsp;</td> <td style="width: 1%; text-align: left">&nbsp;</td> <td style="width: 11%; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">34,748</div></td> <td style="white-space: nowrap; width: 1%; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: White"> <td>&nbsp;</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right">&nbsp;</td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right">&nbsp;</td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right">&nbsp;</td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="text-align: left">Combined basic Canadian statutory rates</td> <td style="font-weight: bold">&nbsp;</td> <td style="font-weight: bold; text-align: left">&nbsp;</td> <td style="font-weight: bold; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">26.5</div></td> <td style="white-space: nowrap; font-weight: bold; text-align: left">%</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">26.5</div></td> <td style="white-space: nowrap; text-align: left">%</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">26.5</div></td> <td style="white-space: nowrap; text-align: left">%</td> </tr> <tr style="vertical-align: bottom; background-color: White"> <td>&nbsp;</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right">&nbsp;</td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right">&nbsp;</td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right">&nbsp;</td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="text-align: left">Income tax expense based on the above rates</td> <td style="font-weight: bold">&nbsp;</td> <td style="font-weight: bold; text-align: left">&nbsp;</td> <td style="font-weight: bold; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">12,729</div></td> <td style="white-space: nowrap; font-weight: bold; text-align: left">&nbsp;</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">10,470</div></td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">9,207</div></td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: White"> <td style="text-align: left">Increase (decrease) in income taxes resulting from:</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right">&nbsp;</td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right">&nbsp;</td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right">&nbsp;</td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="text-align: left; padding-left: 12pt">Permanent differences including amortization of intangible assets</td> <td style="font-weight: bold">&nbsp;</td> <td style="font-weight: bold; text-align: left">&nbsp;</td> <td style="font-weight: bold; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">(673</div></td> <td style="white-space: nowrap; font-weight: bold; text-align: left">)</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">(133</div></td> <td style="white-space: nowrap; text-align: left">)</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">(1,870</div></td> <td style="white-space: nowrap; text-align: left">)</td> </tr> <tr style="vertical-align: bottom; background-color: White"> <td style="text-align: left; padding-left: 12pt">Effect of differences between Canadian and foreign tax rates</td> <td style="font-weight: bold">&nbsp;</td> <td style="font-weight: bold; text-align: left">&nbsp;</td> <td style="font-weight: bold; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">(274</div></td> <td style="white-space: nowrap; font-weight: bold; text-align: left">)</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">(172</div></td> <td style="white-space: nowrap; text-align: left">)</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">595</div></td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="text-align: left; padding-left: 12pt">Effect of rate changes on current year timing differences</td> <td style="font-weight: bold">&nbsp;</td> <td style="font-weight: bold; text-align: left">&nbsp;</td> <td style="font-weight: bold; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">(609</div></td> <td style="white-space: nowrap; font-weight: bold; text-align: left">)</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">(245</div></td> <td style="white-space: nowrap; text-align: left">)</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">(571</div></td> <td style="white-space: nowrap; text-align: left">)</td> </tr> <tr style="vertical-align: bottom; background-color: White"> <td style="text-align: left; padding-left: 12pt">Adjustments relating to previous periods</td> <td style="font-weight: bold">&nbsp;</td> <td style="font-weight: bold; text-align: left">&nbsp;</td> <td style="font-weight: bold; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">94</div></td> <td style="white-space: nowrap; font-weight: bold; text-align: left">&nbsp;</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">(973</div></td> <td style="white-space: nowrap; text-align: left">)</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">(152</div></td> <td style="white-space: nowrap; text-align: left">)</td> </tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="text-align: left; padding-left: 12pt">Increase (decrease) in accruals for uncertain tax positions</td> <td style="font-weight: bold">&nbsp;</td> <td style="font-weight: bold; text-align: left">&nbsp;</td> <td style="font-weight: bold; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">(1,042</div></td> <td style="white-space: nowrap; font-weight: bold; text-align: left">)</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">(515</div></td> <td style="white-space: nowrap; text-align: left">)</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">1,954</div></td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: White"> <td style="text-align: left; padding-left: 12pt">Valuation allowance</td> <td style="font-weight: bold">&nbsp;</td> <td style="font-weight: bold; text-align: left">&nbsp;</td> <td style="font-weight: bold; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">692</div></td> <td style="white-space: nowrap; font-weight: bold; text-align: left">&nbsp;</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">(344</div></td> <td style="white-space: nowrap; text-align: left">)</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">(1,564</div></td> <td style="white-space: nowrap; text-align: left">)</td> </tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="text-align: left; padding-left: 12pt">Stock based compensation</td> <td style="font-weight: bold">&nbsp;</td> <td style="font-weight: bold; text-align: left">&nbsp;</td> <td style="font-weight: bold; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">352</div></td> <td style="white-space: nowrap; font-weight: bold; text-align: left">&nbsp;</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">231</div></td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">(135</div></td> <td style="white-space: nowrap; text-align: left">)</td> </tr> <tr style="vertical-align: bottom; background-color: White"> <td style="text-align: left; padding-left: 12pt">Deferred tax charges</td> <td style="font-weight: bold">&nbsp;</td> <td style="font-weight: bold; text-align: left">&nbsp;</td> <td style="font-weight: bold; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">&#x2013;</div></td> <td style="white-space: nowrap; font-weight: bold; text-align: left">&nbsp;</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">&#x2013;</div></td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">179</div></td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="text-align: left; padding-bottom: 1pt; padding-left: 12pt">Other, including foreign exchange</td> <td style="font-weight: bold">&nbsp;</td> <td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">(231</div></td> <td style="white-space: nowrap; border-bottom: Black 1pt solid; font-weight: bold; text-align: left">)</td> <td style="border-bottom: Black 1pt solid">&nbsp;</td> <td style="border-bottom: Black 1pt solid; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">(86</div></td> <td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">)</td> <td style="border-bottom: Black 1pt solid">&nbsp;</td> <td style="border-bottom: Black 1pt solid; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">226</div></td> <td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: White"> <td style="text-align: left; padding-bottom: 1pt">Income tax expense</td> <td style="font-weight: bold">&nbsp;</td> <td style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">11,038</div></td> <td style="border-bottom: Black 1.5pt solid; white-space: nowrap; font-weight: bold; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1.5pt solid">&nbsp;</td> <td style="border-bottom: Black 1.5pt solid; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1.5pt solid; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">8,233</div></td> <td style="border-bottom: Black 1.5pt solid; white-space: nowrap; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1.5pt solid">&nbsp;</td> <td style="border-bottom: Black 1.5pt solid; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1.5pt solid; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">7,869</div></td> <td style="border-bottom: Black 1.5pt solid; white-space: nowrap; text-align: left">&nbsp;</td> </tr>  </table> </div> <div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"></div>   <!-- Field: /Page --> <div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0">&nbsp;</div> <div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0">We have income tax loss carry forwards which expire as follows:</div> <div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0">&nbsp;</div> <div> <table cellpadding="0" cellspacing="0" style="border-collapse: collapse; font: 10pt Times New Roman, Times, Serif; min-width: 700px;">  <tr style="vertical-align: bottom; background-color: White"> <td style="font-style: italic; text-align: left; padding-bottom: 1pt; padding-left: 9pt">Expiry year</td> <td style="font-weight: bold">&nbsp;</td> <td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; font-weight: bold; text-align: left">&nbsp;</td> <td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; font-weight: bold; text-align: right"><div style="display: inline; font-family: Times New Roman, Times, Serif; font-size: 10pt"><div style="display: inline; font-weight: bold;">Canada</div></div></td> <td style="border-top: Black 1pt solid; white-space: nowrap; border-bottom: Black 1pt solid; font-weight: bold; text-align: left">&nbsp;</td> <td style="border-top: Black 1pt solid; font-weight: bold; border-bottom: Black 1pt solid">&nbsp;</td> <td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; font-weight: bold; text-align: left">&nbsp;</td> <td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; font-weight: bold; text-align: right"><div style="display: inline; font-family: Times New Roman, Times, Serif; font-size: 10pt"><div style="display: inline; font-weight: bold;">United States</div></div></td> <td style="border-top: Black 1pt solid; white-space: nowrap; border-bottom: Black 1pt solid; font-weight: bold; text-align: left">&nbsp;</td> <td style="border-top: Black 1pt solid; font-weight: bold; border-bottom: Black 1pt solid">&nbsp;</td> <td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; font-weight: bold; text-align: left">&nbsp;</td> <td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; font-weight: bold; text-align: right"><div style="display: inline; font-family: Times New Roman, Times, Serif; font-size: 10pt"><div style="display: inline; font-weight: bold;">EMEA</div></div></td> <td style="border-top: Black 1pt solid; white-space: nowrap; border-bottom: Black 1pt solid; font-weight: bold; text-align: left">&nbsp;</td> <td style="border-top: Black 1pt solid; font-weight: bold; border-bottom: Black 1pt solid">&nbsp;</td> <td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; font-weight: bold; text-align: left">&nbsp;</td> <td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; font-weight: bold; text-align: right"><div style="display: inline; font-family: Times New Roman, Times, Serif; font-size: 10pt"><div style="display: inline; font-weight: bold;">Asia Pacific</div></div></td> <td style="border-top: Black 1pt solid; white-space: nowrap; border-bottom: Black 1pt solid; font-weight: bold; text-align: left">&nbsp;</td> <td style="border-top: Black 1pt solid; font-weight: bold; border-bottom: Black 1pt solid">&nbsp;</td> <td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; font-weight: bold; text-align: left">&nbsp;</td> <td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; font-weight: bold; text-align: right"><div style="display: inline; font-family: Times New Roman, Times, Serif; font-size: 10pt"><div style="display: inline; font-weight: bold;">Total</div></div></td> <td style="border-top: Black 1pt solid; white-space: nowrap; border-bottom: Black 1pt solid; font-weight: bold; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="width: 45%; text-align: left; padding-left: 9pt">2021</td> <td style="width: 1%">&nbsp;</td> <td style="width: 1%; text-align: left">&nbsp;</td> <td style="width: 8%; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">&#x2013;</div></td> <td style="white-space: nowrap; width: 1%; text-align: left">&nbsp;</td> <td style="width: 1%">&nbsp;</td> <td style="width: 1%; text-align: left">&nbsp;</td> <td style="width: 8%; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">&#x2013;</div></td> <td style="white-space: nowrap; width: 1%; text-align: left">&nbsp;</td> <td style="width: 1%">&nbsp;</td> <td style="width: 1%; text-align: left">&nbsp;</td> <td style="width: 8%; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">&#x2013;</div></td> <td style="white-space: nowrap; width: 1%; text-align: left">&nbsp;</td> <td style="width: 1%">&nbsp;</td> <td style="width: 1%; text-align: left">&nbsp;</td> <td style="width: 8%; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">585</div></td> <td style="white-space: nowrap; width: 1%; text-align: left">&nbsp;</td> <td style="width: 1%; font-weight: bold">&nbsp;</td> <td style="width: 1%; font-weight: bold; text-align: left">&nbsp;</td> <td style="width: 8%; font-weight: bold; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">585</div></td> <td style="white-space: nowrap; width: 1%; font-weight: bold; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: White"> <td style="text-align: left; padding-left: 9pt">2022</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">&#x2013;</div></td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">245</div></td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">&#x2013;</div></td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">264</div></td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> <td style="font-weight: bold">&nbsp;</td> <td style="font-weight: bold; text-align: left">&nbsp;</td> <td style="font-weight: bold; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">509</div></td> <td style="white-space: nowrap; font-weight: bold; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="text-align: left; padding-left: 9pt">2023</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">&#x2013;</div></td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">253</div></td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">651</div></td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">46</div></td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> <td style="font-weight: bold">&nbsp;</td> <td style="font-weight: bold; text-align: left">&nbsp;</td> <td style="font-weight: bold; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">950</div></td> <td style="white-space: nowrap; font-weight: bold; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: White"> <td style="text-align: left; padding-left: 9pt">2024</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">&#x2013;</div></td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">245</div></td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">126</div></td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">171</div></td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> <td style="font-weight: bold">&nbsp;</td> <td style="font-weight: bold; text-align: left">&nbsp;</td> <td style="font-weight: bold; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">542</div></td> <td style="white-space: nowrap; font-weight: bold; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="text-align: left; padding-left: 9pt">2025</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">&#x2013;</div></td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">245</div></td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">&#x2013;</div></td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">&#x2013;</div></td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> <td style="font-weight: bold">&nbsp;</td> <td style="font-weight: bold; text-align: left">&nbsp;</td> <td style="font-weight: bold; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">245</div></td> <td style="white-space: nowrap; font-weight: bold; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: White"> <td style="text-align: left; padding-bottom: 1pt; padding-left: 9pt">Thereafter</td> <td>&nbsp;</td> <td style="border-bottom: Black 1pt solid; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">1,609</div></td> <td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid">&nbsp;</td> <td style="border-bottom: Black 1pt solid; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">5,026</div></td> <td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid">&nbsp;</td> <td style="border-bottom: Black 1pt solid; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">42,865</div></td> <td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid">&nbsp;</td> <td style="border-bottom: Black 1pt solid; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">3,070</div></td> <td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&nbsp;</td> <td style="font-weight: bold; border-bottom: Black 1pt solid">&nbsp;</td> <td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">52,570</div></td> <td style="white-space: nowrap; border-bottom: Black 1pt solid; font-weight: bold; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="text-align: left; padding-bottom: 1pt; padding-left: 9pt">&nbsp;</td> <td style="font-weight: bold">&nbsp;</td> <td style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">1,609</div></td> <td style="border-bottom: Black 1.5pt solid; white-space: nowrap; font-weight: bold; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1.5pt solid; font-weight: bold">&nbsp;</td> <td style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">6,014</div></td> <td style="border-bottom: Black 1.5pt solid; white-space: nowrap; font-weight: bold; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1.5pt solid; font-weight: bold">&nbsp;</td> <td style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">43,642</div></td> <td style="border-bottom: Black 1.5pt solid; white-space: nowrap; font-weight: bold; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1.5pt solid; font-weight: bold">&nbsp;</td> <td style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">4,136</div></td> <td style="border-bottom: Black 1.5pt solid; white-space: nowrap; font-weight: bold; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1.5pt solid; font-weight: bold">&nbsp;</td> <td style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">55,401</div></td> <td style="border-bottom: Black 1.5pt solid; white-space: nowrap; font-weight: bold; text-align: left">&nbsp;</td> </tr>  </table> </div> <div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0">&nbsp;</div> <div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0">The following is a tabular reconciliation of the total estimated liability associated with uncertain tax positions taken:</div> <div> <table style="border-collapse: collapse; font: 10pt Times New Roman, Times, Serif; min-width: 700px;" cellspacing="0" cellpadding="0">  <tr style="vertical-align: bottom; background-color: White"> <td>&nbsp;</td> <td style="font-weight: bold">&nbsp;</td> <td style="border-top: Black 1pt solid; font-weight: bold; text-align: left">&nbsp;</td> <td style="border-top: Black 1pt solid; font-weight: bold; text-align: right"><div style="display: inline; font-family: Times New Roman, Times, Serif; font-size: 10pt"><div style="display: inline; font-weight: bold;">January 31,</div></div></td> <td style="border-top: Black 1pt solid; white-space: nowrap; font-weight: bold; text-align: left">&nbsp;</td> <td style="border-top: Black 1pt solid">&nbsp;</td> <td style="border-top: Black 1pt solid; text-align: left">&nbsp;</td> <td style="border-top: Black 1pt solid; text-align: right"><div style="display: inline; font-family: Times New Roman, Times, Serif; font-size: 10pt">January 31,</div></td> <td style="border-top: Black 1pt solid; white-space: nowrap; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: White"> <td style="padding-bottom: 1pt">&nbsp;</td> <td style="font-weight: bold">&nbsp;</td> <td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: right">2020</td> <td style="white-space: nowrap; border-bottom: Black 1pt solid; font-weight: bold; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid">&nbsp;</td> <td style="border-bottom: Black 1pt solid; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid; text-align: right">2019</td> <td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="width: 68%; text-align: left">Liability, beginning of year</td> <td style="width: 2%; font-weight: bold">&nbsp;</td> <td style="width: 1%; font-weight: bold; text-align: left">&nbsp;</td> <td style="width: 12%; font-weight: bold; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">7,824</div></td> <td style="white-space: nowrap; width: 1%; font-weight: bold; text-align: left">&nbsp;</td> <td style="width: 2%">&nbsp;</td> <td style="width: 1%; text-align: left">&nbsp;</td> <td style="width: 12%; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">8,977</div></td> <td style="white-space: nowrap; width: 1%; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: White"> <td style="text-align: left; padding-left: 12pt">Gross increases &#x2013; current period</td> <td style="font-weight: bold">&nbsp;</td> <td style="font-weight: bold; text-align: left">&nbsp;</td> <td style="font-weight: bold; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">139</div></td> <td style="white-space: nowrap; font-weight: bold; text-align: left">&nbsp;</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">493</div></td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="text-align: left; padding-bottom: 1pt; padding-left: 12pt">Lapsing due to statutes of limitations</td> <td style="font-weight: bold">&nbsp;</td> <td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">(1,313</div></td> <td style="white-space: nowrap; border-bottom: Black 1pt solid; font-weight: bold; text-align: left">)</td> <td style="border-bottom: Black 1pt solid">&nbsp;</td> <td style="border-bottom: Black 1pt solid; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">(1,646</div></td> <td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">)</td> </tr> <tr style="vertical-align: bottom; background-color: White"> <td style="text-align: left; padding-bottom: 1pt">Liability, end of year</td> <td style="font-weight: bold">&nbsp;</td> <td style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">6,650</div></td> <td style="border-bottom: Black 1.5pt solid; white-space: nowrap; font-weight: bold; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1.5pt solid">&nbsp;</td> <td style="border-bottom: Black 1.5pt solid; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1.5pt solid; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">7,824</div></td> <td style="border-bottom: Black 1.5pt solid; white-space: nowrap; text-align: left">&nbsp;</td> </tr>  </table> </div> <div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0">&nbsp;</div> <div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">We have identified accruals of <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">$6.7</div> million with respect to uncertain tax positions as at <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"> January 31, 2020. </div>It is possible that these accruals for uncertain tax positions will <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">not</div> be required in which case up to <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">$6.5</div> million of the recorded liability will decrease the effective tax rate in future years if this liability is reversed. We believe that it is reasonably possible that <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">$0.3</div> million of the uncertain tax positions could decrease tax expense in the next <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">12</div> months relating primarily to tax years becoming statute barred for purposes of future tax examinations by local taxing jurisdictions.</div> <div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&nbsp;</div> <div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">We recognize accrued interest and penalties related to uncertain tax positions as a current tax expense. As at <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"> January 31, 2020 </div>and <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"> January 31, 2019, </div>the unrecognized tax positions have resulted in <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">no</div> material liability for estimated interest and penalties.</div> <div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&nbsp;</div> <div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">Descartes and our subsidiaries file their tax returns as prescribed by the tax laws of the jurisdictions within which they operate. We are <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">no</div> longer subject to income tax examinations by tax authorities in our major tax jurisdictions as follows:</div> <div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&nbsp;</div> <div> <table cellpadding="0" cellspacing="0" style="border-collapse: collapse; font: 10pt Times New Roman, Times, Serif; min-width: 700px;">  <tr style="vertical-align: bottom; background-color: White"> <td style="padding-bottom: 1pt">&nbsp;</td> <td style="font-weight: bold">&nbsp;</td> <td style="border-top: Black 1pt solid; font-weight: bold; text-align: right; padding-bottom: 1pt; border-bottom: Black 1pt solid">Years No Longer Subject to Audit</td> </tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="text-align: left">Tax Jurisdiction</td> <td>&nbsp;</td> <td style="text-align: right">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: White"> <td style="width: 76%; text-align: left; padding-left: 7.5pt">United States Federal</td> <td style="width: 2%">&nbsp;</td> <td style="width: 22%; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">2016 and prior</div></td> </tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="padding-left: 7.5pt">Canada</td> <td>&nbsp;</td> <td style="text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">2018 and prior</div></td> </tr> <tr style="vertical-align: bottom; background-color: White"> <td style="text-align: left; padding-left: 7.5pt">United Kingdom</td> <td>&nbsp;</td> <td style="text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">2016 and prior</div></td> </tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="padding-left: 7.5pt">Sweden</td> <td>&nbsp;</td> <td style="text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">2013 and prior</div></td> </tr> <tr style="vertical-align: bottom; background-color: White"> <td style="padding-left: 7.5pt">Norway</td> <td>&nbsp;</td> <td style="text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">2018 and prior</div></td> </tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="padding-left: 7.5pt">Netherlands</td> <td>&nbsp;</td> <td style="text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">2014 and prior</div></td> </tr> <tr style="vertical-align: bottom; background-color: White"> <td style="padding-left: 7.5pt">Belgium</td> <td>&nbsp;</td> <td style="text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">2015 and prior</div></td> </tr>  </table> </div></div><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DisclosureTextBlockAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DisclosureTextBlockAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncomeTaxDisclosureTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The entire disclosure for income taxes. Disclosures may include net deferred tax liability or asset recognized in an enterprise's statement of financial position, net change during the year in the total valuation allowance, approximate tax effect of each type of temporary difference and carryforward that gives rise to a significant portion of deferred tax liabilities and deferred tax assets, utilization of a tax carryback, and tax uncertainties information.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -URI http://asc.fasb.org/topic&amp;trid=2144680<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncomeTaxDisclosureTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>nonnum:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>81
<FILENAME>R10.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.20.1</span><table class="report" border="0" cellspacing="2" id="idp6611698800">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Note 2 - Basis of Presentation<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Jan. 31, 2020</div></th></tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DisclosureTextBlockAbstract', window );"><strong>Notes to Financial Statements</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_SignificantAccountingPoliciesTextBlock', window );">Significant Accounting Policies [Text Block]</a></td>
<td class="text"><div style="display: inline; font-family: times new roman; font-size: 10pt"><div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"><div style="display: inline; font-weight: bold;">Note <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">2</div> &#x2013; Basis of Presentation</div></div> <div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0">&nbsp;</div> <div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"></div> <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"><div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">The accompanying consolidated financial statements are presented in United States (&#x201c;US&#x201d;) dollars and are prepared in accordance with generally accepted accounting principles in the US (&#x201c;GAAP&#x201d;) and the rules and regulations of the Canadian Securities Administrators and the US Securities and Exchange Commission (&#x201c;SEC&#x201d;) for the preparation of consolidated financial statements.</div> <div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&nbsp;</div> <div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">Our fiscal year commences on <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"> February 1</div><div style="display: inline; bottom:.33em; font-size: 82%; position: relative; vertical-align: baseline;">st</div> of each year and ends on <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"> January 31</div><div style="display: inline; bottom:.33em; font-size: 82%; position: relative; vertical-align: baseline;">st</div> of the following year. Our fiscal year, which ends on <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"> January 31, 2020, </div>is referred to as the &#x201c;current fiscal year&#x201d;, &#x201c;fiscal <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">2020&#x201d;,</div> <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">&#x201c;2020&#x201d;</div> or using similar words. Our previous fiscal year, which ended on <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"> January 31, 2019, </div>is referred to as the &#x201c;previous fiscal year&#x201d;, &#x201c;fiscal <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">2019&#x201d;,</div> <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">&#x201c;2019&#x201d;</div> or using similar words. Other fiscal years are referenced by the applicable year during which the fiscal year ends. For example, <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">&#x201c;2021&#x201d;</div> refers to the annual period ending <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"> January 31, 2021 </div>and the &#x201c;fourth quarter of <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">2021&#x201d;</div> refers to the quarter ending <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"> January 31, 2021.</div></div> <div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&nbsp;</div></div> <div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"></div> <div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"><div style="display: inline; font-weight: bold;"><div style="display: inline; font-style: italic;"></div></div></div> <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"><div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"><div style="display: inline; font-weight: bold;"><div style="display: inline; font-style: italic;">Basis of consolidation</div></div></div> <div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">The consolidated financial statements include the financial statements of Descartes and our wholly-owned subsidiaries. We do <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">not</div> have any variable interests in variable interest entities. All intercompany accounts and transactions have been eliminated during consolidation.</div> <div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&nbsp;</div></div> <div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"></div> <div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"><div style="display: inline; font-weight: bold;"><div style="display: inline; font-style: italic;"></div></div></div> <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"><div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"><div style="display: inline; font-weight: bold;"><div style="display: inline; font-style: italic;">Foreign currency translation</div></div></div> <div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">The US dollar is the presentation currency of the Company. Assets and liabilities of our subsidiaries are translated into US dollars at the exchange rate in effect at the balance sheet date. Revenues and expenses are translated into US dollars using daily exchange rates. Translation adjustments resulting from this process are accumulated in other comprehensive income (loss) as a separate component of shareholders&#x2019; equity. On substantial liquidation of a foreign operation, the component of accumulated other comprehensive income relating to that particular foreign operation is recognized in the consolidated statements of operations.</div> <div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&nbsp;</div> <div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">The functional currency of each of our entities is the local currency in which they operate. Transactions incurred in currencies other than the local currency of an entity are converted to the local currency at the transaction date. Monetary assets and liabilities denominated in foreign currencies are re-measured into the local currency at the exchange rate in effect at the balance sheet date. All foreign currency re-measurement gains and losses are included in net income. For the year ended <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"> January 31, 2020, </div>foreign currency re-measurement loss of <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">$0.6</div> million was included in net income (<div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"> January 31, 2019 &#x2013; </div>loss of <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">$0.4</div> million; <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"> January 31, 2018 &#x2013; </div>loss of <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">$0.4</div> million).</div> <div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&nbsp;</div></div> <div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"></div> <div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"></div> <!-- Field: Page; Sequence: 6 -->   <div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"></div> <div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"><div style="display: inline; font-weight: bold;"><div style="display: inline; font-style: italic;"></div></div></div> <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"><div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"><div style="display: inline; font-weight: bold;"><div style="display: inline; font-style: italic;">Use of estimates</div></div></div> <div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">Preparing financial statements in conformity with GAAP requires management to make estimates and assumptions that affect the amounts that are reported in the consolidated financial statements and accompanying note disclosures. Although these estimates and assumptions are based on management&#x2019;s best knowledge of current events, actual results <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"> may </div>be different from the estimates. These estimates, judgments and assumptions are evaluated on an ongoing basis. We base our estimates on historical experience and on various other assumptions that we believe are reasonable at that time, the results of which form the basis for making judgments about the carrying values of assets and liabilities that are <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">not</div> readily apparent from other sources.</div> <div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&nbsp;</div> <div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">Estimates and assumptions are used when accounting for items such as allocations of the purchase price and the fair value of net assets acquired in business combination transactions, useful lives of intangible assets and property and equipment, revenue related estimates including determining the nature and timing of satisfaction of performance obligations, and determining the standalone selling price (&#x201c;SSP&#x201d;) of performance obligations, variable consideration, and other obligations such as product returns and refunds, allowance for doubtful accounts, collectability of other receivables, provisions for excess or obsolete inventory, determining the Company&#x2019;s incremental borrowing rate, restructuring accruals, fair value of stock-based compensation, assumptions embodied in the valuation of assets for impairment assessment, accounting for income taxes, valuation allowances for deferred income tax assets, realization of investment tax credits, uncertain tax positions and recognition of contingencies.</div> <div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&nbsp;</div></div> <div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"></div> <div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"><div style="display: inline; font-weight: bold;"><div style="display: inline; font-style: italic;"></div></div></div> <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"><div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"><div style="display: inline; font-weight: bold;"><div style="display: inline; font-style: italic;">Cash</div></div></div> <div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">Cash included highly liquid short-term deposits with original maturities of <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">three</div> months or less.</div> <div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&nbsp;</div></div> <div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"></div> <div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"><div style="display: inline; font-weight: bold;"><div style="display: inline; font-style: italic;"></div></div></div> <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"><div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"><div style="display: inline; font-weight: bold;"><div style="display: inline; font-style: italic;">Financial instruments</div></div></div> <div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><div style="display: inline; text-decoration: underline;">Fair value of financial instruments</div></div> <div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">The carrying amounts of the Company&#x2019;s cash, accounts receivable (net), accounts payable, accrued liabilities and income taxes payable approximate their fair value due to their short maturities.</div> <div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&nbsp;</div> <div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><div style="display: inline; text-decoration: underline;">Derivative instruments</div></div> <div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">We use derivative instruments to manage equity risk relating to our share-based compensation. We account for these instruments in accordance with ASC Topic <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">815</div> &#x201c;Derivatives and Hedging&#x201d; (Topic <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">815</div>), which requires that every derivative instrument be recorded on the balance sheet as either an asset or a liability measured at its fair value as of the reporting date. We do <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">not</div> designate our derivative instruments as hedges and as such the changes in our derivative financial instruments' fair values are recognized in earnings. The fair value of equity contract derivatives is determined utilizing a valuation model based on the quoted market value of our common shares at the balance sheet date.</div> <div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&nbsp;</div> <div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><div style="display: inline; text-decoration: underline;">Foreign exchange risk</div></div> <div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">We are exposed to foreign exchange risk because the Company transacts business in currencies other than the US dollar. Accordingly, our results are affected, and <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"> may </div>be affected in the future, by exchange rate fluctuations of the US dollar relative to the Canadian dollar, euro, British pound sterling and various other foreign currencies.</div> <div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&nbsp;</div> <div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><div style="display: inline; text-decoration: underline;">Interest rate risk</div></div> <div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">Depending on the type of advance under the available facilities, interest on such borrowings will be charged based on either i) Canada or US prime rate; or ii) Banker&#x2019;s Acceptance (BA); or iii) LIBOR. We are exposed to interest rate fluctuations to the extent that we borrow on our credit facility.</div> <div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&nbsp;</div> <div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"></div> <!-- Field: Page; Sequence: 7 --> <div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"></div> <div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"><div style="display: inline; text-decoration: underline;">Credit risk</div></div> <div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">We are exposed to credit risk through our invested cash and accounts receivable. We hold our cash with reputable financial institutions. The lack of concentration of accounts receivable from a single customer and the dispersion of customers among industries and geographical locations mitigate our credit risk.</div> <div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&nbsp;</div> <div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">We do <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">not</div> use any type of speculative financial instruments, including but <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">not</div> limited to foreign exchange contracts, futures, swaps and option agreements, to manage our foreign exchange or interest rate risks. In addition, we do <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">not</div> hold or issue financial instruments for trading purposes.</div> <div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&nbsp;</div> <div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"><div style="display: inline; text-decoration: underline;">Equity risk</div></div> <div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">We are exposed to equity risk through certain share-based compensation expenses that are fair valued at the balance sheet date. The Company enters into equity derivative contracts including floating-rate equity forwards to partially offset the potential fluctuations of certain future share-based compensation expenses. The Company does <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">not</div> hold derivatives for speculative purposes.</div> <div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&nbsp;</div></div> <div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"></div> <div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"><div style="display: inline; font-weight: bold;"><div style="display: inline; font-style: italic;"></div></div></div> <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"><div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"><div style="display: inline; font-weight: bold;"><div style="display: inline; font-style: italic;">Allowance for doubtful accounts</div></div></div> <div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">We maintain an allowance for doubtful accounts for estimated losses resulting from the inability of customers to make their required payments. Specifically, we consider the age of the receivables, customers&#x2019; payment history, historical write-offs, the creditworthiness of the customer, and current economic trends among other factors. Accounts receivable are written off, and the associated allowance is eliminated, if it is determined that the specific balance is <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">no</div> longer collectible. The allowance is maintained for <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">100%</div> of all accounts deemed to be uncollectible and, for those receivables <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">not</div> specifically identified as uncollectible, an allowance is maintained for a specific percentage of those receivables based upon the aging of accounts, our historical collection experience and current economic expectations. To date, the actual losses have been within our expectations. <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"></div><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">No</div> </div>single customer accounted for more than <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">10%</div> of the accounts receivable balance as of <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"> January 31, 2020 </div>and <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">2019.</div></div> <div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><div style="display: inline; font-weight: bold;"><div style="display: inline; font-style: italic;">&nbsp;</div></div></div></div> <div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><div style="display: inline; font-weight: bold;"><div style="display: inline; font-style: italic;"></div></div></div> <div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><div style="display: inline; font-weight: bold;"><div style="display: inline; font-style: italic;"></div></div></div> <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"><div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><div style="display: inline; font-weight: bold;"><div style="display: inline; font-style: italic;">Inventory</div></div></div> <div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">Finished goods inventories are stated at the lower of cost and net realizable value. The cost of finished goods is determined on the basis of average cost of units.</div> <div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&nbsp;</div> <div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">The valuation of inventory, including the determination of obsolete or excess inventory, requires management to estimate the future demand for our products within specified time horizons. We perform an assessment of inventory which includes a review of, among other factors, demand requirements, product life cycle and development plans, product pricing and quality issues. If the demand for our products indicates we are <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">no</div> longer able to sell inventories above cost or at all, we write down inventory to market or excess inventory is written off.</div> <div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&nbsp;</div></div> <div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"></div> <div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"><div style="display: inline; font-weight: bold;"><div style="display: inline; font-style: italic;"></div></div></div> <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"><div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"><div style="display: inline; font-weight: bold;"><div style="display: inline; font-style: italic;">Impairment of long-lived assets</div></div></div> <div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">We test long-lived assets or asset groups, such as property and equipment and finite life intangible assets, for recoverability when events or changes in circumstances indicate that there <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"> may </div>be impairment. Circumstances which could trigger a review include, but are <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">not</div> limited to: significant adverse changes in the business climate or legal factors; current period cash flow or operating losses combined with a history of losses or a forecast of continuing losses associated with the use of the asset or asset group; and a current expectation that the asset or asset group will more likely than <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">not</div> be sold or disposed of before the end of its estimated useful life. An impairment loss is recognized when the estimate of undiscounted future cash flows generated by such asset or asset group is less than the carrying amount. Measurement of the impairment loss is based on the present value of the expected future cash flows. <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">No</div> impairment of long-lived assets has been identified or recorded in our consolidated statements of operations for any of the fiscal years presented.</div> <div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"><div style="display: inline; font-weight: bold;">&nbsp;</div></div></div> <div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"><div style="display: inline; font-weight: bold;"></div></div> <div style=" font: italic bold 10pt Times New Roman, Times, Serif; margin: 0pt 0"></div> <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"><div style=" font: italic bold 10pt Times New Roman, Times, Serif; margin: 0pt 0">Goodwill and intangible assets</div> <div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">Goodwill represents the excess of the purchase price in a business combination over the fair value of net tangible and intangible assets acquired. Goodwill is <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">not</div> subject to amortization.</div> <div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&nbsp;</div> <div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"></div> <!-- Field: Page; Sequence: 8 --> <div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"></div> <div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">We test for impairment of goodwill at least annually on <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"> October 31</div><div style="display: inline; bottom:.33em; font-size: 82%; position: relative; vertical-align: baseline;">st</div> of each year and at any other time if any event occurs or circumstances change that would more likely than <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">not</div> reduce our fair value below our reporting unit&#x2019;s carrying amount. Our operations are analyzed by management and our chief operating decision maker as being part of a single industry segment providing logistics technology solutions. Accordingly, our goodwill impairment assessment is based on the allocation of goodwill to a single reporting unit. We completed the qualitative assessment during our <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">third</div> quarter of <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">2020</div> and concluded that it was more likely than <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">not</div> that the fair value of the goodwill was greater than the carrying value. As a result, <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">no</div> impairment of goodwill was recorded in fiscal <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">2020</div> (<div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">no</div> impairments were recorded for fiscal <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">2019</div> or fiscal <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">2018</div>).</div> <div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&nbsp;</div> <div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">We perform further quarterly analysis of whether any event has occurred that would more likely than <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">not</div> reduce our fair value below our reporting unit&#x2019;s carrying amount and, if so, we perform a goodwill impairment test between the annual date. Any impairment adjustment is recognized as an expense in the period that the adjustment is identified.</div> <div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&nbsp;</div> <div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">Intangible assets related to our acquisitions are recorded at their fair value at the acquisition date. Intangible assets include customer agreements and relationships, non-compete covenants, existing technologies and trade names. Intangible assets are amortized on a straight-line basis over their estimated useful lives. We write down intangible asset or asset groups with a finite life to fair value when the related undiscounted cash flows are <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">not</div> expected to allow for recovery of the carrying value. Fair value of intangible asset or asset groups is determined by discounting the expected related future cash flows.</div> <div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&nbsp;</div> <div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">Amortization of our intangible assets is generally recorded at the following rates:</div> <div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&nbsp;</div> <div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"></div> <table style="; border-collapse: collapse; font-family: Times New Roman, Times, Serif; min-width: 700px;" cellspacing="0" cellpadding="0" border="0">  <tr style="vertical-align: middle"> <td style="padding-left: 20pt; font-size: 10pt; text-align: left; width: 50%">Customer agreements and relationships</td> <td style="font-size: 10pt; text-align: left; width: 50%">Straight-line over <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">three</div> to <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">twenty</div> years</td> </tr> <tr style="vertical-align: middle"> <td style="padding-left: 20pt; font-size: 10pt; text-align: left">Existing technologies</td> <td style="font-size: 10pt; text-align: left">Straight-line over <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">two</div> to <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">twelve</div> years</td> </tr> <tr style="vertical-align: middle"> <td style="padding-left: 20pt; font-size: 10pt; text-align: left">Trade names</td> <td style="font-size: 10pt; text-align: left">Straight-line over <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">one</div> to <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">fifteen</div> years</td> </tr> <tr style="vertical-align: middle"> <td style="padding-left: 20pt; font-size: 10pt; text-align: left">Non-compete covenants</td> <td style="font-size: 10pt; text-align: left">Straight-line over <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">two</div> to <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">twelve</div> years</td> </tr>  </table> <div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"></div> <div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&nbsp;</div></div> <div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"></div> <div style=" font: italic bold 10pt Times New Roman, Times, Serif; margin: 0pt 0"></div> <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"><div style=" font: italic bold 10pt Times New Roman, Times, Serif; margin: 0pt 0">Property and equipment</div> <div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">Property and equipment is recorded at cost. Depreciation of our property and equipment is generally recorded at the following rates:</div> <div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&nbsp;</div> <div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"></div> <table style="; border-collapse: collapse; font-family: Times New Roman, Times, Serif; min-width: 700px;" cellspacing="0" cellpadding="0" border="0">  <tr style="vertical-align: middle"> <td style="padding-left: 20pt; font-size: 10pt; text-align: left; width: 50%">Computer equipment and software</td> <td style="font-size: 10pt; text-align: left; width: 50%"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">30%</div> declining balance&nbsp;</td> </tr> <tr style="vertical-align: middle"> <td style="padding-left: 20pt; font-size: 10pt; text-align: left">Furniture and fixtures</td> <td style="font-size: 10pt; text-align: left"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">20%</div> declining balance</td> </tr> <tr style="vertical-align: middle"> <td style="padding-left: 20pt; font-size: 10pt; text-align: left">Leasehold improvements</td> <td style="font-size: 10pt; text-align: left">Straight-line over lesser of useful life or term of lease</td> </tr>  </table> <div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"></div> <div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&nbsp;</div> <div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0">Fully depreciated property and equipment are removed from the balance sheet when they are <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">no</div> longer in use.</div> <div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0">&nbsp;</div></div> <div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"></div> <div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><div style="display: inline; font-weight: bold;"><div style="display: inline; font-style: italic;"></div></div></div> <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"><div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><div style="display: inline; font-weight: bold;"><div style="display: inline; font-style: italic;">Leases</div></div></div> <div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">At the inception of a contract we assess whether a contract is, or contains, a lease based on whether the contract conveys the right to control the use of an identified asset for a period of time in exchange for consideration. We have building lease agreements with lease and non-lease components, which are accounted for separately. For computer equipment and vehicle leases, we have elected to account for the lease and non-lease components as a single lease component.</div> <div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&nbsp;</div> <div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">We recognize a right-of-use (&#x201c;ROU&#x201d;) asset and a lease liability at the lease commencement date. The ROU asset is initially measured based on the initial amount of the lease liability adjusted for any lease payments made at or before the commencement date, plus any initial direct costs incurred and less any lease incentives received. The assets are depreciated to the earlier of the end of the useful life of the ROU asset or the lease term using the straight-line method as this most closely reflects the expected pattern of consumption of the future economic benefits. The lease term includes periods covered by an option to extend if the Company is reasonably certain to exercise that option.</div> <div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&nbsp;</div><div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"></div> <div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">The lease liability is initially measured at the present value of the future lease payments at the commencement date, discounted using the interest rate implicit in the lease or, if that rate cannot be readily determined, the Company&#x2019;s incremental borrowing rate. As most of our leases do <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">not</div> provide an implicit rate, we use our incremental borrowing rate based on the information available at commencement date in determining the present value of lease payments.</div> <div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&nbsp;</div> <div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">The lease liability is measured at amortized cost using the effective interest method. It is remeasured when there is a change in future lease payments arising from a change in an index or rate, if there is a change in the Company&#x2019;s estimate of the amount expected to be payable under a residual value guarantee, or if the Company changes its assessment of whether it will exercise a purchase, extension or termination option. When the lease liability is remeasured, a corresponding adjustment is made to the carrying amount of the ROU asset, or is recorded in profit or loss if the carrying amount of the ROU asset has been reduced to zero.</div> <div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&nbsp;</div> <div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">We have elected to apply the practical expedient <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">not</div> to recognize ROU assets and lease liabilities for short-term leases that have a lease term of <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">12</div> months or less. The lease payments associated with these leases is recognized as an expense on a straight-line basis over the lease term.</div> <div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0">&nbsp;</div></div> <div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"></div> <div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><div style="display: inline; font-weight: bold;"><div style="display: inline; font-style: italic;"></div></div></div> <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"><div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><div style="display: inline; font-weight: bold;"><div style="display: inline; font-style: italic;">Revenue recognition</div></div></div> <div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">Revenue is recognized upon transfer of control of promised goods or services to customers in an amount that reflects the consideration we expect to receive in exchange for those goods or services. We enter into contracts that can include various combinations of goods and services, which are generally capable of being distinct within the context of the contract and accounted for as separate performance obligations. A product or service is distinct if the customer can benefit from it on its own or together with other readily available resources and the promise to transfer the good or service is separately identifiable from other promises in the contractual arrangement with the customer. Non-distinct goods and services are combined with other goods or services until they are distinct as a bundle and therefore form a single performance obligation.</div> <div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&nbsp;</div> <div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">The consideration (including any discounts) is allocated between separate goods and services in a bundle on a relative basis based on their SSP. The SSP reflects the price we would charge for a specific product or service if it was sold separately in similar circumstances and to similar customers. Revenue is recognized net of any taxes collected from customers, which are subsequently remitted to governmental authorities. In addition to these general policies, the specific revenue recognition policies for each major category of revenue are included below.</div> <div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&nbsp;</div> <div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><div style="display: inline; text-decoration: underline;">License</div></div> <div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">Revenues for distinct licenses for on-premise or hosted software are derived from perpetual licenses granted to our customers for the right to use our software products. License revenues are billed on the effective date of a contract and revenue is recognized at the point in time when the customer is provided control of the respective software.</div> <div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&nbsp;</div> <div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><div style="display: inline; text-decoration: underline;">Services</div></div> <div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">Services, which allow customers to access hosted software over a contract term without taking possession of the software, is provided on a subscription and/or transactional fee basis. Revenues from hosted software subscriptions and maintenance are typically billed annually in advance and revenue is recognized on a ratable basis over the contract term beginning on the date that our service is made available to the customer. Transaction fees are typically billed and recognized as revenue on a monthly basis based on the customer usage for that period.</div> <div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&nbsp;</div> <div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><div style="display: inline; text-decoration: underline;">Professional Services &amp; Other</div></div> <div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">Professional services are comprised of consulting, implementation and training services related to our services and products. These services are generally considered to be separate performance obligations as they provide incremental benefit to customers beyond providing access to the software. Professional services are typically billed on a time and materials basis and revenue is recognized over time as the services are performed. For professional services contracts billed on a fixed price basis, revenue is recognized over time based on the proportion of services performed. Revenue related to customer reimbursement of travel related expenses is recognized on a gross basis as incurred. Other revenues include hardware revenue and is generally billed, and revenue is recognized, when control of the product has transferred under the terms of an enforceable contract.</div> <div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&nbsp;</div><div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"></div> <div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><div style="display: inline; font-weight: bold;"><div style="display: inline; font-style: italic;">Costs to obtain a contract with a customer</div></div></div> <div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">We recognize an asset for the incremental costs of obtaining a contract with a customer if we expect the costs to be recoverable. We have determined that certain sales incentive programs meet the requirements to be capitalized. These capitalized costs are amortized consistent with the pattern of transfer to the customer for the goods and services to which the asset relates, including specifically identifiable contract renewals. The period of benefit including renewals is determined to be generally between <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">four</div> to <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">six</div> years, taking into consideration our customer contracts, our technology, renewal behaviors and other factors. Amortization of the asset is included in sales and marketing expenses in the consolidated statements of operations. Applying the practical expedient, we recognize the incremental costs of obtaining contracts as an expense when incurred if the amortization period of the assets that we otherwise would have recognized is <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">one</div> year or less.</div> <div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&nbsp;</div> <div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><div style="display: inline; font-weight: bold;"><div style="display: inline; font-style: italic;">Contract assets and liabilities</div></div></div> <div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><div style="display: inline; color: black">The payment terms and conditions in our customer contracts <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"> may </div>vary from the timing of revenue recognition. In some cases, customers pay in advance of delivery of products or services; in other cases, payment is due as services are performed or in arrears following delivery. Timing differences between revenue recognition and invoicing result in unbilled receivables, contract assets, or deferred revenue. Receivables are accrued when revenue is recognized prior to invoicing but the right to payment is unconditional (i.e., only the passage of time is required). This occurs most commonly when software term licenses recognized at a point in time are paid for periodically over the license term. Contract assets result when amounts allocated to distinct performance obligations are recognized when or as control of a product or service is transferred to the customer, but invoicing is contingent on performance of other performance obligations or on completion of contractual milestones and is presented as other receivables. Contract assets are transferred to receivables when the rights become unconditional, typically upon invoicing of the related performance obligations in the contract or upon achieving the requisite project milestone. </div>Contract liabilities primarily relate to the advance consideration received from customers and is presented as deferred revenue. <div style="display: inline; color: black">Deferred revenue results from customer payments in advance of our satisfaction of the associated performance obligation(s) and relates primarily to prepaid maintenance or other recurring services. Deferred revenues are relieved as revenue is recognized. Contract assets and deferred revenues are reported on a contract-by-contract basis at the end of each reporting period.</div></div> <div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&nbsp;</div> <div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><div style="display: inline; font-weight: bold;"><div style="display: inline; font-style: italic;">Revenue judgments and estimates</div></div></div> <div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">Our contracts with customers often include promises to transfer multiple goods and services to a customer. Determining whether goods and services are considered distinct performance obligations that should be accounted for separately versus together <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"> may </div>require judgment. Judgment is also needed in assessing the ability to collect the corresponding receivables.</div> <div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&nbsp;</div> <div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">Significant judgment is required to determine the SSP for each distinct performance obligation, which is needed to determine whether there is a discount that needs to be allocated based on the relative SSP of the various goods and services. In order to determine the SSP of its promised goods or services, we conduct a regular analysis to determine whether various goods or services have an observable standalone selling price. If the Company does <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">not</div> have an observable SSP for a particular good or service, then SSP for that particular good or service is estimated using reasonably available information and maximizing observable inputs with approaches including historical pricing, cost plus a margin, adjusted market assessment, and the residual approach.</div> <div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0">&nbsp;</div></div> <div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"></div>  <div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"></div> <div style=" font: italic bold 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"></div> <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"><div style=" font: italic bold 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">Research and development costs</div> <div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">To date, we have <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">not</div> capitalized any costs related to research and development of our computer software products. Costs incurred between the dates that the product is considered to be technologically feasible and is considered to be ready for general release to customers have historically been expensed as they have <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">not</div> been significant.</div> <div style=" font: italic bold 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&nbsp;</div></div> <div style=" font: italic bold 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"></div> <div style=" font: italic bold 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"></div> <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"><div style=" font: italic bold 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">Stock-based compensation plans</div> <div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><div style="display: inline; text-decoration: underline;">Stock Options</div></div> <div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">We maintain stock option plans for non-employee directors, officers, employees and other service providers. Options to purchase our common shares are granted at an exercise price equal to the fair market value of our common shares as of the date of grant. This fair market value is determined using the closing price of our common shares on the TSX on the day immediately preceding the date of the grant.</div> <div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&nbsp;</div> <div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">Employee stock options generally vest over a <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">five</div>-year period starting from the grant date and expire <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">seven</div> years from the grant date. Non-employee directors&#x2019; and officers&#x2019; stock options generally have quarterly vesting over a <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">three</div> to <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">five</div>-year period. We issue new shares from treasury upon the exercise of a stock option.</div> <div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&nbsp;</div> <div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">The fair value of employee stock option grants that are ultimately expected to vest are amortized to expense in our consolidated statement of operations based on the straight-line attribution method. The fair value of stock option grants is calculated using the Black-Scholes Merton option-pricing model. Expected volatility is based on historical volatility of our common stock and other factors. The risk-free interest rates are based on Government of Canada average bond yields for a period consistent with the expected life of the option in effect at the time of the grant. The expected option life is based on the historical life of our granted options and other factors.</div> <div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&nbsp;</div> <div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">Effective as of <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"> February 1, 2017, </div>the Company adopted a change in accounting policy in accordance with ASU <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">2016</div>-<div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">09</div> to account for forfeitures as they occur. The change was applied on a modified retrospective basis, and <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">no</div> prior periods were restated as a result of this change in accounting policy.</div> <div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&nbsp;</div> <div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><div style="display: inline; text-decoration: underline;">Performance &amp; Restricted Share Units</div></div> <div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">We maintain a performance and restricted share unit plan pursuant to which certain of our officers are eligible to receive grants of performance share units (&#x201c;PSUs&#x201d;) and restricted share units (&#x201c;RSUs&#x201d;).</div> <div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&nbsp;</div> <div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">PSUs vest at the end of a <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">three</div>-year performance period. The ultimate number of PSUs that vest is based on the total shareholder return (&#x201c;TSR&#x201d;) of our Company relative to the TSR of companies comprising a peer index group. TSR is calculated based on the weighted-average closing price of shares for the <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">five</div> trading days preceding the beginning and end of the performance period. The fair value of PSUs is expensed to stock-based compensation expense over the vesting period. PSUs expire <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">ten</div> years from the grant date. New shares are issued from treasury upon the redemption of a PSU.</div> <div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&nbsp;</div> <div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">PSUs are measured at fair value estimated using a Monte Carlo Simulation approach. Expected volatility is based on historical volatility of our common stock and other factors. The risk-free interest rates are based on the Government of Canada average bond yields for a period consistent with the expected life of the PSUs at the time of the grant. The expected PSU life is based on the historical life of our stock options and other factors.</div> <div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&nbsp;</div> <div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">RSUs vest annually over a <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">three</div>-year period starting from the grant date and expire <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">ten</div> years from the grant date. We issue new shares from treasury upon the redemption of an RSU.</div> <div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&nbsp;</div> <div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">RSUs are measured at fair value based on the closing price of our common shares for the day preceding the date of the grant and will be expensed to stock-based compensation expense over the vesting period.</div> <div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&nbsp;</div> <div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"></div> <!-- Field: Page; Sequence: 12 --> <div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"></div> <div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><div style="display: inline; text-decoration: underline;">Deferred Share Unit Plan</div></div> <div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">Our board of directors adopted a deferred share unit plan effective as of <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"> June 28, 2004, </div>pursuant to which non-employee directors are eligible to receive grants of deferred share units (&#x201c;DSUs&#x201d;), each of which has an initial value equal to the weighted-average closing price of our common shares for the <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">five</div> trading days preceding the grant date. The plan allows each director to choose to receive, in the form of DSUs, all, <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">none</div> or a percentage of the eligible director&#x2019;s fees which would otherwise be payable in cash. If a director has invested less than the minimum amount of equity in Descartes, as prescribed from time to time by the board of directors, then the director must take at least <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">50%</div> of the base annual fee for serving as a director in the form of DSUs. Each DSU fully vests upon award but is distributed only when the director ceases to be a member of the board of directors. Vested units are settled in cash based on our common share price when conversion takes place. Fair value of the liability is based on the closing price of our common shares at the balance sheet date.</div> <div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&nbsp;</div> <div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><div style="display: inline; text-decoration: underline;">Cash-Settled Restricted Share Unit Plan</div></div> <div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">Our board of directors adopted a cash-settled restricted share unit plan effective as of <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"> May 23, 2007, </div>pursuant to which certain of our employees and non-employee directors are eligible to receive grants of cash-settled restricted share units (&#x201c;CRSUs&#x201d;), each of which has an initial value equal to the weighted-average closing price of our common shares for the <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">five</div> trading days preceding the date of the grant. The CRSUs generally vest based on continued employment and have annual vesting over <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">three</div> to <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">five</div>-year periods. Vested units are settled in cash based on our common share price when conversion takes place, which is within <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">30</div> days following a vesting date and in any event prior to <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"> December 31</div><div style="display: inline; bottom:.33em; font-size: 82%; position: relative; vertical-align: baseline;">st</div> of the calendar year in which a vesting date occurs. Fair value of the liability is based on the closing price of our common shares at the balance sheet date.</div> <div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&nbsp;</div></div> <div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"></div> <div style=" font: italic bold 10pt Times New Roman, Times, Serif; margin: 0pt 0"></div> <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"><div style=" font: italic bold 10pt Times New Roman, Times, Serif; margin: 0pt 0">Business combinations</div> <div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">We apply the provisions of ASC Topic <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">805,</div> &#x201c;Business Combinations&#x201d; (Topic <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">805</div>), in the accounting for our acquisitions. It requires us to recognize separately from goodwill, the assets acquired and the liabilities assumed at their acquisition date fair values including certain identifiable intangible assets (other than goodwill). Goodwill as of the acquisition date is measured as the excess of consideration transferred over the net of the acquisition date fair values of the assets acquired and the liabilities assumed. The determination of the acquisition date fair value of the intangible assets acquired required us to make significant estimates and assumptions regarding projected revenues, earnings before interest, taxes, depreciation and amortization, technology migration rates, customer attrition rates and discount rates.</div> <div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&nbsp;</div> <div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">While we use our best estimates and assumptions to accurately value assets acquired and liabilities assumed at the acquisition date as well as contingent consideration, where applicable, our estimates are inherently uncertain and subject to refinement. As a result, during the measurement period, which <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"> may </div>be up to <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">one</div> year from the acquisition date, we <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"> may </div>record adjustments to the assets acquired and liabilities assumed with the corresponding offset to goodwill. Upon the conclusion of the measurement period or final determination of the values of assets acquired or liabilities assumed, whichever comes first, any subsequent adjustments would be recorded to our consolidated statement of operations.</div> <div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&nbsp;</div> <div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">Costs to exit or restructure certain activities of an acquired company or our internal operations are accounted for as termination and exit costs pursuant to ASC Topic <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">420,</div> &#x201c;Exit or Disposal Cost Obligations&#x201d; (Topic <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">420</div>) and are accounted for separately from the business combination.</div> <div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&nbsp;</div> <div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">For a given acquisition, we generally identify certain pre-acquisition contingencies as of the acquisition date and <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"> may </div>extend our review and evaluation of these pre-acquisition contingencies throughout the measurement period in order to obtain sufficient information to assess whether we include these contingencies as a part of the purchase price allocation and, if so, to determine the estimated amounts.</div> <div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&nbsp;</div> <div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">If we determine that a pre-acquisition contingency (non-income tax related) is probable in nature and estimable as of the acquisition date, we record our best estimate for such a contingency as a part of the preliminary purchase price allocation. We often continue to gather information and evaluate our pre-acquisition contingencies throughout the measurement period and if we make changes to the amounts recorded or if we identify additional pre-acquisition contingencies during the measurement period, such amounts will be included in the purchase price allocation during the measurement period and, subsequently, in our results of operations.</div> <div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&nbsp;</div> <div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"></div> <!-- Field: Page; Sequence: 13 --> <div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"></div> <div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">Uncertain tax positions and tax related valuation allowances assumed in connection with a business combination are initially estimated as of the acquisition date. We review these items during the measurement period as we continue to actively seek and collect information relating to facts and circumstances that existed at the acquisition date. Changes to these uncertain tax positions and tax related valuation allowances made subsequent to the measurement period, or if they relate to facts and circumstances that did <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">not</div> exist at the acquisition date, are recorded in our provision for income taxes in our consolidated statement of operations.</div> <div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&nbsp;</div></div> <div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"></div> <div style=" font: italic bold 10pt Times New Roman, Times, Serif; margin: 0pt 0"></div> <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"><div style=" font: italic bold 10pt Times New Roman, Times, Serif; margin: 0pt 0">Income taxes</div> <div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">We use the liability method of income tax allocation to account for income taxes. Deferred tax assets and liabilities arise from temporary differences between the tax bases of assets and liabilities and their reported amounts in the consolidated financial statements that will result in taxable or deductible amounts in future years. These temporary differences are measured using enacted tax rates. A valuation allowance is recorded to reduce deferred tax assets to the extent that we consider it is more likely than <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">not</div> that a deferred tax asset will <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">not</div> be realized. In determining the valuation allowance, we consider factors such as the reversal of deferred income tax liabilities, projected taxable income, our history of losses for tax purposes, and the character of income tax assets and tax planning strategies. A change to these factors could impact the estimated valuation allowance and income tax expense.</div> <div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&nbsp;</div> <div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">We evaluate our uncertain tax positions by using a <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">two</div>-step approach to recognize and measure uncertain tax positions and provisions for income taxes.&nbsp;The <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">first</div> step is to evaluate the tax position for recognition by determining if the weight of available evidence indicates it is more likely than <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">not,</div> based solely on the technical merits, that the position will be sustained on audit, including resolution of related appeals or litigation processes, if any. The <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">second</div> step is to measure the appropriate amount of the benefit to recognize. The amount of benefit to recognize is measured as the maximum amount which is more likely than <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">not</div> to be realized. The tax position is derecognized when it is <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">no</div> longer more likely than <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">not</div> that the position will be sustained on audit. We continually assess the likelihood and amount of potential adjustments and adjust the income tax provisions, income taxes payable and deferred income taxes in the period in which the facts that give rise to a revision become known.</div> <div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&nbsp;</div></div> <div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"></div> <div style=" font: italic bold 10pt Times New Roman, Times, Serif; margin: 0pt 0"></div> <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"><div style=" font: italic bold 10pt Times New Roman, Times, Serif; margin: 0pt 0">Earnings per share</div> <div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">Basic earnings per share is calculated by dividing net income by the weighted average number of common shares outstanding during the period. Diluted earnings per common share is calculated by dividing net income by the sum of the weighted average number of common shares outstanding and all additional common shares that would have been outstanding if potentially dilutive common shares had been issued during the period. The treasury stock method is used to compute the dilutive effect of stock-based compensation.</div> <div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&nbsp;</div></div> <div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"></div> <div style=" font: italic bold 10pt Times New Roman, Times, Serif; margin: 0pt 0"></div> <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"><div style=" font: italic bold 10pt Times New Roman, Times, Serif; margin: 0pt 0">Recently adopted accounting pronouncements</div> <div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">In <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"> May 2014, </div>the FASB issued Accounting Standards Update <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">2014</div>-<div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">09,</div> &#x201c;Revenue from Contracts with Customers&#x201d; (&#x201c;ASC <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">606&#x201d;</div>). ASC <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">606</div> supersedes the revenue recognition requirements in ASC Topic <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">605,</div> &#x201c;Revenue Recognition&#x201d; ("ASC <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">605"</div>) and nearly all other existing revenue recognition guidance under US GAAP. The core principle of ASC <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">606</div> is to recognize revenues when promised goods or services are transferred to customers in an amount that reflects the consideration that is expected to be received for those goods or services. ASC <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">606</div> is effective for annual periods, and interim periods within those annual periods, beginning after <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"> December 15, 2017, </div>which is our fiscal year that began on <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"> February 1, 2018 (</div>fiscal <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">2019</div>). The Company has adopted ASC <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">606</div> in the <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">first</div> quarter of fiscal <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">2019</div> using the cumulative effect method and therefore the comparative information has <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">not</div> been restated and continues to be reported under ASC <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">605.</div> The details of the significant changes and quantitative impact of the changes are set out below.</div> <div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&nbsp;</div><div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"></div> <div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify; text-indent: 0.5in"><div style="display: inline; text-decoration: underline;">Term-based licenses</div></div> <div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0 0pt 0.5in; text-align: justify">Under ASC <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">605,</div> revenue attributable to term-based arrangements was recognized ratably over the term of the arrangement because Vendor Specific Objective Evidence did <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">not</div> exist for the undelivered maintenance and support element of the arrangement. Under ASC <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">606,</div> the Company has deemed the licenses to be distinct from other performance obligations. Revenue allocated to the distinct license based on the SSP is recognized at the time that both the right-to-use the software has commenced for the term and the software has been made available to the customer.</div> <div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&nbsp;</div> <div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify; text-indent: 0.5in"><div style="display: inline; text-decoration: underline;">Costs to obtain a contract</div></div> <div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0 0pt 0.5in; text-align: justify">Under the Company&#x2019;s previous accounting policies, the Company generally expensed commission costs paid to employees or <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">third</div> parties to obtain customer contracts as incurred. Under ASC <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">606,</div> the Company allocates these incremental commission costs to the various performance obligations to which they relate using the relative selling price allocation for bundled commissions. For performance obligations <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">not</div> delivered upfront, the allocated commissions are deferred and amortized over the pattern of transfer of the related performance obligation. If the expected amortization period for all performance obligations in a contract with a customer is <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">one</div> year or less, the commission fee is expensed when incurred. Capitalized costs to obtain a contract are included in other long-term assets on the consolidated balance sheet.</div> <div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&nbsp;</div> <div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">The adoption of ASC <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">606</div> resulted in an increase to contract assets of <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">$0.5</div> million, an increase to other long-term assets of <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">$4.2</div> million, an increase to the liability for deferred income taxes of <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">$1.1</div> million and a decrease to accumulated deficit of <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">$3.6</div> million, as of <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"> February 1, 2018.</div></div> <div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&nbsp;</div> <div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">In <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"> October 2016, </div>the FASB issued Accounting Standards Update <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">2016</div>-<div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">16,</div> &#x201c;Income Taxes (Topic <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">740</div>): Intra-Entity Transfers of Assets Other Than Inventory&#x201d; (&#x201c;ASU <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">2016</div>-<div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">16&#x201d;</div>). ASU <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">2016</div>-<div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">16</div> requires the recognition of the income tax consequences of an intra-entity transfer of an asset other than inventory when the transfer occurs. ASU <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">2016</div>-<div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">16</div> is effective for annual periods, and interim periods within those annual periods, beginning after <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"> December 15, 2017, </div>which is our fiscal year that began on <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"> February 1, 2018 (</div>fiscal <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">2019</div>). The Company adopted this guidance in the <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">first</div> quarter of fiscal <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">2019.</div> As a result of adoption, the balance of unamortized deferred tax charges was written-off and previously unrecognized deferred income tax assets in certain jurisdictions were recognized. The change was applied on a modified retrospective basis, and <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">no</div> prior periods were restated. Accordingly, we have recognized a decrease of <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">$4.0</div> million in accumulated deficit as a result of the adoption of this change in accounting policy, as of <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"> February 1, 2018.</div></div> <div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&nbsp;</div> <div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">In <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"> February 2016, </div>the FASB issued Accounting Standards Update <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">2016</div>-<div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">02,</div> &#x201c;Leases (Topic <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">842</div>)&#x201d; (&#x201c;ASU <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">2016</div>-<div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">02&#x201d;</div>) and issued subsequent amendments to the initial guidance during <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">2018,</div> collectively referred to as &#x201c;ASC <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">842&#x201d;.</div> These updates supersede the lease guidance in ASC Topic <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">840,</div> &#x201c;Leases&#x201d; (&#x201c;ASC <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">840&#x201d;</div>) and require the recognition of lease assets and lease liabilities by lessees for most leases previously classified as operating leases under ASC Topic <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">840.</div> Leases will continue to be classified as either operating or finance. ASC <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">842</div> is effective for annual periods, and interim periods within those annual periods, beginning after <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"> December 15, 2018, </div>which is our fiscal year that began on <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"> February 1, 2019 (</div>fiscal <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">2020</div>). The Company adopted ASC <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">842</div> as of <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"> February 1, 2019 </div>using the cumulative effect method and therefore the comparative information has <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">not</div> been restated and continues to be reported under ASC Topic <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">840.</div></div> <div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&nbsp;</div> <div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">The adoption of ASC <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">842</div> resulted in an increase to ROU assets and lease liabilities of <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">$</div><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">10.4</div> </div>million as of <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"> February 1, 2019. </div>The adoption of ASC <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">842</div> did <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">not</div> have a material impact on either our consolidated statement of operations or our consolidated statement of cash flows.</div> <div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&nbsp;</div> <div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">On adoption of ASC <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">842,</div> we have elected to apply the practical expedient to carry forward our current assessments of whether a contract contains a lease, lease classification, and amounts capitalized as initial direct costs. In addition, we have elected the hindsight practical expedient to determine lease term for existing leases.</div> <div style=" font: italic 10pt Times New Roman, Times, Serif; margin: 0pt 0"><div style="display: inline; font-style: normal; font-weight: normal">&nbsp;</div></div><div style=" font: italic 10pt Times New Roman, Times, Serif; margin: 0pt 0"><div style="display: inline; font-style: normal; font-weight: normal"></div></div> <div style=" font: italic bold 10pt Times New Roman, Times, Serif; margin: 0pt 0">Recently issued accounting pronouncements</div> <div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">In <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"> June 2016, </div>the FASB issued Accounting Standards Update <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">2016</div>-<div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">13,</div> &#x201c;Financial Instruments &#x2013; Credit Losses (Topic <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">326</div>): Measurement of Credit Losses on Financial Instruments&#x201d; (&#x201c;ASU <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">2016</div>-<div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">13&#x201d;</div>) and issued subsequent amendments to the initial guidance during the <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">2019</div> calendar year, collectively referred to as &#x201c;ASC <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">326&#x201d;.</div> ASC <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">326</div> requires the measurement and recognition of expected credit losses for financial assets held at amortized cost. ASC <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">326</div> replaces the existing incurred loss impairment model with an expected loss model which requires the use of forward-looking information to calculate credit loss estimates. These changes will result in earlier recognition of credit losses. ASC <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">326</div> is effective for annual periods, and interim periods within those annual periods, beginning after <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"> December 15, 2019, </div>which will be our fiscal year beginning <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"> February 1, 2020 (</div>fiscal <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">2021</div>). Early adoption is permitted. The Company will adopt this guidance using the cumulative effect method resulting in an adjustment to retained earnings in the <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">first</div> quarter of fiscal <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">2021</div> and will <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">not</div> restate comparative periods. We are currently implementing new credit loss models and updating our processes and controls in preparation for the adoption of ASC <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">326.</div> The effect on our consolidated financial statements is expected to largely depend on the composition and credit quality of our financial assets held at amortized cost and the economic conditions and forecasts at the time of adoption. The adoption of this amendment is <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">not</div> expected to have a material impact on our results of operations or disclosures.</div> <div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&nbsp;</div> <div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">In <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"> January 2017, </div>the FASB issued Accounting Standards Update <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">2017</div>-<div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">04,</div> &#x201c;Intangibles &#x2013; Goodwill and Other (Topic <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">350</div>): Simplifying the Test for Goodwill Impairment&#x201d; (&#x201c;ASU <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">2017</div>-<div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">04&#x201d;</div>). ASU <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">2017</div>-<div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">04</div> simplifies how an entity is required to test goodwill for impairment. ASU <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">2017</div>-<div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">04</div> is effective for annual periods, and interim periods within those annual periods, beginning after <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"> December 15, 2019, </div>which will be our fiscal year beginning <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"> February 1, 2020 (</div>fiscal <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">2021</div>). Early adoption is permitted. The Company will adopt this guidance in the <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">first</div> quarter of fiscal <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">2021.</div> The adoption of this amendment is <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">not</div> expected to have a material impact on our results of operations or disclosures.</div> <div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&nbsp;</div> <div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">In <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"> August 2018, </div>the FASB issued Accounting Standards Update <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">2018</div>-<div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">15,</div> &#x201c;Intangibles &#x2013; Goodwill and Other &#x2013; Internal-Use Software (Subtopic <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">350</div>-<div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">40</div>): Customer&#x2019;s Accounting for Implementation Costs Incurred in a Cloud Computing Arrangement That Is a Service Contract&#x201d; (&#x201c;ASU <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">2018</div>-<div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">15&#x201d;</div>). ASU <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">2018</div>-<div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">15</div> aligns the requirements for capitalizing implementation costs incurred in a hosting arrangement that is a service contract with the requirements for capitalizing implementation costs incurred to develop or obtain internal-use software. ASU <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">2018</div>-<div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">15</div> is effective for annual periods, and interim periods within those annual periods, beginning after <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"> December 15, 2019, </div>which will be our fiscal year beginning <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"> February 1, 2020 (</div>fiscal <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">2021</div>). Early adoption is permitted. The Company will adopt this guidance in the <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">first</div> quarter of fiscal <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">2021.</div> The adoption of this amendment is <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">not</div> expected to have a material impact on our results of operations or disclosures.</div> <div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&nbsp;</div> <div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">In <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"> December 2019, </div>the FASB issued Accounting Standards Update <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">2019</div>-<div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">12,</div> &#x201c;Income Taxes (Topic <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">740</div>): Simplifying the Accounting for Income Taxes&#x201d; (&#x201c;ASU <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">2019</div>-<div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">12&#x201d;</div>). ASU <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">2019</div>-<div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">12</div> simplifies how an entity accounts for income taxes. ASU <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">2019</div>-<div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">12</div> is effective for annual periods, and interim periods within those annual periods, beginning after <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"> December 15, 2020, </div>which will be our fiscal year beginning <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"> February 1, 2021 (</div>fiscal <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">2022</div>). Early adoption is permitted. The Company will adopt this guidance in the <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">first</div> quarter of fiscal <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">2022.</div> We are currently evaluating the impact that the adoption will have on our results of operations, financial position and disclosures.</div></div></div><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DisclosureTextBlockAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DisclosureTextBlockAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_SignificantAccountingPoliciesTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The entire disclosure for all significant accounting policies of the reporting entity.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -URI http://asc.fasb.org/topic&amp;trid=2122369<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_SignificantAccountingPoliciesTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>nonnum:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>82
<FILENAME>R14.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.20.1</span><table class="report" border="0" cellspacing="2" id="idp6891847088">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Note 6 - Other Receivables<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Jan. 31, 2020</div></th></tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DisclosureTextBlockAbstract', window );"><strong>Notes to Financial Statements</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_dsgx_OtherReceivablesTextBlock', window );">Other Receivables [Text Block]</a></td>
<td class="text"><div style="display: inline; font-family: times new roman; font-size: 10pt"><div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"><div style="display: inline; font-weight: bold;">Note <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">6</div> &#x2013; Other Receivables</div></div> <div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0">&nbsp;</div> <div> <table cellpadding="0" cellspacing="0" style="border-collapse: collapse; font: 10pt Times New Roman, Times, Serif; min-width: 700px;">  <tr style="vertical-align: bottom; background-color: White"> <td>&nbsp;</td> <td style="font-weight: bold">&nbsp;</td> <td style="border-top: Black 1pt solid; font-weight: bold; text-align: left">&nbsp;</td> <td style="border-top: Black 1pt solid; font-weight: bold; text-align: right"><div style="display: inline; font-family: Times New Roman, Times, Serif; font-size: 10pt"><div style="display: inline; font-weight: bold;">January 31,</div></div></td> <td style="border-top: Black 1pt solid; white-space: nowrap; font-weight: bold; text-align: left">&nbsp;</td> <td style="border-top: Black 1pt solid">&nbsp;</td> <td style="border-top: Black 1pt solid; text-align: left">&nbsp;</td> <td style="border-top: Black 1pt solid; text-align: right"><div style="display: inline; font-family: Times New Roman, Times, Serif; font-size: 10pt">January 31,</div></td> <td style="border-top: Black 1pt solid; white-space: nowrap; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: White"> <td style="padding-bottom: 1pt">&nbsp;</td> <td style="font-weight: bold">&nbsp;</td> <td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: right">2020</td> <td style="white-space: nowrap; border-bottom: Black 1pt solid; font-weight: bold; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid">&nbsp;</td> <td style="border-bottom: Black 1pt solid; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid; text-align: right">2019</td> <td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="width: 68%; text-align: left">Net working capital adjustments receivable from acquisitions</td> <td style="width: 2%; font-weight: bold">&nbsp;</td> <td style="width: 1%; font-weight: bold; text-align: left">&nbsp;</td> <td style="width: 12%; font-weight: bold; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">&#x2013;</div></td> <td style="white-space: nowrap; width: 1%; font-weight: bold; text-align: left">&nbsp;</td> <td style="width: 2%">&nbsp;</td> <td style="width: 1%; text-align: left">&nbsp;</td> <td style="width: 12%; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">55</div></td> <td style="white-space: nowrap; width: 1%; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: White"> <td style="text-align: left; padding-bottom: 1pt">Other receivables</td> <td style="font-weight: bold">&nbsp;</td> <td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">7,294</div></td> <td style="white-space: nowrap; border-bottom: Black 1pt solid; font-weight: bold; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid">&nbsp;</td> <td style="border-bottom: Black 1pt solid; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">4,276</div></td> <td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="padding-bottom: 1pt">&nbsp;</td> <td style="font-weight: bold">&nbsp;</td> <td style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">7,294</div></td> <td style="border-bottom: Black 1.5pt solid; white-space: nowrap; font-weight: bold; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1.5pt solid">&nbsp;</td> <td style="border-bottom: Black 1.5pt solid; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1.5pt solid; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">4,331</div></td> <td style="border-bottom: Black 1.5pt solid; white-space: nowrap; text-align: left">&nbsp;</td> </tr>  </table> </div> <div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"><div style="display: inline; font-weight: bold;">&nbsp;</div></div> <div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">Other receivables include receivables related to sales and use taxes, income taxes, non-trade receivables and contract assets. At <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"> January 31, 2020, </div><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">nil</div> (<div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">$0.1</div> million as at <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"> January 31, 2019) </div>of the net working capital adjustments receivable from acquisitions is recoverable from amounts held in escrow related to the respective acquisitions.</div></div><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dsgx_OtherReceivablesTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The entire disclosure for other receivables.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dsgx_OtherReceivablesTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dsgx_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>nonnum:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DisclosureTextBlockAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DisclosureTextBlockAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>83
<FILENAME>R18.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.20.1</span><table class="report" border="0" cellspacing="2" id="idp6891858560">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Note 10 - Goodwill<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Jan. 31, 2020</div></th></tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DisclosureTextBlockAbstract', window );"><strong>Notes to Financial Statements</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_GoodwillDisclosureTextBlock', window );">Goodwill Disclosure [Text Block]</a></td>
<td class="text"><div style="display: inline; font-family: times new roman; font-size: 10pt"><div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"><div style="display: inline; font-weight: bold;">Note <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">10</div> &#x2013; Goodwill</div></div> <div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"><div style="display: inline; font-weight: bold;">&nbsp;</div></div> <div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">Goodwill is recorded when the consideration paid for an acquisition of a business exceeds the fair value of identifiable net tangible and intangible assets acquired. The following table summarizes the changes in goodwill since <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"> January 31, 2018:</div></div> <div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&nbsp;</div> <div> <table cellpadding="0" cellspacing="0" style="border-collapse: collapse; font: 10pt Times New Roman, Times, Serif; min-width: 700px;">  <tr style="vertical-align: bottom; background-color: White"> <td>&nbsp;</td> <td style="font-weight: bold">&nbsp;</td> <td style="border-top: Black 1pt solid; font-weight: bold; text-align: left">&nbsp;</td> <td style="border-top: Black 1pt solid; font-weight: bold; text-align: right"><div style="display: inline; font-family: Times New Roman, Times, Serif; font-size: 10pt"><div style="display: inline; font-weight: bold;">January 31,</div></div></td> <td style="border-top: Black 1pt solid; white-space: nowrap; font-weight: bold; text-align: left">&nbsp;</td> <td style="border-top: Black 1pt solid">&nbsp;</td> <td style="border-top: Black 1pt solid; text-align: left">&nbsp;</td> <td style="border-top: Black 1pt solid; text-align: right"><div style="display: inline; font-family: Times New Roman, Times, Serif; font-size: 10pt">January 31,</div></td> <td style="border-top: Black 1pt solid; white-space: nowrap; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: White"> <td style="padding-bottom: 1pt">&nbsp;</td> <td style="font-weight: bold">&nbsp;</td> <td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: right">2020</td> <td style="white-space: nowrap; border-bottom: Black 1pt solid; font-weight: bold; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid">&nbsp;</td> <td style="border-bottom: Black 1pt solid; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid; text-align: right">2019</td> <td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="width: 68%; text-align: left">Balance at beginning of year</td> <td style="width: 2%; font-weight: bold">&nbsp;</td> <td style="width: 1%; font-weight: bold; text-align: left">&nbsp;</td> <td style="width: 12%; font-weight: bold; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">378,178</div></td> <td style="white-space: nowrap; width: 1%; font-weight: bold; text-align: left">&nbsp;</td> <td style="width: 2%">&nbsp;</td> <td style="width: 1%; text-align: left">&nbsp;</td> <td style="width: 12%; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">350,148</div></td> <td style="white-space: nowrap; width: 1%; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: White"> <td style="padding-left: 12pt">Acquisition of Aljex</td> <td style="font-weight: bold">&nbsp;</td> <td style="font-weight: bold; text-align: left">&nbsp;</td> <td style="font-weight: bold; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">&#x2013;</div></td> <td style="white-space: nowrap; font-weight: bold; text-align: left">&nbsp;</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">18,903</div></td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="text-align: left; padding-left: 12pt">Acquisition of Velocity Mail</td> <td style="font-weight: bold">&nbsp;</td> <td style="font-weight: bold; text-align: left">&nbsp;</td> <td style="font-weight: bold; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">&#x2013;</div></td> <td style="white-space: nowrap; font-weight: bold; text-align: left">&nbsp;</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">8,448</div></td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: White"> <td style="padding-left: 12pt">Acquisition of PinPoint</td> <td style="font-weight: bold">&nbsp;</td> <td style="font-weight: bold; text-align: left">&nbsp;</td> <td style="font-weight: bold; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">&#x2013;</div></td> <td style="white-space: nowrap; font-weight: bold; text-align: left">&nbsp;</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">6,306</div></td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="text-align: left; padding-left: 12pt">Acquisition of Visual Compliance</td> <td style="font-weight: bold">&nbsp;</td> <td style="font-weight: bold; text-align: left">&nbsp;</td> <td style="font-weight: bold; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">118,785</div></td> <td style="white-space: nowrap; font-weight: bold; text-align: left">&nbsp;</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">&#x2013;</div></td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: White"> <td style="padding-left: 12pt">Acquisition of CORE</td> <td style="font-weight: bold">&nbsp;</td> <td style="font-weight: bold; text-align: left">&nbsp;</td> <td style="font-weight: bold; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">12,670</div></td> <td style="white-space: nowrap; font-weight: bold; text-align: left">&nbsp;</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">&#x2013;</div></td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="padding-left: 12pt">Acquisition of STEPcom</td> <td style="font-weight: bold">&nbsp;</td> <td style="font-weight: bold; text-align: left">&nbsp;</td> <td style="font-weight: bold; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">10,019</div></td> <td style="white-space: nowrap; font-weight: bold; text-align: left">&nbsp;</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">&#x2013;</div></td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: White"> <td style="padding-left: 12pt">Acquisition of BestTransport</td> <td style="font-weight: bold">&nbsp;</td> <td style="font-weight: bold; text-align: left">&nbsp;</td> <td style="font-weight: bold; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">5,513</div></td> <td style="white-space: nowrap; font-weight: bold; text-align: left">&nbsp;</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">&#x2013;</div></td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="text-align: left; padding-bottom: 1pt; padding-left: 12pt">Adjustments on account of foreign exchange</td> <td style="font-weight: bold">&nbsp;</td> <td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">(1,475</div></td> <td style="white-space: nowrap; border-bottom: Black 1pt solid; font-weight: bold; text-align: left">)</td> <td style="border-bottom: Black 1pt solid">&nbsp;</td> <td style="border-bottom: Black 1pt solid; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">(5,627</div></td> <td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">)</td> </tr> <tr style="vertical-align: bottom; background-color: White"> <td style="text-align: left; padding-bottom: 1pt">Balance at end of year</td> <td style="font-weight: bold">&nbsp;</td> <td style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">523,690</div></td> <td style="border-bottom: Black 1.5pt solid; white-space: nowrap; font-weight: bold; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1.5pt solid">&nbsp;</td> <td style="border-bottom: Black 1.5pt solid; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1.5pt solid; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">378,178</div></td> <td style="border-bottom: Black 1.5pt solid; white-space: nowrap; text-align: left">&nbsp;</td> </tr>  </table> </div></div><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DisclosureTextBlockAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DisclosureTextBlockAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_GoodwillDisclosureTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The entire disclosure for goodwill.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 20<br> -URI http://asc.fasb.org/subtopic&amp;trid=2144439<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_GoodwillDisclosureTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>nonnum:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>84
<FILENAME>R37.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.20.1</span><table class="report" border="0" cellspacing="2" id="idp6891721792">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Note 8 - Property and Equipment (Tables)<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Jan. 31, 2020</div></th></tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_TableTextBlock', window );"><strong>Notes Tables</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentTextBlock', window );">Property, Plant and Equipment [Table Text Block]</a></td>
<td class="text"><div style="display: inline; font-family: times new roman; font-size: 10pt"><table cellpadding="0" cellspacing="0" style="border-collapse: collapse; font: 10pt Times New Roman, Times, Serif; min-; min-width: 700px;"> <tr style="vertical-align: bottom; background-color: White"> <td>&nbsp;</td> <td style="font-weight: bold">&nbsp;</td> <td style="border-top: Black 1pt solid; font-weight: bold; text-align: left">&nbsp;</td> <td style="border-top: Black 1pt solid; font-weight: bold; text-align: right"><div style="display: inline; font-family: Times New Roman, Times, Serif; font-size: 10pt"><div style="display: inline; font-weight: bold;">January 31,</div></div></td> <td style="border-top: Black 1pt solid; white-space: nowrap; font-weight: bold; text-align: left">&nbsp;</td> <td style="border-top: Black 1pt solid">&nbsp;</td> <td style="border-top: Black 1pt solid; text-align: left">&nbsp;</td> <td style="border-top: Black 1pt solid; text-align: right"><div style="display: inline; font-family: Times New Roman, Times, Serif; font-size: 10pt">January 31,</div></td> <td style="border-top: Black 1pt solid; white-space: nowrap; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: White"> <td style="padding-bottom: 1pt">&nbsp;</td> <td style="font-weight: bold">&nbsp;</td> <td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: right">2020</td> <td style="white-space: nowrap; border-bottom: Black 1pt solid; font-weight: bold; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid">&nbsp;</td> <td style="border-bottom: Black 1pt solid; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid; text-align: right">2019</td> <td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td>Cost</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right">&nbsp;</td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right">&nbsp;</td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: White"> <td style="width: 68%; text-align: left; padding-left: 12pt">Computer equipment and software</td> <td style="width: 2%; font-weight: bold">&nbsp;</td> <td style="width: 1%; font-weight: bold; text-align: left">&nbsp;</td> <td style="width: 12%; font-weight: bold; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">34,442</div></td> <td style="white-space: nowrap; width: 1%; font-weight: bold; text-align: left">&nbsp;</td> <td style="width: 2%">&nbsp;</td> <td style="width: 1%; text-align: left">&nbsp;</td> <td style="width: 12%; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">34,870</div></td> <td style="white-space: nowrap; width: 1%; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="text-align: left; padding-left: 12pt">Furniture and fixtures</td> <td style="font-weight: bold">&nbsp;</td> <td style="font-weight: bold; text-align: left">&nbsp;</td> <td style="font-weight: bold; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">1,432</div></td> <td style="white-space: nowrap; font-weight: bold; text-align: left">&nbsp;</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">1,262</div></td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: White"> <td style="text-align: left; padding-left: 12pt">Leasehold improvements</td> <td style="font-weight: bold">&nbsp;</td> <td style="font-weight: bold; text-align: left">&nbsp;</td> <td style="font-weight: bold; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">778</div></td> <td style="white-space: nowrap; font-weight: bold; text-align: left">&nbsp;</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">444</div></td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="text-align: left; padding-left: 12pt">Equipment installed with customers</td> <td style="font-weight: bold">&nbsp;</td> <td style="font-weight: bold; text-align: left">&nbsp;</td> <td style="font-weight: bold; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">1,289</div></td> <td style="white-space: nowrap; font-weight: bold; text-align: left">&nbsp;</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">&#x2013;</div></td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: White"> <td style="text-align: left; padding-bottom: 1pt; padding-left: 12pt">Assets under construction</td> <td style="font-weight: bold">&nbsp;</td> <td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">829</div></td> <td style="white-space: nowrap; border-bottom: Black 1pt solid; font-weight: bold; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid">&nbsp;</td> <td style="border-bottom: Black 1pt solid; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">&#x2013;</div></td> <td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td>&nbsp;</td> <td style="font-weight: bold">&nbsp;</td> <td style="font-weight: bold; text-align: left">&nbsp;</td> <td style="font-weight: bold; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">38,770</div></td> <td style="white-space: nowrap; font-weight: bold; text-align: left">&nbsp;</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">36,576</div></td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: White"> <td style="text-align: left">Accumulated depreciation</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right">&nbsp;</td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right">&nbsp;</td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="text-align: left; padding-left: 12pt">Computer equipment and software</td> <td style="font-weight: bold">&nbsp;</td> <td style="font-weight: bold; text-align: left">&nbsp;</td> <td style="font-weight: bold; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">23,730</div></td> <td style="white-space: nowrap; font-weight: bold; text-align: left">&nbsp;</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">23,070</div></td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: White"> <td style="text-align: left; padding-left: 12pt">Furniture and fixtures</td> <td style="font-weight: bold">&nbsp;</td> <td style="font-weight: bold; text-align: left">&nbsp;</td> <td style="font-weight: bold; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">816</div></td> <td style="white-space: nowrap; font-weight: bold; text-align: left">&nbsp;</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">634</div></td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="text-align: left; padding-left: 12pt">Leasehold improvements</td> <td style="font-weight: bold">&nbsp;</td> <td style="font-weight: bold; text-align: left">&nbsp;</td> <td style="font-weight: bold; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">290</div></td> <td style="white-space: nowrap; font-weight: bold; text-align: left">&nbsp;</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">260</div></td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: White"> <td style="text-align: left; padding-bottom: 1pt; padding-left: 12pt">Equipment installed with customers</td> <td style="font-weight: bold">&nbsp;</td> <td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">203</div></td> <td style="white-space: nowrap; border-bottom: Black 1pt solid; font-weight: bold; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid">&nbsp;</td> <td style="border-bottom: Black 1pt solid; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">&#x2013;</div></td> <td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="padding-bottom: 1pt">&nbsp;</td> <td style="font-weight: bold">&nbsp;</td> <td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">25,039</div></td> <td style="white-space: nowrap; border-bottom: Black 1pt solid; font-weight: bold; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid">&nbsp;</td> <td style="border-bottom: Black 1pt solid; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">23,964</div></td> <td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: White"> <td style="padding-bottom: 1pt">Net</td> <td style="font-weight: bold">&nbsp;</td> <td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">13,731</div></td> <td style="white-space: nowrap; border-bottom: Black 1pt solid; font-weight: bold; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid">&nbsp;</td> <td style="border-bottom: Black 1pt solid; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">12,612</div></td> <td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&nbsp;</td> </tr> </table></div><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PropertyPlantAndEquipmentTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of physical assets used in the normal conduct of business and not intended for resale. Includes, but is not limited to, balances by class of assets, depreciation and depletion expense and method used, including composite depreciation, and accumulated deprecation.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(13))<br> -URI http://asc.fasb.org/extlink&amp;oid=6877327&amp;loc=d3e13212-122682<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 360<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -URI http://asc.fasb.org/extlink&amp;oid=6391035&amp;loc=d3e2868-110229<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PropertyPlantAndEquipmentTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>nonnum:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_TableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_TableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>85
<FILENAME>R33.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.20.1</span><table class="report" border="0" cellspacing="2" id="idp6902049984">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Note 3 - Acquisitions (Tables)<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Jan. 31, 2020</div></th></tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_TableTextBlock', window );"><strong>Notes Tables</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTextBlock', window );">Schedule of Business Acquisitions, by Acquisition [Table Text Block]</a></td>
<td class="text"><div style="display: inline; font-family: times new roman; font-size: 10pt"><table style="border-collapse: collapse; font: 10pt Times New Roman, Times, Serif; min-; min-width: 700px;" cellspacing="0" cellpadding="0"> <tr style="vertical-align: bottom"> <td style="padding-bottom: 1pt">&nbsp;</td> <td style="font-weight: bold">&nbsp;</td> <td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: right"><div style="display: inline; font-family: Times New Roman, Times, Serif; font-size: 10pt"><div style="display: inline; font-weight: bold;">Visual <br /> Compliance</div></div></td> <td style="white-space: nowrap; border-bottom: Black 1pt solid; font-weight: bold; text-align: left">&nbsp;</td> <td style="font-weight: bold; border-bottom: Black 1pt solid">&nbsp;</td> <td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: right"><div style="display: inline; font-weight: bold;">&nbsp;</div><div style="display: inline; font-weight: bold;">&nbsp;</div><div style="display: inline; font-weight: bold;">CORE</div></td> <td style="white-space: nowrap; border-bottom: Black 1pt solid; font-weight: bold; text-align: left">&nbsp;</td> <td style="font-weight: bold; border-bottom: Black 1pt solid">&nbsp;</td> <td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: right"><div style="display: inline; font-weight: bold;">&nbsp;</div><div style="display: inline; font-weight: bold;">STEP-<br /> com</div></td> <td style="white-space: nowrap; border-bottom: Black 1pt solid; font-weight: bold; text-align: left">&nbsp;</td> <td style="font-weight: bold; border-bottom: Black 1pt solid">&nbsp;</td> <td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: right"><div style="display: inline; font-weight: bold;">&nbsp;</div><div style="display: inline; font-weight: bold;">Best-<br /> Transport</div></td> <td style="white-space: nowrap; border-bottom: Black 1pt solid; font-weight: bold; text-align: left">&nbsp;</td> <td style="font-weight: bold; border-bottom: Black 1pt solid">&nbsp;</td> <td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: right"><div style="display: inline; font-weight: bold;">&nbsp;</div><div style="display: inline; font-weight: bold;">&nbsp;</div><div style="display: inline; font-weight: bold;">Total</div></td> <td style="white-space: nowrap; border-bottom: Black 1pt solid; font-weight: bold; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td>Purchase price consideration:</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right">&nbsp;</td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right">&nbsp;</td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right">&nbsp;</td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right">&nbsp;</td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right">&nbsp;</td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: White"> <td style="width: 45%; text-align: left; padding-left: 12pt">Cash, less cash acquired related to Visual Compliance ($170), CORE ($213), STEPcom ($2,700) and BestTransport ($507)</td> <td style="width: 1%">&nbsp;</td> <td style="width: 1%; text-align: left">&nbsp;</td> <td style="width: 8%; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">239,863</div></td> <td style="white-space: nowrap; width: 1%; text-align: left">&nbsp;</td> <td style="width: 1%">&nbsp;</td> <td style="width: 1%; text-align: left">&nbsp;</td> <td style="width: 8%; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">21,833</div></td> <td style="white-space: nowrap; width: 1%; text-align: left">&nbsp;</td> <td style="width: 1%">&nbsp;</td> <td style="width: 1%; text-align: left">&nbsp;</td> <td style="width: 8%; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">18,639</div></td> <td style="white-space: nowrap; width: 1%; text-align: left">&nbsp;</td> <td style="width: 1%">&nbsp;</td> <td style="width: 1%; text-align: left">&nbsp;</td> <td style="width: 8%; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">11,718</div></td> <td style="white-space: nowrap; width: 1%; text-align: left">&nbsp;</td> <td style="width: 1%">&nbsp;</td> <td style="width: 1%; text-align: left">&nbsp;</td> <td style="width: 8%; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">292,053</div></td> <td style="white-space: nowrap; width: 1%; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="padding-left: 12pt">Common shares issued</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">9,045</div></td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">&#x2013;</div></td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">&#x2013;</div></td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">&#x2013;</div></td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">9,045</div></td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: White"> <td style="text-align: left; padding-left: 12pt">Contingent consideration</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">&#x2013;</div></td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">1,450</div></td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">&#x2013;</div></td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">&#x2013;</div></td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">1,450</div></td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="text-align: left; padding-bottom: 1pt; padding-left: 12pt">Net working capital adjustments payable / (receivable)</td> <td>&nbsp;</td> <td style="border-bottom: Black 1pt solid; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">1,147</div></td> <td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid">&nbsp;</td> <td style="border-bottom: Black 1pt solid; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">62</div></td> <td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid">&nbsp;</td> <td style="border-bottom: Black 1pt solid; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">250</div></td> <td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid">&nbsp;</td> <td style="border-bottom: Black 1pt solid; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">&#x2013;</div></td> <td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid">&nbsp;</td> <td style="border-bottom: Black 1pt solid; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">1,459</div></td> <td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: White"> <td style="padding-bottom: 1pt">&nbsp;</td> <td>&nbsp;</td> <td style="border-bottom: Black 1.5pt solid; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1.5pt solid; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">250,055</div></td> <td style="border-bottom: Black 1.5pt solid; white-space: nowrap; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1.5pt solid">&nbsp;</td> <td style="border-bottom: Black 1.5pt solid; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1.5pt solid; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">23,345</div></td> <td style="border-bottom: Black 1.5pt solid; white-space: nowrap; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1.5pt solid">&nbsp;</td> <td style="border-bottom: Black 1.5pt solid; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1.5pt solid; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">18,889</div></td> <td style="border-bottom: Black 1.5pt solid; white-space: nowrap; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1.5pt solid">&nbsp;</td> <td style="border-bottom: Black 1.5pt solid; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1.5pt solid; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">11,718</div></td> <td style="border-bottom: Black 1.5pt solid; white-space: nowrap; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1.5pt solid">&nbsp;</td> <td style="border-bottom: Black 1.5pt solid; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1.5pt solid; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">304,007</div></td> <td style="border-bottom: Black 1.5pt solid; white-space: nowrap; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="text-align: left">Allocated to:</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right">&nbsp;</td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right">&nbsp;</td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right">&nbsp;</td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right">&nbsp;</td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right">&nbsp;</td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: White"> <td style="text-align: left; padding-left: 12pt">Current assets, excluding cash acquired</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">6,403</div></td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">689</div></td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">1,470</div></td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">815</div></td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">9,377</div></td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="text-align: left; padding-left: 12pt">Property and equipment</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">30</div></td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">2,048</div></td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">257</div></td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">35</div></td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">2,370</div></td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: White"> <td style="text-align: left; padding-left: 12pt">Deferred income tax asset</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">30,924</div></td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">&#x2013;</div></td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">&#x2013;</div></td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">&#x2013;</div></td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">30,924</div></td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="text-align: left; padding-left: 12pt">Right-of-use assets</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">1,188</div></td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">68</div></td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">232</div></td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">194</div></td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">1,682</div></td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: White"> <td style="text-align: left; padding-left: 12pt">Current liabilities</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">(840</div></td> <td style="white-space: nowrap; text-align: left">)</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">(352</div></td> <td style="white-space: nowrap; text-align: left">)</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">(874</div></td> <td style="white-space: nowrap; text-align: left">)</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">(284</div></td> <td style="white-space: nowrap; text-align: left">)</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">(2,350</div></td> <td style="white-space: nowrap; text-align: left">)</td> </tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="text-align: left; padding-left: 12pt">Deferred revenue</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">(10,267</div></td> <td style="white-space: nowrap; text-align: left">)</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">(278</div></td> <td style="white-space: nowrap; text-align: left">)</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">(813</div></td> <td style="white-space: nowrap; text-align: left">)</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">(9</div></td> <td style="white-space: nowrap; text-align: left">)</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">(11,367</div></td> <td style="white-space: nowrap; text-align: left">)</td> </tr> <tr style="vertical-align: bottom; background-color: White"> <td style="text-align: left; padding-left: 12pt">Lease obligations</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">(1,188</div></td> <td style="white-space: nowrap; text-align: left">)</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">(68</div></td> <td style="white-space: nowrap; text-align: left">)</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">(232</div></td> <td style="white-space: nowrap; text-align: left">)</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">(194</div></td> <td style="white-space: nowrap; text-align: left">)</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">(1,682</div></td> <td style="white-space: nowrap; text-align: left">)</td> </tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="text-align: left; padding-bottom: 1pt; padding-left: 12pt">Deferred income tax liability</td> <td>&nbsp;</td> <td style="border-bottom: Black 1pt solid; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">(282</div></td> <td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">)</td> <td style="border-bottom: Black 1pt solid">&nbsp;</td> <td style="border-bottom: Black 1pt solid; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">(3,332</div></td> <td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">)</td> <td style="border-bottom: Black 1pt solid">&nbsp;</td> <td style="border-bottom: Black 1pt solid; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">(2,316</div></td> <td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">)</td> <td style="border-bottom: Black 1pt solid">&nbsp;</td> <td style="border-bottom: Black 1pt solid; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">(1,352</div></td> <td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">)</td> <td style="border-bottom: Black 1pt solid">&nbsp;</td> <td style="border-bottom: Black 1pt solid; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">(7,282</div></td> <td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">)</td> </tr> <tr style="vertical-align: bottom; background-color: White"> <td style="text-align: left; padding-bottom: 1pt">Net tangible assets (liabilities) assumed</td> <td>&nbsp;</td> <td style="border-bottom: Black 1pt solid; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">25,968</div></td> <td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid">&nbsp;</td> <td style="border-bottom: Black 1pt solid; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">(1,225</div></td> <td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">)</td> <td style="border-bottom: Black 1pt solid">&nbsp;</td> <td style="border-bottom: Black 1pt solid; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">(2,276</div></td> <td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">)</td> <td style="border-bottom: Black 1pt solid">&nbsp;</td> <td style="border-bottom: Black 1pt solid; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">(795</div></td> <td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">)</td> <td style="border-bottom: Black 1pt solid">&nbsp;</td> <td style="border-bottom: Black 1pt solid; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">21,672</div></td> <td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td>&nbsp;</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right">&nbsp;</td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right">&nbsp;</td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right">&nbsp;</td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right">&nbsp;</td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right">&nbsp;</td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: White"> <td style="text-align: left">Finite life intangible assets acquired:</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right">&nbsp;</td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right">&nbsp;</td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right">&nbsp;</td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right">&nbsp;</td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right">&nbsp;</td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="text-align: left; padding-left: 10pt">Customer agreements and relationships</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">32,186</div></td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">4,600</div></td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">10,839</div></td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">3,000</div></td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">50,625</div></td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: White"> <td style="text-align: left; padding-left: 10pt">Existing technology</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">69,422</div></td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">6,800</div></td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">&#x2013;</div></td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">3,800</div></td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">80,022</div></td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="text-align: left; padding-left: 10pt">Trade names</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">528</div></td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">200</div></td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">102</div></td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">50</div></td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">880</div></td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: White"> <td style="text-align: left; padding-left: 10pt">Non-compete covenants</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">3,166</div></td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">300</div></td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">205</div></td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">150</div></td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">3,821</div></td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="padding-bottom: 1pt">Goodwill</td> <td>&nbsp;</td> <td style="border-bottom: Black 1pt solid; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">118,785</div></td> <td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid">&nbsp;</td> <td style="border-bottom: Black 1pt solid; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">12,670</div></td> <td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid">&nbsp;</td> <td style="border-bottom: Black 1pt solid; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">10,019</div></td> <td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid">&nbsp;</td> <td style="border-bottom: Black 1pt solid; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">5,513</div></td> <td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid">&nbsp;</td> <td style="border-bottom: Black 1pt solid; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">146,987</div></td> <td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: White"> <td style="padding-bottom: 1pt">&nbsp;</td> <td>&nbsp;</td> <td style="border-bottom: Black 1.5pt solid; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1.5pt solid; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">250,055</div></td> <td style="border-bottom: Black 1.5pt solid; white-space: nowrap; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1.5pt solid">&nbsp;</td> <td style="border-bottom: Black 1.5pt solid; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1.5pt solid; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">23,345</div></td> <td style="border-bottom: Black 1.5pt solid; white-space: nowrap; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1.5pt solid">&nbsp;</td> <td style="border-bottom: Black 1.5pt solid; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1.5pt solid; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">18,889</div></td> <td style="border-bottom: Black 1.5pt solid; white-space: nowrap; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1.5pt solid">&nbsp;</td> <td style="border-bottom: Black 1.5pt solid; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1.5pt solid; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">11,718</div></td> <td style="border-bottom: Black 1.5pt solid; white-space: nowrap; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1.5pt solid">&nbsp;</td> <td style="border-bottom: Black 1.5pt solid; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1.5pt solid; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">304,007</div></td> <td style="border-bottom: Black 1.5pt solid; white-space: nowrap; text-align: left">&nbsp;</td> </tr> </table></div><div style="display: inline; font-family: times new roman; font-size: 10pt"><table cellpadding="0" cellspacing="0" style="border-collapse: collapse; font: 10pt Times New Roman, Times, Serif; min-; min-width: 700px;"> <tr style="vertical-align: bottom; background-color: White"> <td style="padding-bottom: 1pt">&nbsp;</td> <td style="font-weight: bold"><div style="display: inline; font-style: italic;">&nbsp;</div></td> <td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: right"><div style="display: inline; font-family: Times New Roman, Times, Serif; font-size: 10pt"><div style="display: inline; font-weight: bold;">Aljex</div></div></td> <td style="white-space: nowrap; border-bottom: Black 1pt solid; font-weight: bold; text-align: left">&nbsp;</td> <td style="font-weight: bold; border-bottom: Black 1pt solid">&nbsp;</td> <td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: right"><div style="display: inline; font-family: Times New Roman, Times, Serif; font-size: 10pt"><div style="display: inline; font-weight: bold;">Velocity Mail</div></div></td> <td style="white-space: nowrap; border-bottom: Black 1pt solid; font-weight: bold; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid">&nbsp;</td> <td style="border-bottom: Black 1pt solid; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid; text-align: right"><div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 3pt 0pt 0; text-align: right"><div style="display: inline; font-weight: bold;">&nbsp;</div></div><div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 3pt 0pt 0; text-align: right"><div style="display: inline; font-weight: bold;">PinPoint</div></div></td> <td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&nbsp;</td> <td style="font-weight: bold; border-bottom: Black 1pt solid">&nbsp;</td> <td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: right"><div style="display: inline; font-family: Times New Roman, Times, Serif; font-size: 10pt"><div style="display: inline; font-weight: bold;">Total</div></div></td> <td style="white-space: nowrap; border-bottom: Black 1pt solid; font-weight: bold; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td>Purchase price consideration:</td> <td><div style="display: inline; font-style: italic;">&nbsp;</div></td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right">&nbsp;</td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right">&nbsp;</td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right">&nbsp;</td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right">&nbsp;</td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: White"> <td style="width: 52%; text-align: left; padding-left: 12pt">Cash, less cash acquired related to Aljex ($193), Velocity Mail (nil) and PinPoint ($769)</td> <td style="width: 1%"><div style="display: inline; font-style: italic;">&nbsp;</div></td> <td style="width: 1%; text-align: left">&nbsp;</td> <td style="width: 9%; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">32,382</div></td> <td style="white-space: nowrap; width: 1%; text-align: left">&nbsp;</td> <td style="width: 1%">&nbsp;</td> <td style="width: 1%; text-align: left">&nbsp;</td> <td style="width: 9%; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">26,107</div></td> <td style="white-space: nowrap; width: 1%; text-align: left">&nbsp;</td> <td style="width: 1%">&nbsp;</td> <td style="width: 1%; text-align: left">&nbsp;</td> <td style="width: 9%; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">9,443</div></td> <td style="white-space: nowrap; width: 1%; text-align: left">&nbsp;</td> <td style="width: 1%">&nbsp;</td> <td style="width: 1%; text-align: left">&nbsp;</td> <td style="width: 9%; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">67,932</div></td> <td style="white-space: nowrap; width: 1%; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="padding-left: 12pt">Common shares issued</td> <td><div style="display: inline; font-style: italic;">&nbsp;</div></td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">&#x2013;</div></td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">&#x2013;</div></td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">1,536</div></td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">1,536</div></td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: White"> <td style="text-align: left; padding-left: 12pt">Contingent consideration</td> <td><div style="display: inline; font-style: italic;">&nbsp;</div></td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">&#x2013;</div></td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">&#x2013;</div></td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">714</div></td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">714</div></td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="text-align: left; padding-bottom: 1pt; padding-left: 12pt">Net working capital adjustments (receivable) / payable</td> <td><div style="display: inline; font-style: italic;">&nbsp;</div></td> <td style="border-bottom: Black 1pt solid; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">(152</div></td> <td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">)</td> <td style="border-bottom: Black 1pt solid">&nbsp;</td> <td style="border-bottom: Black 1pt solid; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">(102</div></td> <td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">)</td> <td style="border-bottom: Black 1pt solid">&nbsp;</td> <td style="border-bottom: Black 1pt solid; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">36</div></td> <td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid">&nbsp;</td> <td style="border-bottom: Black 1pt solid; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">(218</div></td> <td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">)</td> </tr> <tr style="vertical-align: bottom; background-color: White"> <td style="padding-bottom: 1pt">&nbsp;</td> <td><div style="display: inline; font-style: italic;">&nbsp;</div></td> <td style="border-bottom: Black 1.5pt solid; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1.5pt solid; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">32,230</div></td> <td style="border-bottom: Black 1.5pt solid; white-space: nowrap; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1.5pt solid">&nbsp;</td> <td style="border-bottom: Black 1.5pt solid; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1.5pt solid; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">26,005</div></td> <td style="border-bottom: Black 1.5pt solid; white-space: nowrap; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1.5pt solid">&nbsp;</td> <td style="border-bottom: Black 1.5pt solid; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1.5pt solid; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">11,729</div></td> <td style="border-bottom: Black 1.5pt solid; white-space: nowrap; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1.5pt solid">&nbsp;</td> <td style="border-bottom: Black 1.5pt solid; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1.5pt solid; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">69,964</div></td> <td style="border-bottom: Black 1.5pt solid; white-space: nowrap; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="text-align: left">Allocated to:</td> <td><div style="display: inline; font-style: italic;">&nbsp;</div></td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right">&nbsp;</td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right">&nbsp;</td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right">&nbsp;</td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right">&nbsp;</td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: White"> <td style="text-align: left; padding-left: 12pt">Current assets, excluding cash acquired</td> <td><div style="display: inline; font-style: italic;">&nbsp;</div></td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">607</div></td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">1,407</div></td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">599</div></td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">2,613</div></td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="text-align: left; padding-left: 12pt">Other long-term assets</td> <td><div style="display: inline; font-style: italic;">&nbsp;</div></td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">&#x2013;</div></td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">501</div></td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">&#x2013;</div></td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">501</div></td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: White"> <td style="text-align: left; padding-left: 12pt">Current liabilities</td> <td><div style="display: inline; font-style: italic;">&nbsp;</div></td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">(266</div></td> <td style="white-space: nowrap; text-align: left">)</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">(81</div></td> <td style="white-space: nowrap; text-align: left">)</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">(559</div></td> <td style="white-space: nowrap; text-align: left">)</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">(906</div></td> <td style="white-space: nowrap; text-align: left">)</td> </tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="text-align: left; padding-left: 12pt">Deferred revenue</td> <td><div style="display: inline; font-style: italic;">&nbsp;</div></td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">(1,024</div></td> <td style="white-space: nowrap; text-align: left">)</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">(70</div></td> <td style="white-space: nowrap; text-align: left">)</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">(574</div></td> <td style="white-space: nowrap; text-align: left">)</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">(1,668</div></td> <td style="white-space: nowrap; text-align: left">)</td> </tr> <tr style="vertical-align: bottom; background-color: White"> <td style="text-align: left; padding-bottom: 1pt; padding-left: 12pt">Deferred income tax liability</td> <td><div style="display: inline; font-style: italic;">&nbsp;</div></td> <td style="border-bottom: Black 1pt solid; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">(4,200</div></td> <td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">)</td> <td style="border-bottom: Black 1pt solid">&nbsp;</td> <td style="border-bottom: Black 1pt solid; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">&#x2013;</div></td> <td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid">&nbsp;</td> <td style="border-bottom: Black 1pt solid; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">(2,077</div></td> <td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">)</td> <td style="border-bottom: Black 1pt solid">&nbsp;</td> <td style="border-bottom: Black 1pt solid; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">(6,277</div></td> <td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">)</td> </tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="text-align: left">Net tangible (liabilities) assets assumed</td> <td><div style="display: inline; font-style: italic;">&nbsp;</div></td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">(4,883</div></td> <td style="white-space: nowrap; text-align: left">)</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">1,757</div></td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">(2,611</div></td> <td style="white-space: nowrap; text-align: left">)</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">(5,737</div></td> <td style="white-space: nowrap; text-align: left">)</td> </tr> <tr style="vertical-align: bottom; background-color: White"> <td style="text-align: left">&nbsp;Finite life intangible assets acquired:</td> <td><div style="display: inline; font-style: italic;">&nbsp;</div></td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right">&nbsp;</td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right">&nbsp;</td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right">&nbsp;</td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right">&nbsp;</td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="text-align: left; padding-left: 13.45pt">Customer agreements and relationships</td> <td><div style="display: inline; font-style: italic;">&nbsp;</div></td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">5,300</div></td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">7,800</div></td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">7,758</div></td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">20,858</div></td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: White"> <td style="text-align: left; padding-left: 13.45pt">Existing technology</td> <td><div style="display: inline; font-style: italic;">&nbsp;</div></td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">12,400</div></td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">7,600</div></td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">&#x2013;</div></td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">20,000</div></td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="padding-left: 13.45pt">Tradenames</td> <td><div style="display: inline; font-style: italic;">&nbsp;</div></td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">280</div></td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">100</div></td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">207</div></td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">587</div></td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: White"> <td style="text-align: left; padding-left: 13.45pt">Non-compete covenants</td> <td><div style="display: inline; font-style: italic;">&nbsp;</div></td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">230</div></td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">300</div></td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">69</div></td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">599</div></td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="padding-bottom: 1pt">Goodwill</td> <td><div style="display: inline; font-style: italic;">&nbsp;</div></td> <td style="border-bottom: Black 1pt solid; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">18,903</div></td> <td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid">&nbsp;</td> <td style="border-bottom: Black 1pt solid; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">8,448</div></td> <td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid">&nbsp;</td> <td style="border-bottom: Black 1pt solid; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">6,306</div></td> <td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid">&nbsp;</td> <td style="border-bottom: Black 1pt solid; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">33,657</div></td> <td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: White"> <td style="padding-bottom: 1pt">&nbsp;</td> <td><div style="display: inline; font-style: italic;">&nbsp;</div></td> <td style="border-bottom: Black 1.5pt solid; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1.5pt solid; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">32,230</div></td> <td style="border-bottom: Black 1.5pt solid; white-space: nowrap; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1.5pt solid">&nbsp;</td> <td style="border-bottom: Black 1.5pt solid; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1.5pt solid; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">26,005</div></td> <td style="border-bottom: Black 1.5pt solid; white-space: nowrap; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1.5pt solid">&nbsp;</td> <td style="border-bottom: Black 1.5pt solid; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1.5pt solid; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">11,729</div></td> <td style="border-bottom: Black 1.5pt solid; white-space: nowrap; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1.5pt solid">&nbsp;</td> <td style="border-bottom: Black 1.5pt solid; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1.5pt solid; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">69,964</div></td> <td style="border-bottom: Black 1.5pt solid; white-space: nowrap; text-align: left">&nbsp;</td> </tr> </table></div><div style="display: inline; font-family: times new roman; font-size: 10pt"><table cellpadding="0" cellspacing="0" style="border-collapse: collapse; font: 10pt Times New Roman, Times, Serif; min-; min-width: 700px;"> <tr style="vertical-align: bottom; background-color: White"> <td style="padding-bottom: 1pt">&nbsp;</td> <td style="font-weight: bold">&nbsp;</td> <td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: right"><div style="display: inline; font-weight: bold;">ShipRush</div></td> <td style="white-space: nowrap; border-bottom: Black 1pt solid; font-weight: bold; text-align: left">&nbsp;</td> <td style="font-weight: bold; border-bottom: Black 1pt solid">&nbsp;</td> <td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: right"><div style="display: inline; font-family: Times New Roman, Times, Serif; font-size: 10pt"><div style="display: inline; font-weight: bold;">PCSTrac</div></div></td> <td style="white-space: nowrap; border-bottom: Black 1pt solid; font-weight: bold; text-align: left">&nbsp;</td> <td style="font-weight: bold; border-bottom: Black 1pt solid">&nbsp;</td> <td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: right"><div style="display: inline; font-family: Times New Roman, Times, Serif; font-size: 10pt"><div style="display: inline; font-weight: bold;">MacroPoint</div></div></td> <td style="white-space: nowrap; border-bottom: Black 1pt solid; font-weight: bold; text-align: left">&nbsp;</td> <td style="font-weight: bold; border-bottom: Black 1pt solid">&nbsp;</td> <td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: right"><div style="display: inline; font-family: Times New Roman, Times, Serif; font-size: 10pt"><div style="display: inline; font-weight: bold;">Total</div></div></td> <td style="white-space: nowrap; border-bottom: Black 1pt solid; font-weight: bold; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td>Purchase price consideration:</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right">&nbsp;</td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right">&nbsp;</td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right">&nbsp;</td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right">&nbsp;</td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: White"> <td style="width: 52%; text-align: left; padding-left: 12pt">Cash, less cash acquired related to ShipRush ($253), PCSTrac (nil) and MacroPoint ($2,098)</td> <td style="width: 1%">&nbsp;</td> <td style="width: 1%; text-align: left">&nbsp;</td> <td style="width: 9%; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">14,198</div></td> <td style="white-space: nowrap; width: 1%; text-align: left">&nbsp;</td> <td style="width: 1%">&nbsp;</td> <td style="width: 1%; text-align: left">&nbsp;</td> <td style="width: 9%; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">11,492</div></td> <td style="white-space: nowrap; width: 1%; text-align: left">&nbsp;</td> <td style="width: 1%">&nbsp;</td> <td style="width: 1%; text-align: left">&nbsp;</td> <td style="width: 9%; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">86,177</div></td> <td style="white-space: nowrap; width: 1%; text-align: left">&nbsp;</td> <td style="width: 1%">&nbsp;</td> <td style="width: 1%; text-align: left">&nbsp;</td> <td style="width: 9%; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">111,867</div></td> <td style="white-space: nowrap; width: 1%; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="padding-left: 12pt">Common shares issued</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">&#x2013;</div></td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">&#x2013;</div></td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">20,000</div></td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">20,000</div></td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: White"> <td style="text-align: left; padding-left: 12pt">Contingent consideration</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">1,233</div></td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">&#x2013;</div></td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">&#x2013;</div></td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">1,233</div></td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="text-align: left; padding-bottom: 1pt; padding-left: 12pt">Net working capital adjustments payable</td> <td>&nbsp;</td> <td style="border-bottom: Black 1pt solid; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">88</div></td> <td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid">&nbsp;</td> <td style="border-bottom: Black 1pt solid; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">40</div></td> <td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid">&nbsp;</td> <td style="border-bottom: Black 1pt solid; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">163</div></td> <td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid">&nbsp;</td> <td style="border-bottom: Black 1pt solid; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">291</div></td> <td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: White"> <td style="padding-bottom: 1pt">&nbsp;</td> <td>&nbsp;</td> <td style="border-bottom: Black 1.5pt solid; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1.5pt solid; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">15,519</div></td> <td style="border-bottom: Black 1.5pt solid; white-space: nowrap; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1.5pt solid">&nbsp;</td> <td style="border-bottom: Black 1.5pt solid; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1.5pt solid; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">11,532</div></td> <td style="border-bottom: Black 1.5pt solid; white-space: nowrap; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1.5pt solid">&nbsp;</td> <td style="border-bottom: Black 1.5pt solid; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1.5pt solid; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">106,340</div></td> <td style="border-bottom: Black 1.5pt solid; white-space: nowrap; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1.5pt solid">&nbsp;</td> <td style="border-bottom: Black 1.5pt solid; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1.5pt solid; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">133,391</div></td> <td style="border-bottom: Black 1.5pt solid; white-space: nowrap; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="text-align: left">Allocated to:</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right">&nbsp;</td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right">&nbsp;</td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right">&nbsp;</td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right">&nbsp;</td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: White"> <td style="text-align: left; padding-left: 12pt">Current assets, excluding cash acquired</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">461</div></td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">467</div></td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">2,127</div></td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">3,055</div></td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="text-align: left; padding-left: 12pt">Current liabilities</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">(266</div></td> <td style="white-space: nowrap; text-align: left">)</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">(10</div></td> <td style="white-space: nowrap; text-align: left">)</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">(1,693</div></td> <td style="white-space: nowrap; text-align: left">)</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">(1,969</div></td> <td style="white-space: nowrap; text-align: left">)</td> </tr> <tr style="vertical-align: bottom; background-color: White"> <td style="text-align: left; padding-bottom: 1pt; padding-left: 12pt">Deferred revenue</td> <td>&nbsp;</td> <td style="border-bottom: Black 1pt solid; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">(609</div></td> <td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">)</td> <td style="border-bottom: Black 1pt solid">&nbsp;</td> <td style="border-bottom: Black 1pt solid; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">&#x2013;</div></td> <td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid">&nbsp;</td> <td style="border-bottom: Black 1pt solid; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">(5,787</div></td> <td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">)</td> <td style="border-bottom: Black 1pt solid">&nbsp;</td> <td style="border-bottom: Black 1pt solid; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">(6,396</div></td> <td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">)</td> </tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="text-align: left">Net tangible (liabilities) assets assumed</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">(414</div></td> <td style="white-space: nowrap; text-align: left">)</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">457</div></td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">(5,353</div></td> <td style="white-space: nowrap; text-align: left">)</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">(5,310</div></td> <td style="white-space: nowrap; text-align: left">)</td> </tr> <tr style="vertical-align: bottom; background-color: White"> <td style="text-align: left">&nbsp;Finite life intangible assets acquired:</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right">&nbsp;</td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right">&nbsp;</td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right">&nbsp;</td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right">&nbsp;</td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="text-align: left; padding-left: 13.45pt">Customer agreements and relationships</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">2,400</div></td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">1,850</div></td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">26,030</div></td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">30,280</div></td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: White"> <td style="text-align: left; padding-left: 13.45pt">Existing technology</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">4,710</div></td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">3,270</div></td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">17,170</div></td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">25,150</div></td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="text-align: left; padding-left: 13.45pt">In-process research and development</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">&#x2013;</div></td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">&#x2013;</div></td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">290</div></td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">290</div></td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: White"> <td style="padding-left: 13.45pt">Tradenames</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">120</div></td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">60</div></td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">570</div></td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">750</div></td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="text-align: left; padding-left: 13.45pt">Non-compete covenants</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">100</div></td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">80</div></td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">2,420</div></td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">2,600</div></td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: White"> <td style="padding-bottom: 1pt">Goodwill</td> <td>&nbsp;</td> <td style="border-bottom: Black 1pt solid; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">8,603</div></td> <td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid">&nbsp;</td> <td style="border-bottom: Black 1pt solid; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">5,815</div></td> <td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid">&nbsp;</td> <td style="border-bottom: Black 1pt solid; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">65,213</div></td> <td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid">&nbsp;</td> <td style="border-bottom: Black 1pt solid; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">79,631</div></td> <td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="padding-bottom: 1pt">&nbsp;</td> <td>&nbsp;</td> <td style="border-bottom: Black 1.5pt solid; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1.5pt solid; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">15,519</div></td> <td style="border-bottom: Black 1.5pt solid; white-space: nowrap; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1.5pt solid">&nbsp;</td> <td style="border-bottom: Black 1.5pt solid; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1.5pt solid; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">11,532</div></td> <td style="border-bottom: Black 1.5pt solid; white-space: nowrap; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1.5pt solid">&nbsp;</td> <td style="border-bottom: Black 1.5pt solid; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1.5pt solid; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">106,340</div></td> <td style="border-bottom: Black 1.5pt solid; white-space: nowrap; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1.5pt solid">&nbsp;</td> <td style="border-bottom: Black 1.5pt solid; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1.5pt solid; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">133,391</div></td> <td style="border-bottom: Black 1.5pt solid; white-space: nowrap; text-align: left">&nbsp;</td> </tr> </table></div><span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ScheduleOfAcquiredFiniteLivedIntangibleAssetsByMajorClassTextBlock', window );">Schedule of Acquired Finite-Lived Intangible Assets by Major Class [Table Text Block]</a></td>
<td class="text"><div style="display: inline; font-family: times new roman; font-size: 10pt"><table cellpadding="0" cellspacing="0" style="border-collapse: collapse; font: 10pt Times New Roman, Times, Serif; min-; min-width: 700px;"> <tr style="vertical-align: bottom"> <td style="padding-bottom: 1pt">&nbsp;</td> <td style="font-weight: bold">&nbsp;</td> <td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: right"><div style="display: inline; font-weight: bold;">&nbsp;</div><div style="display: inline; font-weight: bold;">Visual <br /> Compliance <br /> (in years)</div></td> <td style="white-space: nowrap; border-bottom: Black 1pt solid; font-weight: bold; text-align: left">&nbsp;</td> <td style="font-weight: bold; border-bottom: Black 1pt solid">&nbsp;</td> <td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: right"><div style="display: inline; font-weight: bold;">&nbsp;</div><div style="display: inline; font-weight: bold;">&nbsp;</div><div style="display: inline; font-weight: bold;">CORE <br /> (in years)</div></td> <td style="white-space: nowrap; border-bottom: Black 1pt solid; font-weight: bold; text-align: left">&nbsp;</td> <td style="font-weight: bold; border-bottom: Black 1pt solid">&nbsp;</td> <td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: right"><div style="display: inline; font-weight: bold;">&nbsp;</div><div style="display: inline; font-weight: bold;">&nbsp;</div><div style="display: inline; font-weight: bold;">STEPcom<br /> (in years)</div></td> <td style="white-space: nowrap; border-bottom: Black 1pt solid; font-weight: bold; text-align: left">&nbsp;</td> <td style="font-weight: bold; border-bottom: Black 1pt solid">&nbsp;</td> <td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: right"><div style="display: inline; font-weight: bold;">&nbsp;</div><div style="display: inline; font-weight: bold;">Best <br /> Transport <br /> (in years)</div></td> <td style="white-space: nowrap; border-bottom: Black 1pt solid; font-weight: bold; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="width: 52%; text-align: left">&nbsp;&nbsp;Customer agreements and relationships</td> <td style="width: 1%">&nbsp;</td> <td style="width: 1%; text-align: left">&nbsp;</td> <td style="width: 9%; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">14</div></td> <td style="white-space: nowrap; width: 1%; text-align: left">&nbsp;</td> <td style="width: 1%">&nbsp;</td> <td style="width: 1%; text-align: left">&nbsp;</td> <td style="width: 9%; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">13</div></td> <td style="white-space: nowrap; width: 1%; text-align: left">&nbsp;</td> <td style="width: 1%">&nbsp;</td> <td style="width: 1%; text-align: left">&nbsp;</td> <td style="width: 9%; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">9</div></td> <td style="white-space: nowrap; width: 1%; text-align: left">&nbsp;</td> <td style="width: 1%">&nbsp;</td> <td style="width: 1%; text-align: left">&nbsp;</td> <td style="width: 9%; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">12</div></td> <td style="white-space: nowrap; width: 1%; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: White"> <td style="text-align: left">&nbsp;&nbsp;Existing technology</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">7</div></td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">6</div></td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right"><div style="display: inline; font-family: Times New Roman, Times, Serif; font-size: 10pt"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">N/A</div></div></td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">6</div></td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="text-align: left">&nbsp;&nbsp;Trade names</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">5</div></td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">8</div></td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">3</div></td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">3</div></td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: White"> <td style="text-align: left">&nbsp;&nbsp;Non-compete covenants</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">5</div></td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">5</div></td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">3</div></td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">2</div></td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> </tr> </table></div><div style="display: inline; font-family: times new roman; font-size: 10pt"><table cellpadding="0" cellspacing="0" style="border-collapse: collapse; font: 10pt Times New Roman, Times, Serif; min-; min-width: 700px;"> <tr style="vertical-align: bottom; background-color: White"> <td style="padding-bottom: 1pt">&nbsp;</td> <td>&nbsp;</td> <td style="border-bottom: Black 1pt solid; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid; text-align: right"><div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: right"><div style="display: inline; font-weight: bold;">Aljex <br /> (in years)</div></div></td> <td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&nbsp;</td> <td style="font-weight: bold; border-bottom: Black 1pt solid">&nbsp;</td> <td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: right"><div style="display: inline; font-family: Times New Roman, Times, Serif; font-size: 10pt"><div style="display: inline; font-weight: bold;">Velocity Mail <br /> (in years)</div></div></td> <td style="white-space: nowrap; border-bottom: Black 1pt solid; font-weight: bold; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid">&nbsp;</td> <td style="border-bottom: Black 1pt solid; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid; text-align: right"><div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: right"><div style="display: inline; font-weight: bold;">PinPoint <br /> (in years)</div></div></td> <td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="width: 55%; text-align: left">&nbsp;&nbsp;Customer agreements and relationships</td> <td style="width: 2%">&nbsp;</td> <td style="width: 1%; text-align: left">&nbsp;</td> <td style="width: 11%; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">13</div></td> <td style="white-space: nowrap; width: 1%; text-align: left">&nbsp;</td> <td style="width: 2%">&nbsp;</td> <td style="width: 1%; text-align: left">&nbsp;</td> <td style="width: 11%; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">12</div></td> <td style="white-space: nowrap; width: 1%; text-align: left">&nbsp;</td> <td style="width: 2%">&nbsp;</td> <td style="width: 1%; text-align: left">&nbsp;</td> <td style="width: 11%; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">9</div></td> <td style="white-space: nowrap; width: 1%; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: White"> <td style="text-align: left">&nbsp;&nbsp;Existing technology</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">5</div></td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">5</div></td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right"><div style="display: inline; font-family: Times New Roman, Times, Serif; font-size: 10pt"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">N/A</div></div></td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="text-align: left">&nbsp;&nbsp;Trade names</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">8</div></td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">4</div></td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">8</div></td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: White"> <td style="text-align: left">&nbsp;&nbsp;Non-compete covenants</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">5</div></td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">5</div></td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">5</div></td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> </tr> </table></div><div style="display: inline; font-family: times new roman; font-size: 10pt"><table cellpadding="0" cellspacing="0" style="border-collapse: collapse; font: 10pt Times New Roman, Times, Serif; min-; min-width: 700px;"> <tr style="vertical-align: bottom; background-color: White"> <td style="padding-bottom: 1pt">&nbsp;</td> <td style="font-weight: bold">&nbsp;</td> <td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: right"><div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: right"><div style="display: inline; font-weight: bold;">ShipRush <br /> (in years)</div></div></td> <td style="white-space: nowrap; border-bottom: Black 1pt solid; font-weight: bold; text-align: left">&nbsp;</td> <td style="font-weight: bold; border-bottom: Black 1pt solid">&nbsp;</td> <td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: right"><div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: right"><div style="display: inline; font-weight: bold;">PCSTrac <br /> (in years)</div></div></td> <td style="white-space: nowrap; border-bottom: Black 1pt solid; font-weight: bold; text-align: left">&nbsp;</td> <td style="font-weight: bold; border-bottom: Black 1pt solid">&nbsp;</td> <td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: right"><div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: right"><div style="display: inline; font-weight: bold;">MacroPoint <br /> (in years)</div></div></td> <td style="white-space: nowrap; border-bottom: Black 1pt solid; font-weight: bold; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="width: 55%; text-align: left">&nbsp;&nbsp;Customer agreements and relationships</td> <td style="width: 2%">&nbsp;</td> <td style="width: 1%; text-align: left">&nbsp;</td> <td style="width: 11%; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">9</div></td> <td style="white-space: nowrap; width: 1%; text-align: left">&nbsp;</td> <td style="width: 2%">&nbsp;</td> <td style="width: 1%; text-align: left">&nbsp;</td> <td style="width: 11%; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">13</div></td> <td style="white-space: nowrap; width: 1%; text-align: left">&nbsp;</td> <td style="width: 2%">&nbsp;</td> <td style="width: 1%; text-align: left">&nbsp;</td> <td style="width: 11%; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">12</div></td> <td style="white-space: nowrap; width: 1%; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: White"> <td style="text-align: left">&nbsp;&nbsp;Existing technology</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">5</div></td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">5</div></td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">5</div></td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="text-align: left">&nbsp;&nbsp;Trade names</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">8</div></td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">4</div></td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">8</div></td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: White"> <td style="text-align: left">&nbsp;&nbsp;Non-compete covenants</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">5</div></td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">5</div></td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">5</div></td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> </tr> </table></div><span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessAcquisitionProFormaInformationTextBlock', window );">Business Acquisition, Pro Forma Information [Table Text Block]</a></td>
<td class="text"><div style="display: inline; font-family: times new roman; font-size: 10pt"><table cellpadding="0" cellspacing="0" style="border-collapse: collapse; font: 10pt Times New Roman, Times, Serif; min-; min-width: 700px;"> <tr style="vertical-align: bottom; background-color: White"> <td style="font-style: italic">Year Ended</td> <td style="font-weight: bold">&nbsp;</td> <td style="border-top: Black 1pt solid; font-weight: bold; text-align: left">&nbsp;</td> <td style="border-top: Black 1pt solid; font-weight: bold; text-align: right"><div style="display: inline; font-family: Times New Roman, Times, Serif; font-size: 10pt"><div style="display: inline; font-weight: bold;">January 31,</div></div></td> <td style="border-top: Black 1pt solid; white-space: nowrap; font-weight: bold; text-align: left">&nbsp;</td> <td style="border-top: Black 1pt solid">&nbsp;</td> <td style="border-top: Black 1pt solid; text-align: left">&nbsp;</td> <td style="border-top: Black 1pt solid; text-align: right"><div style="display: inline; font-family: Times New Roman, Times, Serif; font-size: 10pt">January 31,</div></td> <td style="border-top: Black 1pt solid; white-space: nowrap; text-align: left">&nbsp;</td> <td style="border-top: Black 1pt solid">&nbsp;</td> <td style="border-top: Black 1pt solid; text-align: left">&nbsp;</td> <td style="border-top: Black 1pt solid; text-align: right"><div style="display: inline; font-family: Times New Roman, Times, Serif; font-size: 10pt">January 31,</div></td> <td style="border-top: Black 1pt solid; white-space: nowrap; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: White"> <td style="text-align: right; padding-bottom: 1pt">&nbsp;</td> <td style="font-weight: bold">&nbsp;</td> <td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: right">2020</td> <td style="white-space: nowrap; border-bottom: Black 1pt solid; font-weight: bold; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid">&nbsp;</td> <td style="border-bottom: Black 1pt solid; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid; text-align: right">2019</td> <td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid">&nbsp;</td> <td style="border-bottom: Black 1pt solid; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid; text-align: right">2018</td> <td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="width: 55%; font-weight: normal">Revenues</td> <td style="width: 2%; font-weight: bold">&nbsp;</td> <td style="width: 1%; font-weight: bold; text-align: left">&nbsp;</td> <td style="width: 11%; font-weight: bold; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">333,323</div></td> <td style="white-space: nowrap; width: 1%; font-weight: bold; text-align: left">&nbsp;</td> <td style="width: 2%">&nbsp;</td> <td style="width: 1%; text-align: left">&nbsp;</td> <td style="width: 11%; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">322,649</div></td> <td style="white-space: nowrap; width: 1%; text-align: left">&nbsp;</td> <td style="width: 2%">&nbsp;</td> <td style="width: 1%; text-align: left">&nbsp;</td> <td style="width: 11%; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">313,759</div></td> <td style="white-space: nowrap; width: 1%; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: White"> <td style="font-weight: normal; text-align: left">Net income</td> <td style="font-weight: bold">&nbsp;</td> <td style="font-weight: bold; text-align: left">&nbsp;</td> <td style="font-weight: bold; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">37,540</div></td> <td style="white-space: nowrap; font-weight: bold; text-align: left">&nbsp;</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">31,609</div></td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">25,312</div></td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="font-weight: normal">Earnings per share</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right">&nbsp;</td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right">&nbsp;</td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right">&nbsp;</td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: White"> <td style="padding-left: 12pt">Basic</td> <td style="font-weight: bold">&nbsp;</td> <td style="font-weight: bold; text-align: left">&nbsp;</td> <td style="font-weight: bold; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">0.46</div></td> <td style="white-space: nowrap; font-weight: bold; text-align: left">&nbsp;</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">0.41</div></td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">0.33</div></td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="padding-left: 12pt">Diluted</td> <td style="font-weight: bold">&nbsp;</td> <td style="font-weight: bold; text-align: left">&nbsp;</td> <td style="font-weight: bold; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">0.45</div></td> <td style="white-space: nowrap; font-weight: bold; text-align: left">&nbsp;</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">0.41</div></td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">0.33</div></td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> </tr> </table></div><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_BusinessAcquisitionProFormaInformationTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of pro forma results of operations for a material business acquisition or series of individually immaterial business acquisitions that are material in the aggregate.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 805<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (h)(2)<br> -URI http://asc.fasb.org/extlink&amp;oid=79982066&amp;loc=d3e1392-128463<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 805<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (h)(3)<br> -URI http://asc.fasb.org/extlink&amp;oid=79982066&amp;loc=d3e1392-128463<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_BusinessAcquisitionProFormaInformationTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>nonnum:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ScheduleOfAcquiredFiniteLivedIntangibleAssetsByMajorClassTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of the characteristics, including initial carrying value, residual amount, weighted average useful life, of finite-lived intangible assets acquired during the period by major class. A major class is composed of intangible assets that can be grouped together because they are similar, either by nature or by their use in the operations of the company.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 30<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=66006027&amp;loc=d3e16265-109275<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ScheduleOfAcquiredFiniteLivedIntangibleAssetsByMajorClassTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>nonnum:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of a material business combination completed during the period, including background, timing, and recognized assets and liabilities. This table  does not include leveraged buyouts.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 805<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -URI http://asc.fasb.org/extlink&amp;oid=79982066&amp;loc=d3e1486-128463<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 805<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -URI http://asc.fasb.org/extlink&amp;oid=79982066&amp;loc=d3e1392-128463<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>nonnum:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_TableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_TableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>86
<FILENAME>R101.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.20.1</span><table class="report" border="0" cellspacing="2" id="idp6902049184">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Note 22 - Segmented Information (Details Textual)<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Jan. 31, 2020</div></th></tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_NumberOfReportableSegments', window );">Number of Reportable Segments</a></td>
<td class="nump">1<span></span>
</td>
</tr>
</table>
<div style="display: none;"><table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_NumberOfReportableSegments">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Number of segments reported by the entity. A reportable segment is a component of an entity for which there is an accounting requirement to report separate financial information on that component in the entity's financial statements.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_NumberOfReportableSegments</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:integerItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table></div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>87
<FILENAME>R52.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.20.1</span><table class="report" border="0" cellspacing="2" id="idp6921572128">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Note 3 - Acquisitions (Details Textual)<br> shares in Thousands, $ in Thousands, $ in Millions</strong></div></th>
<th class="th" colspan="1"></th>
<th class="th" colspan="1"></th>
<th class="th" colspan="1"></th>
<th class="th" colspan="1"></th>
<th class="th" colspan="2"></th>
<th class="th" colspan="1"></th>
<th class="th" colspan="1"></th>
<th class="th" colspan="1"></th>
<th class="th" colspan="1"></th>
<th class="th" colspan="1"></th>
<th class="th" colspan="4">12 Months Ended</th>
<th class="th" colspan="1"></th>
</tr>
<tr>
<th class="th">
<div>Aug. 20, 2019 </div>
<div>USD ($)</div>
</th>
<th class="th">
<div>Jun. 27, 2019 </div>
<div>USD ($)</div>
</th>
<th class="th">
<div>May 10, 2019 </div>
<div>USD ($)</div>
</th>
<th class="th">
<div>Feb. 12, 2019 </div>
<div>USD ($) </div>
<div>shares</div>
</th>
<th class="th">
<div>Aug. 21, 2018 </div>
<div>USD ($) </div>
<div>shares</div>
</th>
<th class="th">
<div>Aug. 21, 2018 </div>
<div>CAD ($) </div>
<div>shares</div>
</th>
<th class="th">
<div>Jun. 22, 2018 </div>
<div>USD ($)</div>
</th>
<th class="th">
<div>Feb. 02, 2018 </div>
<div>USD ($)</div>
</th>
<th class="th">
<div>Aug. 14, 2017 </div>
<div>USD ($)</div>
</th>
<th class="th">
<div>Jun. 01, 2017 </div>
<div>USD ($)</div>
</th>
<th class="th">
<div>May 18, 2017 </div>
<div>USD ($)</div>
</th>
<th class="th">
<div>Feb. 01, 2020 </div>
<div>USD ($)</div>
</th>
<th class="th">
<div>Jan. 31, 2020 </div>
<div>USD ($) </div>
<div>shares</div>
</th>
<th class="th">
<div>Jan. 31, 2019 </div>
<div>USD ($) </div>
<div>shares</div>
</th>
<th class="th">
<div>Jan. 31, 2018 </div>
<div>USD ($) </div>
<div>shares</div>
</th>
<th class="th">
<div>Aug. 21, 2018 </div>
<div>CAD ($)</div>
</th>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_PaymentsToAcquireBusinessesNetOfCashAcquired', window );">Payments to Acquire Businesses, Net of Cash Acquired, Total</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 292,053<span></span>
</td>
<td class="nump">$ 67,932<span></span>
</td>
<td class="nump">$ 111,867<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessAcquisitionEquityInterestsIssuedOrIssuableNumberOfSharesIssued', window );">Business Acquisition, Equity Interest Issued or Issuable, Number of Shares | shares</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">296<span></span>
</td>
<td class="nump">46<span></span>
</td>
<td class="nump">757<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessCombinationAcquisitionRelatedCosts', window );">Business Combination, Acquisition Related Costs</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 3,797<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 3,778<span></span>
</td>
<td class="nump">$ 3,471<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessAcquisitionAxis=dsgx_VisualComplianceMember', window );">Visual Compliance [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_PaymentsToAcquireBusinessesNetOfCashAcquired', window );">Payments to Acquire Businesses, Net of Cash Acquired, Total</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 248,900<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 239,863<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessAcquisitionEquityInterestsIssuedOrIssuableNumberOfSharesIssued', window );">Business Acquisition, Equity Interest Issued or Issuable, Number of Shares | shares</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">300<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessCombinationAcquiredReceivablesGrossContractualAmount', window );">Business Combination, Acquired Receivables, Gross Contractual Amount</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 6,400<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessCombinationAcquiredReceivablesFairValue', window );">Business Combination, Acquired Receivable, Fair Value</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">5,200<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessCombinationAcquiredReceivablesEstimatedUncollectible', window );">Business Combination, Acquired Receivables, Estimated Uncollectible</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 1,200<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessCombinationConsiderationTransferred1', window );">Business Combination, Consideration Transferred, Total</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">250,055<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessCombinationConsiderationTransferredEquityInterestsIssuedAndIssuable', window );">Business Combination, Consideration Transferred, Equity Interests Issued and Issuable</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">9,045<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessCombinationConsiderationTransferredLiabilitiesIncurred', window );">Business Combination, Consideration Transferred, Liabilities Incurred</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text"> <span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessAcquisitionAxis=dsgx_CoreTransportTechnologiesNzLimitedMember', window );">Core Transport Technologies NZ Limited [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_PaymentsToAcquireBusinessesNetOfCashAcquired', window );">Payments to Acquire Businesses, Net of Cash Acquired, Total</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 21,800<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">21,833<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessCombinationAcquiredReceivablesGrossContractualAmount', window );">Business Combination, Acquired Receivables, Gross Contractual Amount</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">400<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessCombinationAcquiredReceivablesFairValue', window );">Business Combination, Acquired Receivable, Fair Value</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">400<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessCombinationContingentConsiderationArrangementsRangeOfOutcomesValueHigh', window );">Business Combination, Contingent Consideration Arrangements, Range of Outcomes, Value, High</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 9,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_dsgx_BusinessCombinationContingentConsiderationArrangementsPeriodForRevenuePerformanceTargets', window );">Business Combination, Contingent Consideration Arrangements, Period for Revenue Performance Targets</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">2 years<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessCombinationContingentConsiderationLiability', window );">Business Combination, Contingent Consideration, Liability, Total</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 1,500<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessCombinationConsiderationTransferred1', window );">Business Combination, Consideration Transferred, Total</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">23,345<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessCombinationConsiderationTransferredEquityInterestsIssuedAndIssuable', window );">Business Combination, Consideration Transferred, Equity Interests Issued and Issuable</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text"> <span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessCombinationConsiderationTransferredLiabilitiesIncurred', window );">Business Combination, Consideration Transferred, Liabilities Incurred</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">1,450<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessAcquisitionAxis=dsgx_StepcomMember', window );">STEPcom [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_PaymentsToAcquireBusinessesNetOfCashAcquired', window );">Payments to Acquire Businesses, Net of Cash Acquired, Total</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 18,600<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">18,639<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessCombinationAcquiredReceivablesGrossContractualAmount', window );">Business Combination, Acquired Receivables, Gross Contractual Amount</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">900<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessCombinationAcquiredReceivablesFairValue', window );">Business Combination, Acquired Receivable, Fair Value</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">800<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessCombinationAcquiredReceivablesEstimatedUncollectible', window );">Business Combination, Acquired Receivables, Estimated Uncollectible</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 100<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessCombinationConsiderationTransferred1', window );">Business Combination, Consideration Transferred, Total</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">18,889<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessCombinationConsiderationTransferredEquityInterestsIssuedAndIssuable', window );">Business Combination, Consideration Transferred, Equity Interests Issued and Issuable</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text"> <span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessCombinationConsiderationTransferredLiabilitiesIncurred', window );">Business Combination, Consideration Transferred, Liabilities Incurred</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text"> <span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessAcquisitionAxis=dsgx_BesttransportMember', window );">BestTransport [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_PaymentsToAcquireBusinessesNetOfCashAcquired', window );">Payments to Acquire Businesses, Net of Cash Acquired, Total</a></td>
<td class="nump">$ 11,700<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">11,718<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessCombinationAcquiredReceivablesGrossContractualAmount', window );">Business Combination, Acquired Receivables, Gross Contractual Amount</a></td>
<td class="nump">600<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessCombinationAcquiredReceivablesFairValue', window );">Business Combination, Acquired Receivable, Fair Value</a></td>
<td class="nump">$ 600<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessCombinationConsiderationTransferred1', window );">Business Combination, Consideration Transferred, Total</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">11,718<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessCombinationConsiderationTransferredEquityInterestsIssuedAndIssuable', window );">Business Combination, Consideration Transferred, Equity Interests Issued and Issuable</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text"> <span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessCombinationConsiderationTransferredLiabilitiesIncurred', window );">Business Combination, Consideration Transferred, Liabilities Incurred</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text"> <span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessAcquisitionAxis=dsgx_The2020AcquisitionsMember', window );">The 2020 Acquisitions [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_PaymentsToAcquireBusinessesNetOfCashAcquired', window );">Payments to Acquire Businesses, Net of Cash Acquired, Total</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">292,053<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessCombinationAcquisitionRelatedCosts', window );">Business Combination, Acquisition Related Costs</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">2,200<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessCombinationProFormaInformationRevenueOfAcquireeSinceAcquisitionDateActual', window );">Business Combination, Pro Forma Information, Revenue of Acquiree since Acquisition Date, Actual</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">33,800<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessCombinationProFormaInformationEarningsOrLossOfAcquireeSinceAcquisitionDateActual', window );">Business Combination, Pro Forma Information, Earnings or Loss of Acquiree since Acquisition Date, Actual</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">6,400<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessCombinationConsiderationTransferred1', window );">Business Combination, Consideration Transferred, Total</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">304,007<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessCombinationConsiderationTransferredEquityInterestsIssuedAndIssuable', window );">Business Combination, Consideration Transferred, Equity Interests Issued and Issuable</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">9,045<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessCombinationConsiderationTransferredLiabilitiesIncurred', window );">Business Combination, Consideration Transferred, Liabilities Incurred</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 1,450<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessAcquisitionAxis=dsgx_AljexSoftwareIncMember', window );">Aljex Software, Inc. [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_PaymentsToAcquireBusinessesNetOfCashAcquired', window );">Payments to Acquire Businesses, Net of Cash Acquired, Total</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 32,400<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">32,382<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessCombinationAcquiredReceivablesGrossContractualAmount', window );">Business Combination, Acquired Receivables, Gross Contractual Amount</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">200<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessCombinationAcquiredReceivablesFairValue', window );">Business Combination, Acquired Receivable, Fair Value</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 200<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessCombinationConsiderationTransferred1', window );">Business Combination, Consideration Transferred, Total</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">32,230<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessCombinationConsiderationTransferredEquityInterestsIssuedAndIssuable', window );">Business Combination, Consideration Transferred, Equity Interests Issued and Issuable</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text"> <span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessCombinationConsiderationTransferredLiabilitiesIncurred', window );">Business Combination, Consideration Transferred, Liabilities Incurred</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text"> <span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessAcquisitionAxis=dsgx_VelocityMailMember', window );">Velocity Mail [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_PaymentsToAcquireBusinessesNetOfCashAcquired', window );">Payments to Acquire Businesses, Net of Cash Acquired, Total</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 26,100<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">26,107<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessCombinationAcquiredReceivablesGrossContractualAmount', window );">Business Combination, Acquired Receivables, Gross Contractual Amount</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">1,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessCombinationAcquiredReceivablesFairValue', window );">Business Combination, Acquired Receivable, Fair Value</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 1,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessCombinationConsiderationTransferred1', window );">Business Combination, Consideration Transferred, Total</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">26,005<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessCombinationConsiderationTransferredEquityInterestsIssuedAndIssuable', window );">Business Combination, Consideration Transferred, Equity Interests Issued and Issuable</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text"> <span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessCombinationConsiderationTransferredLiabilitiesIncurred', window );">Business Combination, Consideration Transferred, Liabilities Incurred</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text"> <span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessAcquisitionAxis=dsgx_PinPointMember', window );">PinPoint [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_PaymentsToAcquireBusinessesNetOfCashAcquired', window );">Payments to Acquire Businesses, Net of Cash Acquired, Total</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">9,443<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessAcquisitionEquityInterestsIssuedOrIssuableNumberOfSharesIssued', window );">Business Acquisition, Equity Interest Issued or Issuable, Number of Shares | shares</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">100<span></span>
</td>
<td class="nump">100<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessCombinationAcquiredReceivablesGrossContractualAmount', window );">Business Combination, Acquired Receivables, Gross Contractual Amount</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 500<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessCombinationAcquiredReceivablesFairValue', window );">Business Combination, Acquired Receivable, Fair Value</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">500<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessCombinationContingentConsiderationArrangementsRangeOfOutcomesValueHigh', window );">Business Combination, Contingent Consideration Arrangements, Range of Outcomes, Value, High</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 2,300<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 3.0<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_dsgx_BusinessCombinationContingentConsiderationArrangementsPeriodForRevenuePerformanceTargets', window );">Business Combination, Contingent Consideration Arrangements, Period for Revenue Performance Targets</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">2 years<span></span>
</td>
<td class="text">2 years<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessCombinationContingentConsiderationLiability', window );">Business Combination, Contingent Consideration, Liability, Total</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 700<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessCombinationConsiderationTransferred1', window );">Business Combination, Consideration Transferred, Total</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 11,000<span></span>
</td>
<td class="nump">$ 14.4<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">11,729<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessCombinationConsiderationTransferredEquityInterestsIssuedAndIssuable', window );">Business Combination, Consideration Transferred, Equity Interests Issued and Issuable</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">1,536<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessCombinationConsiderationTransferredLiabilitiesIncurred', window );">Business Combination, Consideration Transferred, Liabilities Incurred</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 714<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessAcquisitionAxis=dsgx_MacroPointLLCMember', window );">MacroPoint LLC [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_PaymentsToAcquireBusinessesNetOfCashAcquired', window );">Payments to Acquire Businesses, Net of Cash Acquired, Total</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">86,177<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessCombinationAcquiredReceivablesGrossContractualAmount', window );">Business Combination, Acquired Receivables, Gross Contractual Amount</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 2,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessCombinationAcquiredReceivablesFairValue', window );">Business Combination, Acquired Receivable, Fair Value</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">2,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessCombinationConsiderationTransferred1', window );">Business Combination, Consideration Transferred, Total</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">106,200<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">106,340<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessCombinationConsiderationTransferredEquityInterestsIssuedAndIssuable', window );">Business Combination, Consideration Transferred, Equity Interests Issued and Issuable</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">20,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">20,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessCombinationConsiderationTransferredLiabilitiesIncurred', window );">Business Combination, Consideration Transferred, Liabilities Incurred</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 80,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessAcquisitionAxis=dsgx_PCSTracIncMember', window );">PCSTrac, Inc. [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_PaymentsToAcquireBusinessesNetOfCashAcquired', window );">Payments to Acquire Businesses, Net of Cash Acquired, Total</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 11,500<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">11,492<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessCombinationAcquiredReceivablesGrossContractualAmount', window );">Business Combination, Acquired Receivables, Gross Contractual Amount</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">400<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessCombinationAcquiredReceivablesFairValue', window );">Business Combination, Acquired Receivable, Fair Value</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 400<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessCombinationConsiderationTransferred1', window );">Business Combination, Consideration Transferred, Total</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">11,532<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessCombinationConsiderationTransferredEquityInterestsIssuedAndIssuable', window );">Business Combination, Consideration Transferred, Equity Interests Issued and Issuable</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text"> <span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessCombinationConsiderationTransferredLiabilitiesIncurred', window );">Business Combination, Consideration Transferred, Liabilities Incurred</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text"> <span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessAcquisitionAxis=dsgx_ShipRushMember', window );">ShipRush [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_PaymentsToAcquireBusinessesNetOfCashAcquired', window );">Payments to Acquire Businesses, Net of Cash Acquired, Total</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 14,200<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">14,198<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessCombinationAcquiredReceivablesGrossContractualAmount', window );">Business Combination, Acquired Receivables, Gross Contractual Amount</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">400<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessCombinationAcquiredReceivablesFairValue', window );">Business Combination, Acquired Receivable, Fair Value</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">400<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessCombinationContingentConsiderationArrangementsRangeOfOutcomesValueHigh', window );">Business Combination, Contingent Consideration Arrangements, Range of Outcomes, Value, High</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 3,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_dsgx_BusinessCombinationContingentConsiderationArrangementsPeriodForRevenuePerformanceTargets', window );">Business Combination, Contingent Consideration Arrangements, Period for Revenue Performance Targets</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">2 years<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessCombinationContingentConsiderationLiability', window );">Business Combination, Contingent Consideration, Liability, Total</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 1,200<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessCombinationConsiderationTransferred1', window );">Business Combination, Consideration Transferred, Total</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">15,519<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessCombinationConsiderationTransferredEquityInterestsIssuedAndIssuable', window );">Business Combination, Consideration Transferred, Equity Interests Issued and Issuable</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text"> <span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessCombinationConsiderationTransferredLiabilitiesIncurred', window );">Business Combination, Consideration Transferred, Liabilities Incurred</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 1,233<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dsgx_BusinessCombinationContingentConsiderationArrangementsPeriodForRevenuePerformanceTargets">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Represents the period (following acquisition) over which contingent consideration is to be paid by the reporting entity if the acquired entity meets certain performance targets.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dsgx_BusinessCombinationContingentConsiderationArrangementsPeriodForRevenuePerformanceTargets</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dsgx_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:durationItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_BusinessAcquisitionEquityInterestsIssuedOrIssuableNumberOfSharesIssued">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Number of shares of equity interests issued or issuable to acquire entity.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 805<br> -SubTopic 30<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (b)(4)<br> -URI http://asc.fasb.org/extlink&amp;oid=35744584&amp;loc=d3e6927-128479<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_BusinessAcquisitionEquityInterestsIssuedOrIssuableNumberOfSharesIssued</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_BusinessCombinationAcquiredReceivablesEstimatedUncollectible">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>For receivables acquired in a business combination, excluding certain loans and debt securities acquired in a transfer (as defined), this element represents the best estimate at the acquisition date of the contractual cash flows not expected to be collected, by major class of receivable, such as loans, direct finance leases (as defined), and any other class of receivables.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 805<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (b)(3)<br> -URI http://asc.fasb.org/extlink&amp;oid=116869197&amp;loc=d3e4845-128472<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_BusinessCombinationAcquiredReceivablesEstimatedUncollectible</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_BusinessCombinationAcquiredReceivablesFairValue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Fair value of acquired receivable from business combination, excluding certain loans and debt securities acquired in transfer.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 805<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (b)(1)<br> -URI http://asc.fasb.org/extlink&amp;oid=116869197&amp;loc=d3e4845-128472<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_BusinessCombinationAcquiredReceivablesFairValue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_BusinessCombinationAcquiredReceivablesGrossContractualAmount">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>For receivables acquired in a business combination, excluding certain loans and debt securities acquired in a transfer (as defined), this element represents the gross contractual amounts receivable, by major class of receivable, such as loans, direct finance leases (as defined), and any other class of receivables.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 805<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (b)(2)<br> -URI http://asc.fasb.org/extlink&amp;oid=116869197&amp;loc=d3e4845-128472<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_BusinessCombinationAcquiredReceivablesGrossContractualAmount</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_BusinessCombinationAcquisitionRelatedCosts">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>This element represents acquisition-related costs incurred to effect a business combination which costs have been expensed during the period. Such costs include finder's fees; advisory, legal, accounting, valuation, and other professional or consulting fees; general administrative costs, including the costs of maintaining an internal acquisitions department; and may include costs of registering and issuing debt and equity securities.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 805<br> -SubTopic 10<br> -Section 25<br> -Paragraph 23<br> -URI http://asc.fasb.org/extlink&amp;oid=116868678&amp;loc=d3e1043-128460<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_BusinessCombinationAcquisitionRelatedCosts</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_BusinessCombinationConsiderationTransferred1">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of consideration transferred, consisting of acquisition-date fair value of assets transferred by the acquirer, liabilities incurred by the acquirer, and equity interest issued by the acquirer.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 805<br> -SubTopic 30<br> -Section 30<br> -Paragraph 8<br> -URI http://asc.fasb.org/extlink&amp;oid=116859721&amp;loc=d3e6613-128477<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 805<br> -SubTopic 30<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=35744584&amp;loc=d3e6927-128479<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 805<br> -SubTopic 30<br> -Section 30<br> -Paragraph 7<br> -URI http://asc.fasb.org/extlink&amp;oid=116859721&amp;loc=d3e6578-128477<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_BusinessCombinationConsiderationTransferred1</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_BusinessCombinationConsiderationTransferredEquityInterestsIssuedAndIssuable">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of equity interests of the acquirer, including instruments or interests issued or issuable in consideration for the business combination.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 805<br> -SubTopic 30<br> -Section 30<br> -Paragraph 8<br> -URI http://asc.fasb.org/extlink&amp;oid=116859721&amp;loc=d3e6613-128477<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 805<br> -SubTopic 30<br> -Section 30<br> -Paragraph 7<br> -URI http://asc.fasb.org/extlink&amp;oid=116859721&amp;loc=d3e6578-128477<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_BusinessCombinationConsiderationTransferredEquityInterestsIssuedAndIssuable</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_BusinessCombinationConsiderationTransferredLiabilitiesIncurred">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of liabilities incurred by the acquirer as part of consideration transferred in a business combination.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 805<br> -SubTopic 30<br> -Section 30<br> -Paragraph 7<br> -URI http://asc.fasb.org/extlink&amp;oid=116859721&amp;loc=d3e6578-128477<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 805<br> -SubTopic 30<br> -Section 25<br> -Paragraph 5<br> -URI http://asc.fasb.org/extlink&amp;oid=6911189&amp;loc=d3e6405-128476<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 805<br> -SubTopic 30<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (b)(3)<br> -URI http://asc.fasb.org/extlink&amp;oid=35744584&amp;loc=d3e6927-128479<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 805<br> -SubTopic 30<br> -Section 30<br> -Paragraph 8<br> -URI http://asc.fasb.org/extlink&amp;oid=116859721&amp;loc=d3e6613-128477<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_BusinessCombinationConsiderationTransferredLiabilitiesIncurred</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_BusinessCombinationContingentConsiderationArrangementsRangeOfOutcomesValueHigh">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>For contingent consideration arrangements recognized in connection with a business combination, this element represents an estimate of the high-end of the potential range (undiscounted) of the consideration which may be paid.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 805<br> -SubTopic 30<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (c)(3)<br> -URI http://asc.fasb.org/extlink&amp;oid=35744584&amp;loc=d3e6927-128479<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_BusinessCombinationContingentConsiderationArrangementsRangeOfOutcomesValueHigh</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_BusinessCombinationContingentConsiderationLiability">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of liability recognized arising from contingent consideration in a business combination.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 805<br> -SubTopic 30<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (c)(1)<br> -URI http://asc.fasb.org/extlink&amp;oid=35744584&amp;loc=d3e6927-128479<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 805<br> -SubTopic 30<br> -Section 35<br> -Paragraph 1<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=116859824&amp;loc=d3e6819-128478<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 805<br> -SubTopic 30<br> -Section 25<br> -Paragraph 6<br> -URI http://asc.fasb.org/extlink&amp;oid=6911189&amp;loc=d3e6408-128476<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_BusinessCombinationContingentConsiderationLiability</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_BusinessCombinationProFormaInformationEarningsOrLossOfAcquireeSinceAcquisitionDateActual">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>This element represents the amount of earnings or loss of the acquiree since the acquisition date included in the consolidated income statement for the reporting period.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 805<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (h)(1)<br> -URI http://asc.fasb.org/extlink&amp;oid=79982066&amp;loc=d3e1392-128463<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_BusinessCombinationProFormaInformationEarningsOrLossOfAcquireeSinceAcquisitionDateActual</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_BusinessCombinationProFormaInformationRevenueOfAcquireeSinceAcquisitionDateActual">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>This element represents the amount of revenue of the acquiree since the acquisition date included in the consolidated income statement for the reporting period.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 805<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (h)(1)<br> -URI http://asc.fasb.org/extlink&amp;oid=79982066&amp;loc=d3e1392-128463<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_BusinessCombinationProFormaInformationRevenueOfAcquireeSinceAcquisitionDateActual</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PaymentsToAcquireBusinessesNetOfCashAcquired">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The cash outflow associated with the acquisition of a business, net of the cash acquired from the purchase.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 13<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=118932676&amp;loc=d3e3213-108585<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PaymentsToAcquireBusinessesNetOfCashAcquired</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_BusinessAcquisitionAxis=dsgx_VisualComplianceMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_BusinessAcquisitionAxis=dsgx_VisualComplianceMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_BusinessAcquisitionAxis=dsgx_CoreTransportTechnologiesNzLimitedMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_BusinessAcquisitionAxis=dsgx_CoreTransportTechnologiesNzLimitedMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_BusinessAcquisitionAxis=dsgx_StepcomMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_BusinessAcquisitionAxis=dsgx_StepcomMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_BusinessAcquisitionAxis=dsgx_BesttransportMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_BusinessAcquisitionAxis=dsgx_BesttransportMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_BusinessAcquisitionAxis=dsgx_The2020AcquisitionsMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_BusinessAcquisitionAxis=dsgx_The2020AcquisitionsMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_BusinessAcquisitionAxis=dsgx_AljexSoftwareIncMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_BusinessAcquisitionAxis=dsgx_AljexSoftwareIncMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_BusinessAcquisitionAxis=dsgx_VelocityMailMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_BusinessAcquisitionAxis=dsgx_VelocityMailMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_BusinessAcquisitionAxis=dsgx_PinPointMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_BusinessAcquisitionAxis=dsgx_PinPointMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_BusinessAcquisitionAxis=dsgx_MacroPointLLCMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_BusinessAcquisitionAxis=dsgx_MacroPointLLCMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_BusinessAcquisitionAxis=dsgx_PCSTracIncMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_BusinessAcquisitionAxis=dsgx_PCSTracIncMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_BusinessAcquisitionAxis=dsgx_ShipRushMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_BusinessAcquisitionAxis=dsgx_ShipRushMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>88
<FILENAME>R56.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.20.1</span><table class="report" border="0" cellspacing="2" id="idp6897176656">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Note 3 - Acquisitions - Pro Forma Results of Operations (Details) - USD ($)<br> $ / shares in Units, $ in Thousands</strong></div></th>
<th class="th" colspan="3">12 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Jan. 31, 2020</div></th>
<th class="th"><div>Jan. 31, 2019</div></th>
<th class="th"><div>Jan. 31, 2018</div></th>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessAcquisitionsProFormaRevenue', window );">Revenues</a></td>
<td class="nump">$ 333,323<span></span>
</td>
<td class="nump">$ 322,649<span></span>
</td>
<td class="nump">$ 313,759<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessAcquisitionsProFormaNetIncomeLoss', window );">Net income</a></td>
<td class="nump">$ 37,540<span></span>
</td>
<td class="nump">$ 31,609<span></span>
</td>
<td class="nump">$ 25,312<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_EarningsPerShareAbstract', window );"><strong>Earnings per share</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessAcquisitionProFormaEarningsPerShareBasic', window );">Basic (in dollars per share)</a></td>
<td class="nump">$ 0.46<span></span>
</td>
<td class="nump">$ 0.41<span></span>
</td>
<td class="nump">$ 0.33<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessAcquisitionProFormaEarningsPerShareDiluted', window );">Diluted (in dollars per share)</a></td>
<td class="nump">$ 0.45<span></span>
</td>
<td class="nump">$ 0.41<span></span>
</td>
<td class="nump">$ 0.33<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_BusinessAcquisitionProFormaEarningsPerShareBasic">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The pro forma basic net income per share for a period as if the business combination or combinations had been completed at the beginning of a period.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 805<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (h)(3)<br> -URI http://asc.fasb.org/extlink&amp;oid=79982066&amp;loc=d3e1392-128463<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 805<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (h)(2)<br> -URI http://asc.fasb.org/extlink&amp;oid=79982066&amp;loc=d3e1392-128463<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_BusinessAcquisitionProFormaEarningsPerShareBasic</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>num:perShareItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_BusinessAcquisitionProFormaEarningsPerShareDiluted">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The pro forma diluted net income per share for a period as if the business combination or combinations had been completed at the beginning of a period.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 805<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (h)(3)<br> -URI http://asc.fasb.org/extlink&amp;oid=79982066&amp;loc=d3e1392-128463<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 805<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (h)(2)<br> -URI http://asc.fasb.org/extlink&amp;oid=79982066&amp;loc=d3e1392-128463<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_BusinessAcquisitionProFormaEarningsPerShareDiluted</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>num:perShareItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_BusinessAcquisitionsProFormaNetIncomeLoss">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The pro forma net Income or Loss for the period as if the business combination or combinations had been completed at the beginning of a period.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 805<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (h)(3)<br> -URI http://asc.fasb.org/extlink&amp;oid=79982066&amp;loc=d3e1392-128463<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 805<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (h)(2)<br> -URI http://asc.fasb.org/extlink&amp;oid=79982066&amp;loc=d3e1392-128463<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_BusinessAcquisitionsProFormaNetIncomeLoss</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_BusinessAcquisitionsProFormaRevenue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The pro forma revenue for a period as if the business combination or combinations had been completed at the beginning of the period.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 805<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (h)(2)<br> -URI http://asc.fasb.org/extlink&amp;oid=79982066&amp;loc=d3e1392-128463<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 805<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (h)(3)<br> -URI http://asc.fasb.org/extlink&amp;oid=79982066&amp;loc=d3e1392-128463<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_BusinessAcquisitionsProFormaRevenue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_EarningsPerShareAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EarningsPerShareAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>89
<FILENAME>R105.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.20.1</span><table class="report" border="0" cellspacing="2" id="idp6815402192">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Note 23 - Subsequent Event (Details Textual)<br> $ in Thousands, &#163; in Millions</strong></div></th>
<th class="th" colspan="2"></th>
<th class="th" colspan="3">12 Months Ended</th>
</tr>
<tr>
<th class="th">
<div>Feb. 21, 2020 </div>
<div>USD ($)</div>
</th>
<th class="th">
<div>Feb. 21, 2020 </div>
<div>GBP (&#163;)</div>
</th>
<th class="th">
<div>Jan. 31, 2020 </div>
<div>USD ($)</div>
</th>
<th class="th">
<div>Jan. 31, 2019 </div>
<div>USD ($)</div>
</th>
<th class="th">
<div>Jan. 31, 2018 </div>
<div>USD ($)</div>
</th>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_PaymentsToAcquireBusinessesNetOfCashAcquired', window );">Payments to Acquire Businesses, Net of Cash Acquired, Total</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 292,053<span></span>
</td>
<td class="nump">$ 67,932<span></span>
</td>
<td class="nump">$ 111,867<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_SubsequentEventTypeAxis=us-gaap_SubsequentEventMember', window );">Subsequent Event [Member] | Peoplevox Limited [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_PaymentsToAcquireBusinessesNetOfCashAcquired', window );">Payments to Acquire Businesses, Net of Cash Acquired, Total</a></td>
<td class="nump">$ 24,500<span></span>
</td>
<td class="nump">&#163; 18.9<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PaymentsToAcquireBusinessesNetOfCashAcquired">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The cash outflow associated with the acquisition of a business, net of the cash acquired from the purchase.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 13<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=118932676&amp;loc=d3e3213-108585<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PaymentsToAcquireBusinessesNetOfCashAcquired</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_SubsequentEventTypeAxis=us-gaap_SubsequentEventMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_SubsequentEventTypeAxis=us-gaap_SubsequentEventMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_BusinessAcquisitionAxis=dsgx_PeoplevoxLimitedMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_BusinessAcquisitionAxis=dsgx_PeoplevoxLimitedMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>90
<FILENAME>R79.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.20.1</span><table class="report" border="0" cellspacing="2" id="idp6909486704">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Note 16 - Earnings Per Share - Computation of Basic and Diluted Earnings Per Share (Details) - USD ($)<br> $ / shares in Units, shares in Thousands, $ in Thousands</strong></div></th>
<th class="th" colspan="3">12 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Jan. 31, 2020</div></th>
<th class="th"><div>Jan. 31, 2019</div></th>
<th class="th"><div>Jan. 31, 2018</div></th>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_NetIncomeLoss', window );">Net income</a></td>
<td class="nump">$ 36,997<span></span>
</td>
<td class="nump">$ 31,277<span></span>
</td>
<td class="nump">$ 26,879<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_WeightedAverageNumberOfSharesOutstandingBasic', window );">Weighted average shares outstanding (in shares)</a></td>
<td class="nump">81,659<span></span>
</td>
<td class="nump">76,832<span></span>
</td>
<td class="nump">76,324<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding', window );">Weighted average common and common equivalent shares outstanding (in shares)</a></td>
<td class="nump">82,867<span></span>
</td>
<td class="nump">77,791<span></span>
</td>
<td class="nump">77,112<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_EarningsPerShareAbstract', window );"><strong>Earnings per share</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_EarningsPerShareBasic', window );">Basic (in dollars per share)</a></td>
<td class="nump">$ 0.45<span></span>
</td>
<td class="nump">$ 0.41<span></span>
</td>
<td class="nump">$ 0.35<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_EarningsPerShareDiluted', window );">Diluted (in dollars per share)</a></td>
<td class="nump">$ 0.45<span></span>
</td>
<td class="nump">$ 0.40<span></span>
</td>
<td class="nump">$ 0.35<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AwardTypeAxis=us-gaap_EmployeeStockOptionMember', window );">Share-based Payment Arrangement, Option [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_IncrementalCommonSharesAttributableToShareBasedPaymentArrangements', window );">Dilutive effect of employee stock options (in shares)</a></td>
<td class="nump">318<span></span>
</td>
<td class="nump">205<span></span>
</td>
<td class="nump">167<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AwardTypeAxis=us-gaap_RestrictedStockUnitsRSUMember', window );">Restricted Stock Units (RSUs) [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_IncrementalCommonSharesAttributableToShareBasedPaymentArrangements', window );">Dilutive effect of employee stock options (in shares)</a></td>
<td class="nump">890<span></span>
</td>
<td class="nump">754<span></span>
</td>
<td class="nump">621<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_EarningsPerShareAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EarningsPerShareAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_EarningsPerShareBasic">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The amount of net income (loss) for the period per each share of common stock or unit outstanding during the reporting period.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 220<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(19))<br> -URI http://asc.fasb.org/extlink&amp;oid=116637232&amp;loc=SL114874131-224263<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 45<br> -Paragraph 7<br> -URI http://asc.fasb.org/extlink&amp;oid=117326831&amp;loc=d3e1337-109256<br><br>Reference 3: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 55<br> -Paragraph 52<br> -URI http://asc.fasb.org/extlink&amp;oid=117327953&amp;loc=d3e4984-109258<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(21))<br> -URI http://asc.fasb.org/extlink&amp;oid=116634182&amp;loc=SL114868664-224227<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 11<br> -URI http://asc.fasb.org/extlink&amp;oid=109234566&amp;loc=d3e22694-107794<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=6371337&amp;loc=d3e3550-109257<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 45<br> -Paragraph 2<br> -URI http://asc.fasb.org/extlink&amp;oid=117326831&amp;loc=d3e1252-109256<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 220<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-04(23))<br> -URI http://asc.fasb.org/extlink&amp;oid=116637391&amp;loc=SL114874048-224260<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 45<br> -Paragraph 60B<br> -Subparagraph (d)<br> -URI http://asc.fasb.org/extlink&amp;oid=117326831&amp;loc=SL5780133-109256<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EarningsPerShareBasic</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>num:perShareItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_EarningsPerShareDiluted">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The amount of net income (loss) for the period available to each share of common stock or common unit outstanding during the reporting period and to each share or unit that would have been outstanding assuming the issuance of common shares or units for all dilutive potential common shares or units outstanding during the reporting period.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 55<br> -Paragraph 52<br> -URI http://asc.fasb.org/extlink&amp;oid=117327953&amp;loc=d3e4984-109258<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 45<br> -Paragraph 2<br> -URI http://asc.fasb.org/extlink&amp;oid=117326831&amp;loc=d3e1252-109256<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=6371337&amp;loc=d3e3550-109257<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 220<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-04(23))<br> -URI http://asc.fasb.org/extlink&amp;oid=116637391&amp;loc=SL114874048-224260<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 11<br> -URI http://asc.fasb.org/extlink&amp;oid=109234566&amp;loc=d3e22694-107794<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 45<br> -Paragraph 7<br> -URI http://asc.fasb.org/extlink&amp;oid=117326831&amp;loc=d3e1337-109256<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(21))<br> -URI http://asc.fasb.org/extlink&amp;oid=116634182&amp;loc=SL114868664-224227<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 45<br> -Paragraph 60B<br> -Subparagraph (d)<br> -URI http://asc.fasb.org/extlink&amp;oid=117326831&amp;loc=SL5780133-109256<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 220<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(19))<br> -URI http://asc.fasb.org/extlink&amp;oid=116637232&amp;loc=SL114874131-224263<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EarningsPerShareDiluted</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>num:perShareItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncrementalCommonSharesAttributableToShareBasedPaymentArrangements">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Additional shares included in the calculation of diluted EPS as a result of the potentially dilutive effect of share based payment arrangements using the treasury stock method.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 45<br> -Paragraph 28A<br> -URI http://asc.fasb.org/extlink&amp;oid=117326831&amp;loc=d3e1500-109256<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -URI http://asc.fasb.org/extlink&amp;oid=6371337&amp;loc=d3e3550-109257<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncrementalCommonSharesAttributableToShareBasedPaymentArrangements</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_NetIncomeLoss">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The portion of profit or loss for the period, net of income taxes, which is attributable to the parent.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 45<br> -Paragraph 1A<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=118930883&amp;loc=SL7669619-108580<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 220<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-04(22))<br> -URI http://asc.fasb.org/extlink&amp;oid=116637391&amp;loc=SL114874048-224260<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 45<br> -Paragraph 1B<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=118930883&amp;loc=SL7669625-108580<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 220<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(18))<br> -URI http://asc.fasb.org/extlink&amp;oid=116637232&amp;loc=SL114874131-224263<br><br>Reference 5: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(20))<br> -URI http://asc.fasb.org/extlink&amp;oid=116634182&amp;loc=SL114868664-224227<br><br>Reference 6: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 28<br> -URI http://asc.fasb.org/extlink&amp;oid=118932676&amp;loc=d3e3602-108585<br><br>Reference 7: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -URI http://asc.fasb.org/extlink&amp;oid=6371337&amp;loc=d3e3550-109257<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_NetIncomeLoss</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The average number of shares or units issued and outstanding that are used in calculating diluted EPS or earnings per unit (EPU), determined based on the timing of issuance of shares or units in the period.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=6371337&amp;loc=d3e3550-109257<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 45<br> -Paragraph 16<br> -URI http://asc.fasb.org/extlink&amp;oid=117326831&amp;loc=d3e1505-109256<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_WeightedAverageNumberOfSharesOutstandingBasic">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Number of [basic] shares or units, after adjustment for contingently issuable shares or units and other shares or units not deemed outstanding, determined by relating the portion of time within a reporting period that common shares or units have been outstanding to the total time in that period.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 45<br> -Paragraph 10<br> -URI http://asc.fasb.org/extlink&amp;oid=117326831&amp;loc=d3e1448-109256<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=6371337&amp;loc=d3e3550-109257<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_WeightedAverageNumberOfSharesOutstandingBasic</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AwardTypeAxis=us-gaap_EmployeeStockOptionMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AwardTypeAxis=us-gaap_EmployeeStockOptionMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AwardTypeAxis=us-gaap_RestrictedStockUnitsRSUMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AwardTypeAxis=us-gaap_RestrictedStockUnitsRSUMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>91
<FILENAME>R89.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.20.1</span><table class="report" border="0" cellspacing="2" id="idp6897778288">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Note 18 - Income Taxes (Details Textual) - USD ($)<br> $ in Millions</strong></div></th>
<th class="th" colspan="3">12 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Jan. 31, 2020</div></th>
<th class="th"><div>Jan. 31, 2019</div></th>
<th class="th"><div>Jan. 31, 2018</div></th>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_dsgx_IncomeBeforeTaxesPercent', window );">Income Before Taxes, Percent</a></td>
<td class="nump">23.00%<span></span>
</td>
<td class="nump">21.00%<span></span>
</td>
<td class="nump">23.00%<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_EffectiveIncomeTaxRateContinuingOperations', window );">Effective Income Tax Rate Reconciliation, Percent, Total</a></td>
<td class="nump">11.00%<span></span>
</td>
<td class="nump">15.00%<span></span>
</td>
<td class="nump">19.00%<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_IncomeTaxExpenseBenefitContinuingOperationsAdjustmentOfDeferredTaxAssetLiability', window );">Income Tax Expense (Benefit), Continuing Operations, Adjustment of Deferred Tax (Asset) Liability</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 0.7<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_UndistributedEarningsOfForeignSubsidiaries', window );">Undistributed Earnings of Foreign Subsidiaries</a></td>
<td class="nump">$ 381.3<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_LiabilityForUncertainTaxPositionsNoncurrent', window );">Liability for Uncertainty in Income Taxes, Noncurrent</a></td>
<td class="nump">6.7<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_UnrecognizedTaxBenefitsThatWouldImpactEffectiveTaxRate', window );">Unrecognized Tax Benefits that Would Impact Effective Tax Rate</a></td>
<td class="nump">6.5<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_SignificantChangeInUnrecognizedTaxBenefitsIsReasonablyPossibleAmountOfUnrecordedBenefit', window );">Significant Change in Unrecognized Tax Benefits is Reasonably Possible, Amount of Unrecorded Benefit</a></td>
<td class="nump">$ 0.3<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dsgx_IncomeBeforeTaxesPercent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Income tax expense expressed as a percentage of income before taxes.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dsgx_IncomeBeforeTaxesPercent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dsgx_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>num:percentItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_EffectiveIncomeTaxRateContinuingOperations">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Percentage of current income tax expense (benefit) and deferred income tax expense (benefit) pertaining to continuing operations.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08.(h)(2))<br> -URI http://asc.fasb.org/extlink&amp;oid=26873400&amp;loc=d3e23780-122690<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 12<br> -URI http://asc.fasb.org/extlink&amp;oid=84230637&amp;loc=d3e32687-109319<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 13<br> -URI http://asc.fasb.org/extlink&amp;oid=84230637&amp;loc=d3e32698-109319<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EffectiveIncomeTaxRateContinuingOperations</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>num:percentItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncomeTaxExpenseBenefitContinuingOperationsAdjustmentOfDeferredTaxAssetLiability">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of income tax expense (benefit) from continuing operations attributable to an adjustment of a deferred tax liability or asset for enacted changes in tax laws or rates or a change in the tax status of the entity.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 9<br> -Subparagraph (g)<br> -URI http://asc.fasb.org/extlink&amp;oid=84230637&amp;loc=d3e32639-109319<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncomeTaxExpenseBenefitContinuingOperationsAdjustmentOfDeferredTaxAssetLiability</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LiabilityForUncertainTaxPositionsNoncurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount recognized for uncertainty in income taxes classified as noncurrent.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.24)<br> -URI http://asc.fasb.org/extlink&amp;oid=6877327&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LiabilityForUncertainTaxPositionsNoncurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_SignificantChangeInUnrecognizedTaxBenefitsIsReasonablyPossibleAmountOfUnrecordedBenefit">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The amount of the unrecognized tax benefit of a position taken for which it is reasonably possible that the total amount thereof will significantly increase or decrease within twelve months of the balance sheet date.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 15<br> -Subparagraph (d)<br> -URI http://asc.fasb.org/extlink&amp;oid=84230637&amp;loc=d3e32718-109319<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_SignificantChangeInUnrecognizedTaxBenefitsIsReasonablyPossibleAmountOfUnrecordedBenefit</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_UndistributedEarningsOfForeignSubsidiaries">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of undistributed earnings of foreign subsidiaries intended to be permanently reinvested outside the country of domicile.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 740<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=6487024&amp;loc=d3e29054-158556<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 30<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (b)(c)<br> -URI http://asc.fasb.org/extlink&amp;oid=6424122&amp;loc=d3e41874-109331<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 25<br> -Paragraph 3<br> -Subparagraph (a)(1)<br> -URI http://asc.fasb.org/extlink&amp;oid=117330534&amp;loc=d3e28200-109314<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 740<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=6479915&amp;loc=d3e66715-112838<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_UndistributedEarningsOfForeignSubsidiaries</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_UnrecognizedTaxBenefitsThatWouldImpactEffectiveTaxRate">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The total amount of unrecognized tax benefits that, if recognized, would affect the effective tax rate.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 15A<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=84230637&amp;loc=SL6600010-109319<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_UnrecognizedTaxBenefitsThatWouldImpactEffectiveTaxRate</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>92
<FILENAME>R85.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.20.1</span><table class="report" border="0" cellspacing="2" id="idp6899458000">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Note 17 - Stock-based Compensation Plans - Summary of Nonvested Share (Details) - $ / shares<br></strong></div></th>
<th class="th" colspan="3">12 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Jan. 31, 2020</div></th>
<th class="th"><div>Jan. 31, 2019</div></th>
<th class="th"><div>Jan. 31, 2018</div></th>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross', window );">Share-based Compensation Arrangement by Share-based Payment Award, Options, Grants in Period, Gross</a></td>
<td class="nump">367,173<span></span>
</td>
<td class="nump">272,144<span></span>
</td>
<td class="nump">274,500<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue', window );">Granted, Weighted- Average Grant-Date Fair Value per Share (in dollars per share)</a></td>
<td class="nump">$ 8.99<span></span>
</td>
<td class="nump">$ 7.10<span></span>
</td>
<td class="nump">$ 5.26<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_PlanNameAxis=dsgx_ShareholderapprovedStockOptionPlanMember', window );">Shareholder-Approved Stock Option Plan [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedNumberOfShares', window );">Stock Options Outstanding (in shares)</a></td>
<td class="nump">325,218<span></span>
</td>
<td class="nump">276,067<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedWeightedAverageGrantDateFairValue', window );">Weighted- Average Grant-Date Fair Value per Share (in dollars per share)</a></td>
<td class="nump">$ 6.18<span></span>
</td>
<td class="nump">$ 4.98<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross', window );">Share-based Compensation Arrangement by Share-based Payment Award, Options, Grants in Period, Gross</a></td>
<td class="nump">367,173<span></span>
</td>
<td class="nump">272,144<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue', window );">Granted, Weighted- Average Grant-Date Fair Value per Share (in dollars per share)</a></td>
<td class="nump">$ 8.99<span></span>
</td>
<td class="nump">$ 7.10<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedNumberOfShares', window );">Vested (in shares)</a></td>
<td class="num">(259,269)<span></span>
</td>
<td class="num">(219,043)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedWeightedAverageGrantDateFairValue', window );">Vested, Weighted- Average Grant-Date Fair Value per Share (in dollars per share)</a></td>
<td class="nump">$ 6.96<span></span>
</td>
<td class="nump">$ 5.56<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedOptionsForfeitedNumberOfShares', window );">Forfeited (in shares)</a></td>
<td class="num">(23,469)<span></span>
</td>
<td class="num">(3,950)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedOptionsForfeitedWeightedAverageGrantDateFairValue', window );">Forfeited, Weighted- Average Grant-Date Fair Value per Share (in dollars per share)</a></td>
<td class="nump">$ 7.69<span></span>
</td>
<td class="nump">$ 6.41<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedNumberOfShares', window );">Stock Options Outstanding (in shares)</a></td>
<td class="nump">409,653<span></span>
</td>
<td class="nump">325,218<span></span>
</td>
<td class="nump">276,067<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedWeightedAverageGrantDateFairValue', window );">Weighted- Average Grant-Date Fair Value per Share (in dollars per share)</a></td>
<td class="nump">$ 8.03<span></span>
</td>
<td class="nump">$ 6.18<span></span>
</td>
<td class="nump">$ 4.98<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Gross number of share options (or share units) granted during the period.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The weighted average grant-date fair value of options granted during the reporting period as calculated by applying the disclosed option pricing methodology.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (d)(1)<br> -URI http://asc.fasb.org/extlink&amp;oid=116856206&amp;loc=d3e5070-113901<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>num:perShareItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedNumberOfShares">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Number of non-vested options outstanding.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedNumberOfShares</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedOptionsForfeitedNumberOfShares">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Number of non-vested options forfeited.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedOptionsForfeitedNumberOfShares</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedOptionsForfeitedWeightedAverageGrantDateFairValue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Weighted average grant-date fair value of non-vested options forfeited.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedOptionsForfeitedWeightedAverageGrantDateFairValue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>num:perShareItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedWeightedAverageGrantDateFairValue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Weighted average grant-date fair value of non-vested options outstanding.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedWeightedAverageGrantDateFairValue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>num:perShareItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedNumberOfShares">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Number of options vested.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedNumberOfShares</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedWeightedAverageGrantDateFairValue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Weighted average grant-date fair value of options vested.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedWeightedAverageGrantDateFairValue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>num:perShareItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PlanNameAxis=dsgx_ShareholderapprovedStockOptionPlanMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PlanNameAxis=dsgx_ShareholderapprovedStockOptionPlanMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>93
<FILENAME>R75.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.20.1</span><table class="report" border="0" cellspacing="2" id="idp6897421808">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Note 14 - Commitments, Contingencies and Guarantees (Details Textual) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th" colspan="2">12 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Jan. 31, 2020</div></th>
<th class="th"><div>Jan. 31, 2019</div></th>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_dsgx_CashSettledRestrictedShareUnitsNonvestedTotalCompensationCostNotYetRecognized', window );">Cash Settled Restricted Share Units Nonvested Total Compensation Cost Not Yet Recognized</a></td>
<td class="nump">$ 1,100<span></span>
</td>
<td class="nump">$ 0<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_dsgx_DerivativeInstrumentSharesOfCommonStockHeld', window );">Derivative Instrument, Shares of Common Stock Held</a></td>
<td class="nump">251,422<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_dsgx_DeferredShareUnitLiabilityNumberOfCommonShares', window );">Deferred Share Unit Liability, Number of Common Shares</a></td>
<td class="nump">251,422<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessAcquisitionAxis=dsgx_PinpointAndCoreMember', window );">PinPoint and CORE [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessCombinationContingentConsiderationArrangementsRangeOfOutcomesValueHigh', window );">Business Combination, Contingent Consideration Arrangements, Range of Outcomes, Value, High</a></td>
<td class="nump">$ 10,100<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_dsgx_BusinessCombinationContingentConsiderationArrangementsPeriodForRevenuePerformanceTargets', window );">Business Combination, Contingent Consideration Arrangements, Period for Revenue Performance Targets</a></td>
<td class="text">2 years<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessCombinationContingentConsiderationLiability', window );">Business Combination, Contingent Consideration, Liability, Total</a></td>
<td class="nump">$ 1,900<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dsgx_BusinessCombinationContingentConsiderationArrangementsPeriodForRevenuePerformanceTargets">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Represents the period (following acquisition) over which contingent consideration is to be paid by the reporting entity if the acquired entity meets certain performance targets.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dsgx_BusinessCombinationContingentConsiderationArrangementsPeriodForRevenuePerformanceTargets</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dsgx_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:durationItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dsgx_CashSettledRestrictedShareUnitsNonvestedTotalCompensationCostNotYetRecognized">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The cash settled restricted share units nonvested, total compensation cost not yet recognized.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dsgx_CashSettledRestrictedShareUnitsNonvestedTotalCompensationCostNotYetRecognized</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dsgx_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dsgx_DeferredShareUnitLiabilityNumberOfCommonShares">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Represents the number of common shares for which there is a deferred share unit liability.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dsgx_DeferredShareUnitLiabilityNumberOfCommonShares</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dsgx_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dsgx_DerivativeInstrumentSharesOfCommonStockHeld">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The number of shares held by certain derivative instruments entered into by the company.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dsgx_DerivativeInstrumentSharesOfCommonStockHeld</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dsgx_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_BusinessCombinationContingentConsiderationArrangementsRangeOfOutcomesValueHigh">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>For contingent consideration arrangements recognized in connection with a business combination, this element represents an estimate of the high-end of the potential range (undiscounted) of the consideration which may be paid.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 805<br> -SubTopic 30<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (c)(3)<br> -URI http://asc.fasb.org/extlink&amp;oid=35744584&amp;loc=d3e6927-128479<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_BusinessCombinationContingentConsiderationArrangementsRangeOfOutcomesValueHigh</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_BusinessCombinationContingentConsiderationLiability">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of liability recognized arising from contingent consideration in a business combination.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 805<br> -SubTopic 30<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (c)(1)<br> -URI http://asc.fasb.org/extlink&amp;oid=35744584&amp;loc=d3e6927-128479<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 805<br> -SubTopic 30<br> -Section 35<br> -Paragraph 1<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=116859824&amp;loc=d3e6819-128478<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 805<br> -SubTopic 30<br> -Section 25<br> -Paragraph 6<br> -URI http://asc.fasb.org/extlink&amp;oid=6911189&amp;loc=d3e6408-128476<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_BusinessCombinationContingentConsiderationLiability</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_BusinessAcquisitionAxis=dsgx_PinpointAndCoreMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_BusinessAcquisitionAxis=dsgx_PinpointAndCoreMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>94
<FILENAME>R71.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.20.1</span><table class="report" border="0" cellspacing="2" id="idp6913818944">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Note 13 - Leases (Details Textual) - USD ($)<br> $ in Millions</strong></div></th>
<th class="th" colspan="3">12 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Jan. 31, 2020</div></th>
<th class="th"><div>Jan. 31, 2019</div></th>
<th class="th"><div>Jan. 31, 2018</div></th>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_OperatingLeaseExpense', window );">Operating Lease, Expense</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 5.2<span></span>
</td>
<td class="nump">$ 5.1<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_srt_RangeAxis=srt_MinimumMember', window );">Minimum [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_dsgx_LesseeOperatingLeaseRemainingLeaseTerm', window );">Lessee, Operating Lease, Remaining Lease Term</a></td>
<td class="text">1 year<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_srt_RangeAxis=srt_MaximumMember', window );">Maximum [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_dsgx_LesseeOperatingLeaseRemainingLeaseTerm', window );">Lessee, Operating Lease, Remaining Lease Term</a></td>
<td class="text">9 years<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_LesseeOperatingLeaseRenewalTerm', window );">Lessee, Operating Lease, Renewal Term</a></td>
<td class="text">3 years<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dsgx_LesseeOperatingLeaseRemainingLeaseTerm">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The remaining lease term for operating lease of lessee.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dsgx_LesseeOperatingLeaseRemainingLeaseTerm</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dsgx_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:durationItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LesseeOperatingLeaseRenewalTerm">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Term of lessee's operating lease renewal, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents reported fact of one year, five months, and thirteen days.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 20<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (a)(3)<br> -URI http://asc.fasb.org/extlink&amp;oid=77888426&amp;loc=SL77918673-209980<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LesseeOperatingLeaseRenewalTerm</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:durationItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OperatingLeaseExpense">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of operating lease expense. Excludes sublease income.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 20<br> -Section 45<br> -Paragraph 4<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=77888419&amp;loc=SL77918638-209977<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OperatingLeaseExpense</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_RangeAxis=srt_MinimumMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_RangeAxis=srt_MinimumMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_RangeAxis=srt_MaximumMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_RangeAxis=srt_MaximumMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EXCEL
<SEQUENCE>95
<FILENAME>Financial_Report.xlsx
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
begin 644 Financial_Report.xlsx
M4$L#!!0    ( ,1]CE ?(\\#P    !,"   +    7W)E;',O+G)E;'.MDD^+
MPD ,Q;]*F?L:5\'#8CUYZ6U9_ )Q)OU#.Y,A$[%^>X>];+=44/ 87O+>CT?V
M/S2@=AQ2V\54C'X(J32M:OP"2+8ECVG%D4)6:A:/FD=I(*+ML2'8K-<[D*F'
M.>RGGD7E2B.5^S3%":4A+<TXP)6E/S/WJVR;A5ND9T*YKCM+1[873T$7LF<;
M!I99-G\LCNVW<+ZT+/0:S>,*P).B0\5?UX^8 TBTH_0(:+L A#&^NQT:E8(C
M-R."?S]PN -02P,$%     @ Q'V.4"?HAPZ"    L0   !    !D;V-0<F]P
M<R]A<' N>&UL38Y-"\(P$$3_2NG=;BGH06) L$?!D_>0;FP@R8;-"OGYIH(?
MMWF\81AU8\K(XK%T-8943OTJDH\ Q:X831F:3LTXXFBD(3^ G/,6+V2?$9/
M-(X'P"J8%EQV^3O8:W7..7AKQ%/25V^9"CGIYFHQ*/B76_..7+8\#?NW_+""
MWTG] E!+ P04    " #$?8Y0S#@)3.\    K @  $0   &1O8U!R;W!S+V-O
M<F4N>&ULS9+!3L,P#(9?!>7>.NTZ#E&7"XC3)B$Q"<0M2KPMHFFBQ*C=V].&
MK1."!^ 8^\_GSY);'83V$9^C#QC)8KH;7=<GH<.&G8B" $CZA$ZE<DKT4_/@
MHU,T/>,1@M(?ZHA0<WX/#DD910IF8!$6(I.MT4)'5.3C!6_T@@^?L<LPHP$[
M=-A3@JJL@,EY8CB/70LWP PCC"Y]%] LQ%S]$YL[P"[),=DE-0Q#.:QR;MJA
M@K?=]B6O6]@^D>HU3K^2%70.N&'7R:^KA\?]$Y,UKWG!FZ)J]M5:-(U8\_?9
M]8??3=AY8P_V'QM?!64+O^Y"?@%02P,$%     @ Q'V.4)E<G",0!@  G"<
M !,   !X;"]T:&5M92]T:&5M93$N>&UL[5I;<]HX%'[OK]!X9_9M"\8V@;:T
M$W-I=MNTF83M3A^%$5B-;'EDD81_OT<V$,N6#>V23;J;/ 0LZ?O.14?GZ#AY
M\^XN8NB&B)3R>&#9+]O6N[<OWN!7,B0103 9IZ_PP JE3%ZU6FD PSA]R1,2
MP]R"BPA+>!3+UES@6QHO(];JM-O=5H1I;*$81V1@?5XL:$#05%%:;U\@M.4?
M,_@5RU2-9:,!$U=!)KF(M/+Y;,7\VMX^9<_I.ATR@6XP&U@@?\YOI^1.6HCA
M5,+$P&IG/U9KQ]'22(""R7V4!;I)]J/3%0@R#3LZG5C.=GSVQ.V?C,K:=#1M
M&N#C\7@XMLO2BW <!.!1NY["G?1LOZ1!";2C:=!DV/;:KI&FJHU33]/W?=_K
MFVB<"HU;3]-K=]W3CHG&K=!X#;[Q3X?#KHG&J]!TZVDF)_VN:Z3I%FA"1N/K
M>A(5M>5 TR  6'!VULS2 Y9>*?IUE!K9';O=05SP6.XYB1'^QL4$UFG2&98T
M1G*=D 4. #?$T4Q0?*]!MHK@PI+27)#6SRFU4!H(FLB!]4>"(<7<K_WUE[O)
MI#-ZG7TZSFN4?VFK :?MNYO/D_QSZ.2?IY/734+.<+PL"?'[(UMAAR=N.Q-R
M.AQG0GS/]O:1I24RS^_Y"NM./&<?5I:P7<_/Y)Z,<B.[W?98??9/1VXCUZG
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
MB[;3M9G+OF?U"RVZH1]'XY^"XA]02P,$%     @ Q'V.4+Z]!&1;!   #!4
M !@   !X;"]W;W)K<VAE971S+W-H965T,BYX;6Q]F&]OHT80QK^*Q?L[=F;_
M061;.KNJ6JF5HJNN?4WL36P=&!=(?/WV7;!CD9G9>Q,#>6;W&7;YS<#RTG;?
M^T,(P^)'4Y_Z5788AO-#GO>[0VBJ_G-[#J?XG^>V:ZHAGG8O>7_N0K6?@IHZ
M1Z5<WE3'4[9>3M<>N_6R?1WJXRD\=HO^M6FJ[K]-J-O+*H/L_<+7X\MA&"_D
MZ^6Y>@E_A>';^;&+9_E]E/VQ":?^V)X677A>95_@8:O]&# I_CZ&2S\[7HRI
M/+7M]_'D]_TJ4Z.C4(?=, Y1Q9^WL UU/8X4??Q[&S2[SSD&SH_?1_]U2CXF
M\U3U8=O6_QSWPV&5%=EB'YZKUWKXVEY^"[>$;+:X9?]'> MUE(].XAR[MNZG
MOXO=:S^TS6V4:*6I?EQ_CZ?I]W(;_SU,#L!; -X#P/PT0-\"- G(K\ZF5'^I
MAFJ][-K+HKNNUKD:-P4\Z'@S=^/%Z=Y-_XO9]O'JVQKM,G\;Q[E)-E<)SB7N
MHV0K2/Q=DD<#=Q<HNL I7L_C"SE>B_%ZBC?S^))D<96X27*:),88I4DB7(4>
MRX07(WHQ+!>MY'@KQEN6BP:2RU5B9RZU!2A(+H(*3*EE+T[TXK@7)%X<FR7>
M,$.L<)'1LZP^./&B$\^=D+7;>#8)Q*6C5KBJ5*G-6HA6"FZ%3+(I>+Y %G'+
M-:65;922C4W)TU4*09%IN,PC&B//!$J&A.(I,THH[D=;I'8DF;*0>$(@ 2W@
M?ASU X(?3Q^EK21#!YCP(^,+D/OQU \*$Q7>4S_"4 G\@,Q"X##4%(8WS=P,
M@E-(S7"9MBD:@HQ#,,R.4=2.X7:L*RTK,UP'WD&96BT9L, ):RAA@</3HG8E
MV\X"9'T!/G6/1,QN@/.Q-&@+EC_7.:NU3CW-,DK!LPIE4G=0)B!P!!I*8^!\
M\\ZQ[<Y5%DP"QR""\ N4W T%,G ,:E-X=H.Y#$N=VE\HTQ(Y+0VE)7(,QFEH
M!1=&2L$ 95(B)Z6AI$2)E+1_VDHJF[PSB3:/P\U03B+G9*R=='MM!9DV.*L"
M'_V(J-P@YUM1E'PN+O-*NU2'*W,0!0X6-'>NT6Q/2*PT+H$ E!&( @)IC4".
MMM*P>B6,E-RB<H^)O,FTM$"@ $C66@BBPB9:*I31B+S-M+0T(.\@G?',#%=Y
MEP(URIA%H=-DJ\0!"E8QSHHRJU);6.XX46@Y4?$>1M)!6:2Z;"UC5'/X6?KR
M(6C8 _-SS4<G,D0UL()I$Z]16@:?YN"SM$1I3C2+!JAN*^C0.Y]TE'ACYEVB
MI45*<^Z9B'Q'2X.H,_$U(^%(!J3F\*,-X$9S^'U"6])ROY5UJ!*OG%JFI.9L
ML[1<:4[)3_&]QS,@B$(_KES"D]PJ:@%R"%ZQ->&ZV"DFGW@M\G"C/?L>(C:F
M@DYL3//99ZGQ.^&?5?=R//6+IW88VF;Z#O7<MD.(8ZK/T?LA5/O[21V>A_'0
MQ^/N^GWN>C*TY]NWQ_S^ 73]/U!+ P04    " #$?8Y0\H-X&, !   J!
M&    'AL+W=O<FMS:&5E=',O<VAE970S+GAM;(U4[6Z;,!1]%<L/4/,1"(L
M:<TT;=(J19W6_G;@$E!MS&PGM&\_V[B()FS:'WSO]3G'Y_J#?!3R1;4 &KUR
MUJL"MUH/.T)4U0*GZDX,T)N91DA.M4GEB:A! JT=B3,2!4%*..UZ7.:N=I!E
M+LZ:=3T<)%)GSJE\NP<FQ@*'^+WPV)U:;0NDS =Z@I^@?PT':3(RJ]0=AUYU
MHD<2F@)_#G?[V.(=X*F#42UB9#LY"O%BD^]U@0-K"!A4VBI0,UQ@#XQ9(6/C
MM]?$\Y*6N(S?U;^ZWDTO1ZI@+]AS5^NVP!E&-33TS/2C&+^![R?!R#?_ R[
M#-PZ,6M4@BGW1=59:<&]BK'"Z>LT=KT;QVDFV7C:.B'RA&@FA/\FQ)X07Q'(
MY,RU^H5J6N92C$A.AS50>R?"76PVL[)%MW=NSG2K3/52)EE.+E;'0^XG2+2
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
M>S%.RV@HWKF' $VO4?8?4$L#!!0    ( ,1]CE"@(L$M$00  *(2   8
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
M_K#%D-#X<'S LYWF;#*\Z><OQ)9_7/X!4$L#!!0    ( ,1]CE JX>VOMP$
M -,#   9    >&PO=V]R:W-H965T<R]S:&5E=#$V+GAM;&U3[6[;(!1]%<0#
M%(<X:1;9EII.U2:U4M1IW6]B7]NH?+B X_;M!]CUK,Y_@'LYY]P/+MF@S:MM
M 1QZET+9'+?.=4=";-F"9/9&=Z#\3:V-9,Z;IB&V,\"J2)*"T"39$\FXPD46
M?6=39+IW@BLX&V1[*9GY.('00XXW^-/QS)O6!0<ILHXU\ O<[^YLO$5FE8I+
M4)9KA0S4.;[;'$]IP$? "X?!+LXH5'+1^C48/ZL<)R$A$%"ZH,#\=H5[$"((
M^33>)DT\APS$Y?E3_2'6[FNY, OW6OSAE6MS?,"H@IKUPCWKX0=,]>PPFHI_
MA"L(#P^9^!BE%C:NJ.RMTW)2\:E(]C[N7,5]&&]VZ41;)]")0&?"(<8A8Z"8
M^7?F6)$9/2 S]KYCX8DW1^I[4P9G;$6\\\E;[[T6F]VWC%R#T(0YC1BZQ,P(
MXM7G$'0MQ(G^1Z?[=?YV-<5MY&^7X;>'=8%T52"- NE28)]\J7$-\[5*LFBJ
M!-/$<;*HU+V*H[SPSA-[1^.C_(./X_[$3,.511?M_-/&!ZBU=N!326[\#+7^
MA\V&@-J%XZT_FW'.1L/I;OI"9/['Q5]02P,$%     @ Q'V.4".4"SNW 0
MTP,  !D   !X;"]W;W)K<VAE971S+W-H965T,3<N>&UL;5/;;MP@$/T5Q >$
M7>QL5RO;4C91U4JMM$K5]IFUQS8*&!?P.OW[#MAQW=0OP SGG+DP9*.Q+ZX%
M\.15J\[EM/6^/S'FRA:T<'>FAPYO:F.U\&C:AKG>@J@B22O&=[L#TT)VM,BB
M[V*+S Q>R0XNEKA!:V%_GT&9,:=[^N9XEDWK@X,562\:^ ;^>W^Q:+%%I9(:
M.B=-1RS4.7W8G\YIP$? #PFC6YU)J.1JS$LP/E<YW86$0$'I@X+ [0:/H%00
MPC1^S9IT"1F(Z_.;^L=8.]9R%0X>C?HI*]_F]$A)!;48E'\VXR>8Z[FG9"[^
M"]Q (3QD@C%*HUQ<23DX;_2L@JEH\3KMLHO[.-VD?*9M$_A,X OA&..P*5#,
M_$EX4636C,1.O>]%>.+]B6-ORN",K8AWF+Q#[ZW8'WC&;D%HQIPG#%]C%@1#
M]24$WPIQYO_1^6&;GVRFF$1^L@Z?'+<%TDV!- JD_]28O*MQ"Y.^"\)63=5@
MFSA.CI1FZ.(HK[S+Q#[$5V1_X=.X?Q6VD9TC5^/Q:>,#U,9XP%1V=SA#+?ZP
MQ5!0^W#\@&<[S=ED>-//7X@M_[CX U!+ P04    " #$?8Y0VS!<T+@!  #3
M P  &0   'AL+W=O<FMS:&5E=',O<VAE970Q."YX;6QM4]MNG# 0_17+'Q#O
MPF:S6@%2-E652JVT2M3VV0L#6/&%V&9)_SYC0RA->;$]XW/.7#S.!F-?7 O@
MR9N2VN6T];X[,N;*%A1W-Z8#C3>UL8I[-&W#7&>!5Y&D)$LVFSU37&A:9-%W
MMD5F>B^%AK,EKE>*VS\GD&;(Z99^.)Y$T_K@8$76\0:>P?_LSA8M-JM40H%V
MPFABH<[I_?9XV@5\!/P2,+C%F81*+L:\!.-;E=--2 @DE#XH<-RN\ !2!B%,
MXW72I'/(0%R>/]2_QMJQE@MW\&#D;U'Y-J<'2BJH>2_]DQD>8:KGEI*I^.]P
M!8GPD G&*(UT<25E[[Q1DPJFHOC;N L=]V&\2=.)MDY()D(R$PXQ#AL#Q<R_
M<,^+S)J!V+'W'0]/O#TFV)LR.&,KXATF[]![+;;[VXQ=@]"$.8V89(F9$0S5
MYQ#)6HA3\A\]V:_ST]44T\A/E^'3P[K ;E5@%P5V_]2X_U3C&N;N4Q"V:*H"
MV\1Q<J0TO8ZCO/#.$WN?Q$?Y"Q_'_0>WC=".7(S'IXT/4!OC 5/9W. ,M?C#
M9D-"[</Q#L]VG+/1\*:;OA";_W'Q#E!+ P04    " #$?8Y0!I0N*KD!  #3
M P  &0   'AL+W=O<FMS:&5E=',O<VAE970Q.2YX;6QM4]MNG# 0_17+'Q"S
M[&:S70%2-E'42JVT2M7TV0L#6/&%VF9)_[YC0RA->;$]XW/.7#S.!F-?70O@
MR9N2VN6T];X[,N;*%A1W-Z8#C3>UL8I[-&W#7&>!5Y&D)$N39,\4%YH66?2=
M;9&9WDNAX6R)ZY7B]O<)I!ERNJ'OCF?1M#XX6)%UO('OX']T9XL6FU4JH4 [
M832Q4.?T?G,\[0(^ EX$#&YQ)J&2BS&OP?A2Y30)"8&$T@<%CML5'D#*((1I
M_)HTZ1PR$)?G=_6G6#O6<N$.'HS\*2K?YO1 204U[Z5_-L-GF.JYI60J_BM<
M02(\9((Q2B-=7$G9.V_4I(*I*/XV[D+'?1AO]K<3;9V03H1T)AQB'#8&BID_
M<L^+S)J!V+'W'0]/O#FFV)LR.&,KXATF[]![+3;[0\:N06C"G$9,NL3,"(;J
M<XAT+<0I_8^>[M?YV]44MY&_78;?'M8%=JL"NRBP^Z?&3Q]J7,'<)1^"L$53
M%=@FCI,CI>EU'.6%=Y[8^S0^RE_X..[?N&V$=N1B/#YM?(#:& ^82G*#,]3B
M#YL-";4/QSL\VW'.1L.;;OI";/['Q1]02P,$%     @ Q'V.4,PY\2:V 0
MTP,  !D   !X;"]W;W)K<VAE971S+W-H965T,C N>&UL;5/;;MP@$/T5Q >$
M-=XFJY5M*9NJ:J566J5J^\S:8QL%C MXG?Y]!^QUW-0OP SGG+DP9*.Q+ZX%
M\.15J\[EM/6^/S+FRA:T<'>FAPYO:F.U\&C:AKG>@J@B22O&=[M[IH7L:)%%
MW]D6F1F\DAV<+7&#UL+^.8$R8TX3>G,\RZ;UP<&*K!<-? ?_HS];M-BB4DD-
MG9.F(Q;JG#XFQ],^X"/@IX31K<XD5'(QYB487ZJ<[D)"H*#T04'@=H4G4"H(
M81J_9TVZA S$]?FF_BG6CK5<A(,GHW[)RK<Y/5!202T&Y9_-^!GF>CY0,A?_
M%:Z@$!XRP1BE42ZNI!R<-WI6P52T>)UVV<5]G&[2&VV;P&<"7PB'2&!3H)CY
M1^%%D5DS$COUOA?AB9,CQ]Z4P1E;$>\P>8?>:Y$\)!F[!J$9<YHP?(U9$ S5
MEQ!\*\2)_T?G]]O\=#/%-/+3=?CTL"VPWQ381X']/S7R=S5N8=)W0=BJJ1IL
M$\?)D=(,71SEE7>9V$<>'^4-/HW[-V$;V3ER,1Z?-CY ;8P'3&5WAS/4X@];
M# 6U#\<'/-MISB;#FW[^0FSYQ\5?4$L#!!0    ( ,1]CE!L"5I=MP$  -,#
M   9    >&PO=V]R:W-H965T<R]S:&5E=#(Q+GAM;&U3T6Z<,!#\%<L?$-\!
M24XG0,HEBEJIE4ZIVC[[8 $KMI?:YDC_OK8AE*:\8.\R,SMKK_,1S:OM !QY
M4U+;@G;.]4?&;-6!XO8&>]#^3X-&<>=#TS+;&^!U)"G)DMWNCBDN-"WSF#N;
M,L?!2:'A;(@=E.+F]PDDC@7=T_?$BV@[%Q*LS'O>PC=PW_NS\1%;5&JA0%N!
MFAAH"OJP/YZR@(^ 'P)&N]J3T,D%\34$G^N"[H(AD%"YH,#]<H5'D#((>1N_
M9DVZE S$]?Y=_3GV[GNY< N/*'^*VG4%/5!20\,'Z5YP_ 1S/[>4S,U_@2M(
M#P].?(T*I8U?4@W6H9I5O!7%WZ95Z+B.TY_T,-.V"<E,2!;"(=9A4Z'H_(D[
M7N8&1V*FL^]YN.+],?%G4X5D/(KXSYNW/GLM]_=9SJY!:,:<)DRRQBP(YM67
M$LE6B5/R'SVYV^:GFQ;3R$_7Y=/#MD"V*9!%@>R?'F\_]+B%^>B2K0Y5@6GC
M.%E2X:#C**^RR\0^)/%2_L*G<?_*32NT)1=T_FKC!32(#KR5W8V?H<Z_L"60
MT+BPO?=[,\W9%#CLYR?$EG=<_@%02P,$%     @ Q'V.4()J.K^X 0  TP,
M !D   !X;"]W;W)K<VAE971S+W-H965T,C(N>&UL;5/M;ML@%'T5Q .4Q'&;
M++(M-:VJ3=JDJ-.ZW\2^ME&!ZP&.N[<?8-?S.O\![N6<<S^X9 .:5]L"./*F
MI+8Y;9WKCHS9L@7%[0UVH/U-C49QYTW3,-L9X%4D*<F2S>:.*2XT+;+H.YLB
MP]Y)H>%LB.V5XN;W"20..=W2=\>S:%H7'*S(.M[ =W _NK/Q%IM5*J% 6X&:
M&*AS>K\]GM* CX 7 8-=G$FHY(+X&HPO54XW(2&04+J@P/UVA0>0,@CY-'Y-
MFG0.&8C+\[OZ4ZS=UW+A%AY0_A25:W-ZH*2"FO?2/>/P&:9Z;BF9BO\*5Y >
M'C+Q,4J4-JZD[*U#-:GX5!1_&W>AXSZ,-[?I1%LG)!,AF0F'&(>-@6+FC]SQ
M(C,X$#/VON/AB;?'Q/>F#,[8BGCGD[?>>RVV^WW&KD%HPIQ&3++$S CFU><0
MR5J(4_(?/;E;Y^]64]Q%_FX9?G=8%TA7!=(HD/Y3X^%#C6N83Q^"L$53%9@F
MCI,E)?8ZCO+".T_L?1(?Y2]\'/=OW#1"6W)!YY\V/D"-Z,"GLKGQ,]3Z'S8;
M$FH7CGM_-N.<C8;#;OI";/['Q1]02P,$%     @ Q'V.4.(13A6V 0  TP,
M !D   !X;"]W;W)K<VAE971S+W-H965T,C,N>&UL;5/;;IPP$/T5RQ\0@]FD
MJQ4@91-%J=1(JU1MG[TP@!5?J&V6Y.]K&Y;2E!?;,S[GS,7C?-3FS78 #KU+
MH6R!.^?Z R&VZD R>Z-[4/ZFT48RYTW3$ML;8'4D24%HDMP1R;C"91Y])U/F
M>G""*S@99 <IF?DX@M!C@5-\=;SRMG/!0<J\9RU\!_>C/QEOD46EYA*4Y5HA
M TV![]/#<1?P$?"3PVA79Q0J.6O]%HRO=8&3D! (J%Q08'Z[P ,($81\&K]G
M3;R$#,3U^:K^%&OWM9R9A0<M?O':=07>8U1#PP;A7O7X#',]MQC-Q7^#"P@/
M#YGX&)46-JZH&JS3<E;QJ4CV/NU<Q7V<;K(K;9M 9P)="/M((%.@F/DC<ZS,
MC1Z1F7K?L_#$Z8'ZWE3!&5L1[WSRUGLO9;I/<G()0C/F.&'H&K,@B%=?0M"M
M$$?Z'YW>;?.SS12SR,_6X;/]ML!N4V 7!7;_U)A^JG$+0S\%(:NF2C!M'">+
M*CVH.,HK[S*Q]S0^RE_X-.XOS+1<6736SC]M?(!&:P<^E>3&SU#G?]AB"&A<
M.'[Q9S/-V60XW<]?B"S_N/P#4$L#!!0    ( ,1]CE"E%)VVMP$  -,#   9
M    >&PO=V]R:W-H965T<R]S:&5E=#(T+GAM;&U3VVZ<,!#]%<L?$.\"25<K
M0,JFBE*IE5:IVCY[80 KOE#;+.G?=VP(H2DOMF=\SIF+Q_EH[(OK #QY55*[
M@G;>]T?&7-6!XN[&]*#QIC%6<8^F;9GK+? ZDI1DR6YWQQ07FI9Y])UMF9O!
M2Z'A;(D;E.+VSPFD&0NZIV^.9]%V/CA8F?>\A>_@?_1GBQ9;5&JA0#MA-+'0
M%/1^?SQE 1\!/P6,;G4FH9*+,2_!^%(7=!<2 @F5#PH<MRL\@)1!"-/X/6O2
M)60@KL]OZH^Q=JSEPAT\&/E+U+XKZ(&2&AH^2/]LQB>8Z[FE9"[^*UQ!(CQD
M@C$J(UU<234X;]2L@JDH_CKM0L=]G&[29*9M$Y*9D"R$0XS#ID Q\\_<\S*W
M9B1VZGW/PQ/OCPGVI@K.V(IXA\D[]%[+_2'-V34(S9C3A$G6F 7!4'T)D6R%
M."7_T9.[;7ZZF6(:^>DZ?'K8%L@V!;(HD/U38_:AQBW,[8<@;-54!;:-X^1(
M908=1WGE72;V/KXB>X=/X_Z-VU9H1R[&X]/&!VB,\8"I[&YPACK\88LAH?'A
M^ G/=IJSR?"FG[\06_YQ^1=02P,$%     @ Q'V.4/?(4^JW 0  TP,  !D
M  !X;"]W;W)K<VAE971S+W-H965T,C4N>&UL;5/;;MP@$/T5Q >$7=;9K%:V
MI6RJ*I5::96H[3-KCR\*, [@=?KW >RX;NH78(9SSEP8T@'-BVT ''E34MN,
M-LYU1\9LT8 2]@8[T/ZF0J.$\Z:IF>T,B#*2E&1\L]DS)5I-\S3ZSB9/L7>R
MU7 VQ/9*"?/G!!*'C&[IA^.IK1L7'"Q/.U'#,[B?W=EXB\TJ9:M VQ8U,5!E
M]'Y[/"4!'P&_6ACLXDQ")1?$EV!\*S.Z"0F!A,(%!>&W*SR E$'(I_$Z:=(Y
M9" NSQ_J7V/MOI:+L/" \G=;NB:C!TI*J$0OW1,.CS#5<TO)5/QWN(+T\)")
MCU&@M'$E16\=JDG%IZ+$V[BW.N[#>)/<3K1U I\(?"8<8APV!HJ9?Q%.Y*G!
M@9BQ]YT(3[P]<M^;(CAC*^*=3]YZ[S7?'O8INP:A"7,:,7R)F1',J\\A^%J(
M$_^/SO?K_-UJBKO(WRW#[P[K LFJ0!(%DG]JO/M4XQKF<Q"V:*H"4\=QLJ3
M7L=17GCGB;WG\5'^PL=Q_R%,W6I++NC\T\8'J! =^%0V-WZ&&O_#9D-"Y<+Q
MSI_-.&>CX;";OA";_W'^#E!+ P04    " #$?8Y0YC6RI[<!  #3 P  &0
M 'AL+W=O<FMS:&5E=',O<VAE970R-BYX;6QM4]MNW" 0_17$!P2OO4DW*]M2
M-E'42JVT2M7VF;7'-@HP+N!U^O<%[+A6ZA=@AG/.7!CR$<VK[0 <>5-2VX)V
MSO5'QFS5@>+V!GO0_J9!H[CSIFF9[0WP.I*49&F2W#'%A:9E'GUG4^8X."DT
MG VQ@U+<_#F!Q+&@._KN>!%MYX*#E7G/6_@.[D=_-MYBBTHM%&@K4!,#34$?
M=L?3/N CX*> T:[.)%1R07P-QI>ZH$E(""14+BAPOUWA$:0,0CZ-W[,F74(&
MXOK\KOX<:_>U7+B%1Y2_1.VZ@AXHJ:'A@W0O.'Z&N9Y;2N;BO\(5I(>'3'R,
M"J6-*ZD&ZU#-*CX5Q=^F7>BXC]--=CO3M@GI3$@7PB'&85.@F/D3=[S,#8[$
M3+WO>7CBW3'UO:F",[8BWOGDK?=>R]WA/F?7(#1C3A,F76,6!//J2XAT*\0I
M_8^>WFWSL\T4L\C/UN&SP[; ?E-@'P7V:X'[Y$.-6YB/5;)54Q68-HZ3)14.
M.H[RRKM,[$,:'^4??!KW;]RT0EMR0>>?-CY @^C IY+<^!GJ_ ];# F-"\=/
M_FRF.9L,A_W\A=CRC\N_4$L#!!0    ( ,1]CE"QO,Y?MP$  -,#   9
M>&PO=V]R:W-H965T<R]S:&5E=#(W+GAM;&U3VV[<(!#]%<0'A%WL)-N5;2F;
MJFJE5EJE:OO,VF,;!8P+>)W^?0?LN&[B%V"&<\Y<&++1V&?7 GCRHE7G<MIZ
MWQ\9<V4+6K@;TT.'-[6Q6G@T;<-<;T%4D:05X[O='=-"=K3(HN]LB\P,7LD.
MSI:X06MA_YQ F3&G>_KJ>))-ZX.#%5DO&O@._D=_MFBQ1:62&CHG34<LU#E]
MV!]/:<!'P$\)HUN=2:CD8LQS,+Y4.=V%A$!!Z8."P.T*CZ!4$,(T?L^:= D9
MB.OSJ_JG6#O6<A$.'HWZ)2O?YO1 206U&)1_,N-GF.NYI60N_BM<02$\9((Q
M2J-<7$DY.&_TK(*I:/$R[;*+^SC=W/.9MDW@,X$OA$.,PZ9 ,?./PHLBLV8D
M=NI]+\(3[X\<>U,&9VQ%O,/D'7JOQ?X#S]@U",V8TX3A:\R"8*B^A.!;(4[\
M'9W?;?.3S123R$_6X9/#MD"Z*9!&@?2_&I,W-6YATC=!V*JI&FP3Q\F1T@Q=
M'.65=YG8A_B*[!]\&O=OPC:R<^1B/#YM?(#:& ^8RNX&9ZC%'[88"FH?CO=X
MMM.<388W_?R%V/*/B[]02P,$%     @ Q'V.4$_U6E6X 0  TP,  !D   !X
M;"]W;W)K<VAE971S+W-H965T,C@N>&UL;5/;;MP@$/T5Q >$7>\EVY5M*9NJ
M2J566J5J\LS:8QL%& ?P.OW[ G8<-_4+,,,Y9RX,:8_FQ38 CKPIJ6U&&^?:
M(V.V:$!Q>X,M:']3H5'<>=/4S+8&>!E)2K)DM=HSQ86F>1I]9Y.GV#DI-)P-
ML9U2W/PY@<0^HVOZ[G@4=>."@^5IRVOX!>YW>S;>8I-**11H*U 3 U5&[];'
MTS;@(^!)0&]G9Q(JN2"^!.-[F=%52 @D%"XH<+]=X1ZD#$(^C==1DTXA W%^
M?E?_%FOWM5RXA7N4SZ)T348/E)10\4ZZ1^P?8*QG1\E8_ ^X@O3PD(F/4:"T
M<25%9QVJ4<6GHOC;L L=]WZXV>U&VC(A&0G)1#C$.&P(%#/_RAW/4X,],4/O
M6QZ>>'U,?&^*X(RMB'<^>>N]UWS]99>R:Q :,:<!D\PQ$X)Y]2E$LA3BE/Q'
M3_;+_,UBBIO(W\S#;P[+ MM%@6T4V/Y3X_Y3C4N8VT]!V*RI"DP=Q\F2 CL=
M1WGFG2;V+HF/\@$?QOTG-[70EES0^:>-#U A.O"IK&[\##7^ATV&A,J%XZT_
MFV'.!L-A.WXA-OWC_"]02P,$%     @ Q'V.4+!:'1"Z 0  TP,  !D   !X
M;"]W;W)K<VAE971S+W-H965T,CDN>&UL;5/;;IPP$/T5RQ\0[[(TW5T!4C91
MU$JMM$K5]-D+ UCQA=IF2?^^8T,H37BQ/>-SSEP\S@9C7UP+X,FKDMKEM/6^
M.S+FRA84=S>F XTWM;&*>S1MPUQG@5>1I"1+-IM;IKC0M,BB[VR+S/1>"@UG
M2URO%+=_3B#-D-,M?7,\B:;UP<&*K.,-_ #_LSM;M-BL4@D%V@FCB84ZIW?;
MXRD-^ AX%C"XQ9F$2B[&O 3C:Y7334@())0^*'#<KG /4@8A3./WI$GGD(&X
M/+^I/\;:L98+=W!OY"]1^3:G>THJJ'DO_9,9OL!4SR=*IN*_P14DPD,F&*,T
MTL65E+WS1DTJF(KBK^,N=-R'\28]3+1U0C(1DIFPCW'8&"AF_L ]+S)K!F+'
MWG<\//'VF&!ORN",K8AWF+Q#[[78'O89NP:A"7,:,<D2,R,8JL\ADK40I^0#
M/;E=Y^]64]Q%_FX9?K=?%TA7!=(HD/Y7X^%=C1\Q.-CO@K!%4Q78)HZ3(Z7I
M=1SEA7>>V+LD/LH_^#CNW[EMA';D8CP^;7R VA@/F,KF!F>HQ1\V&Q)J'XZ?
M\6S'.1L-;[KI"['Y'Q=_ 5!+ P04    " #$?8Y0-L<W;[<!  #3 P  &0
M 'AL+W=O<FMS:&5E=',O<VAE970S,"YX;6QM4]MNG# 0_17+'Q"SAJ2K%2!E
M$U6-U$JK5&V>O3" %5^(;9;T[VL;0DC"B^T9GW/FXG$^:O-L.P"'7J50ML"=
M<_V!$%MU()F]TCTH?]-H(YGSIFF)[0VP.I*D(#1);HAD7.$RC[Z3*7,].,$5
MG RR@Y3,_#N"T&.!=_C-\<C;S@4'*?.>M? ;W)_^9+Q%%I6:2U"6:X4,- 6^
MW1V.6<!'P%\.HUV=4:CDK/5S,![J B<A(1!0N:# _':!.Q B"/DT7F9-O(0,
MQ/7Y3?U[K-W7<F86[K1XXK7K"KS'J(:&#<(]ZO$'S/5<8S07_Q,N(#P\9.)C
M5%K8N*)JL$[+6<6G(MGKM',5]W&ZR>A,VR;0F4 7PC[&(5.@F/D]<ZS,C1Z1
MF7K?L_#$NP/UO:F",[8BWOGDK?=>2IKL<G()0C/F.&'H"O..(%Y]"4&W0ASI
M%SJ]V>:GFRFFD9^NPZ?[;8%L4R"+ MF'&NFG&K<PZ:<@9-54"::-XV11I0<5
M1WGE72;V-KXB>8=/X_Z+F98KB\[:^:>-#]!H[<"GDESY&>K\#UL, 8T+QV_^
M;*8YFPRG^_D+D>4?E_\!4$L#!!0    ( ,1]CE"8!#8MMP$  -,#   9
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
M:&5E=#,T+GAM;&U3[6[;(!1]%<0#E(0X:139EII6U29M4M1IVV]B7]NH8#S
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
MQFWO[5Y-$S,%1O;S8T"6%RG_"U!+ P04    " #$?8Y03N>&DB,%  #F'0
M&0   'AL+W=O<FMS:&5E=',O<VAE970U,2YX;6R-F6MOXD88A?\*\O>L/5?;
M$2 %6-1*K11MU>YG!X:+UA?6-F'[[^M;*)XY+^%+P,Z9><^,YSDVGNFE*']4
M!V/JR:\LS:N9=ZCKT[/O5YN#R9+J2W$R>?.?75%F2=T<EGN_.I4FV7:-LM3G
M0:#]+#GFWGS:G7LMY]/B7*?'W+R6D^J<94GY[\*DQ67F,>_CQ+?C_E"W)_SY
M])3LS5^F_OOT6C9'_K67[3$S>74L\DEI=C/OA3VO==0VZ!3_',VENOD^:8?R
M5A0_VH/?MS,O:!V9U&SJMHND^7@W2Y.F;4^-CY]#I]ZU9MOP]OM'[^MN\,U@
MWI+*+(OT^W%;'V9>Y$VV9I><T_I;<?G-# -2WF08_1_FW:2-O'72U-@4:=7]
MG6S.55UD0R^-E2SYU7\>\^[S,O3_T0PWX$,#?FW V=T&8F@@'FT@AP;RT09J
M:* >;:"'!MIJX/>3U<W^*JF3^;0L+I.R7T"GI%VG[%DWUW?3GNPN9_>_Y@)4
MS=GWN1#1U']O.QHTBU[#;S3LJO";WJ\E."JQX$YS(>)QB270R&"L62$-&VN^
M(@T?:]9((_" !)PST74@1QU(:\YZC>XT>:?1@36@I:MYDK9H]8EH9%="NQ+8
M59;=7J-NJMAF/U6L[BE&-A6TJ8!-;=E4G]K\5+&ZIQC9U-"F!C9#RZ9V2C 6
M6**E*XJ8M517KD;&"KL-H=L0N+7Q#EVW0G%[8H$J4(R8N@B:B8 9*P@6D5M&
M!=J>.Z12-S,\,A-#,[%K1EEC7L1.F:=F:L+0GAND"WFH"4,LP%$< $O,SN(
M7"T9$(N"$:'/0"5N5V)N)1Z%]J5 ?46$&WA_>&'<Z2&.B1YP(#.0R$K8XP&B
MR!Z,F[:A"JTUN@*J)T%=:YS)#(2RDD07."\9"DSKZJP'T:U51=T]& X\AA(O
MLNN I.)D(9Q5#(55;!<".<3(0CB'& @BF_TU<S-&:+(0SAB&0H9 E>-0X"@4
MK*6]'D2W5[EY1B"\<IP)'&6")KK (',79"? O@XB/;J1D$\T' //$?#<KN1B
M>J\2!I4C4 G6.0:5 U"5?1.&(B(%.0:5 U"U?4N#(NIQ'G/* :>:$UU@ CDB
MT)D2(-+$@SK' '( H#LE2$1DL<"4"D"I)D 7F#^!^+.G!(FH*1$84@$@=:8$
MBJ@I(7XD 40UD2<"LR< >_:CX **B <0@0$5@#U-L"<P>P)@93\F+J"(8$]@
M]@1@+R38$Y@] ;!RK2(1M= P>P)@%1)K2&*L), J='ZZ(A&QT"1F3P*L0B+D
M)<9*HGN?C2\24?A*C)4$6(7$<I?$^P! C/V,NT BTBK&2@*L(NK-!<9*(F*<
M!0!$$8&5Q%A)@%5$8"4Q5O*16QH4$4DC,5828!41%T9AK!0BQEX 2$1951@K
MA7X:$@F@,%8*$!/9"P")J+6J,%8*_3@D0D1AK!0@QK6*1$32*.(]&<**2 "%
ML5*(&,<J$E$+ &.E %8Q]5(08Z4 ,:Y5((J)!% 8*P6PBHD$T!@K#8AQK")1
M3*Q5C;'2 *N8P$ICK/0C6"$1]?918ZPTP"HFL-(8*_T(5E!$K%6-L=( JY@@
M4Q.OAA_!"HFHM:HQ5AIA122 QEAI1(Q]"]#N*Q#[S>==26_$O]F*RDRY[S82
MJ\FF..=UNPUS<_:Z6?G"VZTLZ_R"/:_Z+:[_N^EW0/],ROTQKR9O15T76;>=
MM2N*VC0.@R^-MX-)MM>#U.SJ]FO8?"_[G<?^H"Y.PZZJ?]W:G?\'4$L#!!0
M   ( ,1]CE#F;4D*G0<   $P   9    >&PO=V]R:W-H965T<R]S:&5E=#4R
M+GAM;(V:ZU(;21*%7T6A!["Z[E4.(&+,93"#D3P;._M;-HU1C*1FI;:9??MM
M22U,5YZ#ZP\@<:JR;OEU9G:=/#>;O[>/==V._EDMU]O3\6/;/KV?3+9?'^O5
M?/NN>:K7W7\>FLUJWG8?-]\FVZ=-/;_?-UHM)[JJ_&0U7ZS'9R?[[V:;LY/F
M>[M<K.O99K3]OEK--__[4"^;Y].Q&A^_^'/Q[;'=?3$Y.WF:?ZO_5;?_?IIM
MND^3EU[N%ZMZO5TTZ]&F?C@=_Z;>?TYNUV"O^&M1/V]?_3W:3>5+T_R]^_#Q
M_G1<[494+^NO[:Z+>??K1WU>+Y>[GKIQ_+?O=/QB<]?P]=_'WJ_VD^\F\V6^
MK<^;Y7\6]^WCZ3B.1_?UP_S[LOVS>;ZN^PFY\:B?_6W]HUYV\MU(.AM?F^5V
M_W/T]?NV;59]+]U05O-_#K\7Z_WOY[[_8S/<0/<-]$L#K=YL8/H&IK2![1O8
MGPW>'I+K&[B?#<*;#7S?P)<V"'V#4-H@]@UBZ:13WR"5-E#5<>>JXB8OFZV*
MFQRW6^G2W5#'#5?%.ZZ.6ZYLZ0*KXZ:KXEU7QVU7Q?NNCANO0C:7R<&O]HYZ
M,6_G9R>;YGFT.;#F:;Y#FGK?M>HZWWV[=_W]/SMGW7;?_CBS574R^;'KJ==\
M.&CT0*.&FG.DT4/-!=*8H>82:>Q0<X4T;JCY'6G\4'.--&&H^8@T<:BY09HT
MU/P!-"I;YUNDR=;Y$])DZWR'--DZ3Y$F6^<9TF3K_!EI?J[SI#M\+R=0XQ.H
M]SW800_9+MP=-'ZO6>\U.NG*Y9.2,A^2R99G)E5*J>@#'K7!HS9@U-FYN#MH
MW&#4V1F<2HW-)#,I"8X,UN+!6C#8[(!^LF)53$C9/DR1*&33G@&1#0H/V.$!
M.SE@7>$>/.[!__I477IYJFQ,.?[N@,RDZ T>3\#C";\^+Y=!;+2IR*PCMA+!
MNF4$N8S222PSD["9!,QD7G:9Q&2<9F9VH0)\.%7 D'AB5-*?N27V&%3 DLVY
MJJ1#NZIRCM@BP%. >-KEMK2PE2K++!%(*4 I[7-+4F0BL4/XH@!@-$&4(BZO
M@,_G'GO1BP:^J*+PV%[FAC)#/%81A"C D-R;+GK1 .#T\!$V* "'W)\NE*0#
M-T3PH! ?8FY( J)C(K-$"*$0(E)N28I,3-B0)HC0 !$F.P\7&B#"L2EI@@A=
M@@@-$&$,\UO-0J(20@ 1\UM-^*!+^*!E_*&L8XM'"*$!(0R)"30AA"X@Q+F6
MA.AB.T$(+0G1R0P[?(00NH 0YUH2(M&S1PBA"PAQKB4A(C5$"*$1(4QN2!)"
M44,$$!H!0GB3#")4C P1AB#"H"@B]R8@8MYD"" , D3N34!$[1 Z&$"'5TG.
ML ^6OJ#\)?.E#[UHF"D%X4L& $(%Q69%"&%0#*'R$5EARK.39PA&#$HN=&Y(
M8H0;(G0PB [Y$3>2#F\M'N&#07P01UR*Z-$C># (#^*(2Q&U0^A@ !U8^&:)
MVUO@]J*PT(N&.?J@LC"T15S? M?/,^P["V(#FJA8XOP6.7]^J*Q,'HRASP)+
M&&$!(TQ^J*QT?IY.6E:?0+XO)B5]WU2=*58*(>YOD?N+6<GP@&=?EOB_1?Z?
M.XN5U04>75GB_A:XOR%5.$M<VP+7SMWEHY5/?J-%P7C:RP9;I4TDSRA+(&!1
MB*#R$<D0@?J4(Z1P*$#(G@@?G<PAN"&""5>00DR=Q(31VC!3A!.N((68 A$C
MM2.0< 4IQ!2(J!V""(<2".+ZCE45"Q*(:P=*#%Z)(^Y B:&3L1$11+B"!.+:
M@1"!)N2.(,(59!#7O<B762(@<2A&$(=<$D)W 18AK".$<(@0XI"C*@.I)1-
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
M@B"6E5Y4$'A9Z4%(>I5#T 4$B>A5>E"K7A_3_SF=I.L'(M&K) +2@PP"D(4
M!&]S%( RDK<9!" + <"2%81V5EEX\#:&MJ.S$-M9I>J@#QF"-JL</#@;@S:A
MLU3)$R&;H%Z<(19S0RR^R#$6YR>3$(LYQN)LEF!1SQ"+N:6<)XQHJ<T0K[FE
MGB>,<!R(UMQ2TLOJ89VJLA#2I:6D5\2C^CA2XE4@IDM+1:_$1=UZ6BL*1'YI
MJ>@5$?D9)*9 Y)>6DIXPHNE00!U*2SVOB&T#RAT*J$-I*><55<X;X*&VT'Y
M2SFOB'+>:+!.%]"&TE+,*R+AQXL'XE!::GE%U?*2P4I<0!]*2S&O1'U8N \P
MU  *,;04\P:A$%UGH! #*,304#IX,<32@5I7!B$DO*X,H"2#RB'H'" 20TLE
M;Q!E@6Y$=T$G!J$3))X#2,#04LD31J1I PC ( 1@@$1DH$V\EC+>(.KT'83V
M *$]B- >Z!P0LT-+&6\0:WI'6XX0L:.(6-*R$4)Q; C%YZ,(11M"*(XB%&TP
MF"\CA.+84L431C0O1PC7L:6*)XQP'(C5L:6&)XQP'(CGL:6&-XIG]".W"$)Z
M;*GAC7%-'XUF.,3]V%+#&V/<)QJ'=N];*GC"".\12,/84L$;Q1;^!%G7!-(P
MM93P)E'"\Y%& @&96DIXDRCAP9(W@2Q,+06\*>;Z?.E %Z:6"MXD*GB&Y<\)
MI&%JJ>!-HH(W3##!)Q"'J:6 -T5QR)FR\ FT86JH&3R?1,U +"B3J!FP6DT@
M(I,0D8$^%0C$U%*_FV+*GSJJVTS$^ B)H&>N.?76)_GT'U_R=V]UX#"6\*PC
M@J<3$C 0!M01G=.UE/'V5@=S%!TF0*<3(4Z/2]81>].UE/+V5@=SF#TF^J93
MU3SBGSHB:[J&V#S?6QW!$JOA"*[I6HIU>ZLV^FY^5J+!6BIV>ZNV75GK"+'I
M6LIV>ZMJ,%CW#&&\-AI/X'BIZ[N.B"CF\=J O+BB3VG P2CHVY@\ >5YHN==
M0RZO#<S[FV0>HGEM;)Z"\PHB7TCGM>%YBL_SA-,?";TV1$\R>I:0T4-(KXW2
M4YC>D2M).M(&ZBE2;V!4#UF]-EA/T7I6J"YAA.M9$Z]G"MCKRS32?2-BSUJ0
MO7-3+-ZQY89@/%,T'BH2X7C6Q..9 /)R5VA;W8C(,X7D$=I@Q.19$Y1G@LJ;
MDSVB\HRP/%-<WD"K&H%YUD3FF4#SQI'TBM@\4W >GX5BM0G/VUL]?K1)HT.]
MTPC0,T7H)4I1"=&S%D;O!Q.07O*^?AJ[,$'I)4\H>H3I60NG=Z&LJ-QB1.I9
M"ZIWH:QX* KE%E;OP@2LMS"J&QCQ>M8"[%V8(/:2.[_/0!'?PNQ=F(+V,/TD
M:L\DMI?#6%$7%DZ8BQ&X9Y+<*V$PL=C/#Z*4$1*^9Y+?BY-1[.;UR*H807PF
M*;XP'Q7&UX\C+;X$\IDB^>K4XL($RF?CA"_R$,QGBN:+NM;']P^EK@GL[YBN
M$?IGBOT;0Y@(*Q0;0O],L7_L,*F(POKJ%>W"!->7$4<RXOI,@7T\ST@>)(P7
M71;/ @=WOAJ-]$%A>U0@-R+R3")YT6>1Y&.20N2>*72/7K4QHO),8GG!XZS>
MHD&/*985OI=HV2 TSQ2;5RO"]WNK VZT6%2$'-/[K1UZ16&J:+^8Z0@K5 3"
M_4SQ?C'3$58\%$6RQ +#RB* OP7NQQL!?Z:(OYCI9('UE(XVU(VP/U/<7\QT
MLJHB\NP@75#P7TQU!/VW&.EY@O _D_Q?6)\% +C .AOQ?R8!P# 5A15.10(
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
M98J@/5?07DP^1#N_82K4F=\)[G/9T2_>M[^I) 3XN0#\,E:("/!S!?A%Q1:
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
M/K/^*XSU)+XW%O\=;D 57#M1.4I&A7EZY55(UHPJRDI#WH:Q;LW8C_IWFIN
M1P*>"&'Z*2$:"=$[(?Z4$(^$V"*@H12S-WLB29%SUGM\^'<[H@]1N([5[I<Z
M:#;;O%/;(U3T5B1IFJ.;%AHQVP&#9YAP0B"E/J7 KA1;O*!C*\/. <D^0O9+
M2(K=+B)GH9'AQQ\*M7)L!TQJ,*W!1.J'(\NM X9Q&C]:CAVP,,J21[?KV.DZ
M7KA^L$W'RS19$@>69P<J3 /;\A*%DRC\SSXG3L>)D8CFC@,W/W7RTV7%H57Q
M ,EF+H-5;!\I)\A2VKM 4>2VFSGM9DN[V+*;N9PDEETGR+;K BWLHMFGWP"_
MF+8JO))=6ZD_H%ETZMQ/6+<.*[Y5'7UHP.\RPW7P@_!+W0KOR*1J3*9]G!F3
MH#P&*W4 *G4#30L*9ZFGF9KSH0\/"\FZ\8I!TSU7_ -02P,$%     @ Q'V.
M4"FLJ3D1 @  J 4  !D   !X;"]W;W)K<VAE971S+W-H965T-3<N>&UL?53;
MCMHP$/V5*!^ B7.!HA!I 56MU$IHJVZ?31A(M':<VH9L_[Z^A&P(WGW!GLFY
MS-AF\HZ+5UD!J."-T4:NPTJI=H60+"M@1,YX"XW^<N*"$:5#<4:R%4".EL0H
MPO-YAABIF[#(;6XOBIQ?%*T;V(M 7A@CXM\&*._6813>$L_UN5(F@8J\)6?X
M!>IWNQ<Z0H/*L6;0R)HW@8#3.GR*5KO,X"W@I89.CO:!Z>3 ^:L)OA_7X=P4
M!!1*912(7JZP!4J-D"[C;Z\9#I:&.-[?U+_:WG4O!R)AR^F?^JBJ=;@,@R.<
MR(6J9]Y]@[Z?- SZYG_ %:B&FTJT1\FIM+]!>9&*LUY%E\+(FUOKQJY=KW^C
M^0FX)^"!$&6?$N*>$+\3DD\)24]()@3D6K%GLR.*%+G@72#<[;;$/*)HE>C3
M+TW2'K;]IH]'ZNRU2+-ECJY&J,=L' :/,-& 0%I]L, ^BPU^H./LWF'K@2SN
M(;M'2(;]5<3>1F/+3^X:_3)IU&%2BVE<&6F4X ]\$J]/\NBSF$]\'&8Q]L&S
M>.&W2;TVJ<?F@UO)O *91P!/ZG28;%1G,KDXAUB.$-%LHK+S8::EHM%[92#.
M=A;(H.271IE;'V6'<?.$S7N?Y#=Z#+FI\2[C9MA/(LYU(X,#5_K?9-_\B7,%
MNL3Y3!]GI<?F$% X*;-=Z+UPP\,%BK?]7$3#<"[^ U!+ P04    " #$?8Y0
M/-8,J=<!   F!0  &0   'AL+W=O<FMS:&5E=',O<VAE970U."YX;6R-5-N.
MFS 4_!7D#U@GW+*- *F;U:J56BG:JMMG!P[!6E^H[83MW]<V!.5BK?*"?0XS
MXQEL7 Q2O>L.P$0?G E=HLZ8?HVQKCO@1#_('H1]TTK%B;&EVF/=*R"-)W&&
MX\4BQYQ0@:K"][:J*N3!,"I@JR)]X)RH?T_ Y%"B)3HU7NF^,ZZ!JZ(G>_@%
MYG>_5;;"LTI#.0A-I8@4M"7ZNEQO<H?W@#<*@SZ;1R[)3LIW5WQO2K1PAH!!
M;9P"L<,1-L"8$[(V_DZ::%[2$<_G)_47G]UFV1$-&\G^T,9T)7I$40,M.3#S
M*H=O,.7)4#2%_P%'8!;NG-@U:LFT?T;U01O))Q5KA9./<:3"C\.D?Z*%"?%$
MB&?",OV4D$R$Y(J 1V<^ZC,QI"J4'"(U;E9/W)E8KA/[,6O7]-_.O[-IM>T>
MJVR5%/CHA";,TXB)SS!Q?@G9!""K&8*M@]E&'+01>WYZ82.]LC%B<H\1(R;/
MKHW<@N+5ES1L)0E:20)6LK! &A1([\ARBTD>KY)\"KFPD05M9 $;>5@@#PKD
M=^3([]F36U!@3_#9B74WR$^B]E3H:">-/?S^B+92&K""BP>;K;.7UEPP:(V;
MKNQ<C;_N6!C93[<2GJ_&ZC]02P,$%     @ Q'V.4/J(0>+Z 0  (04  !D
M  !X;"]W;W)K<VAE971S+W-H965T-3DN>&UL?53;CILP$/T5Y ^(@; D&P'2
M)E'52JT4;=7VV8'AHK4QM4W8_GU]85F6H'W!GO$Y,V<&CY.!BQ=9 RCOE=%6
MIJA6JCM@+/,:&)$;WD&K3THN&%':%!66G0!26!*C./3]&#/2M"A+K.\BLH3W
MBC8M7(0G>\:(^'<$RH<4!>C-\=Q4M3(.G"4=J> GJ%_=16@+3U&*AD$K&]YZ
M LH4/06'<V3P%O"[@4'.]IZIY,KYBS&^%2GRC2"@D"L3@>CE!B>@U 32,OZ.
M,=&4TA#G^[?H7VSMNI8KD7#B]$]3J#I%>^054)*>JF<^?(6QG@?DC<5_AQM0
M#3=*=(Z<4VF_7MY+Q=D814MAY-6M36O7P9W$CR-MG1".A' B!/&GA.U(V+X3
MHD\)T4B(%@3L2K&].1-%LD3PP1/N[W;$7*+@$.GNY\9IFVW/='ND]MZRA]TN
MP3<3:,0<'2:<88()@77T*46XEN(8WM'#^&.&TPID(>)\#XG#=17;U4*WEA]]
M*'2_*-1A]A;3ND(WT4*JP\1SS+J,:%5&M"+C<2$CNI/A;Y8=N\<$FW#1LK4X
M^X58/+LH#$1EAU!Z.>];9=H]\TYS_A2:B[;P'_7\NW%]#^,>CQ]$5$TKO2M7
M^AK;RU9RKD!+]#=Z(FO]7DT&A5*9[4[OA9M:9RC>C0\2GE[%[#]02P,$%
M  @ Q'V.4&0/,*_6 0  B@0  !D   !X;"]W;W)K<VAE971S+W-H965T-C N
M>&UL?531CILP$/P5Y/>>,88DC0C2A:IJI5:*KKKVV8$EH+,QM9UP_?O:AB".
MTGO!WO7,[*RQG?92O>@:P 2O@K?Z@&ICNCW&NJA!,/T@.VCM2B658,:&ZH)U
MIX"5GB0XCL)P@P5K6I2E/G=262JOAC<MG%2@KT(P]><(7/8'1- ]\=1<:N,2
M.$L[=H$?8)Z[D[(1GE3*1D"K&]D&"JH#>B3[/'9X#_C90*]G\\!U<I;RQ05?
MRP,*G2'@4!BGP.QP@QPX=T+6QN]1$TTE'7$^OZM_]KW;7LY,0R[YKZ8T]0'M
M4%!"Q:[</,G^"XS])"@8F_\&-^ 6[IS8&H7DVG^#XJJ-%*.*M2+8ZS VK1_[
M4?].6R=$(R&:""1^ET!' ET0\.#,M_J)&9:E2O:!&GY6Q]R9('MJ-[-P2;]W
M?LUVJVWVEB6[,,4W)S1BC@,FFF&BS5M(O@+93A!L'4PVHE4;D>?';VR0A8T!
ML_&8UF/HED0+5+Z"HC0)U\W053-TQ4RT,#-@DEF9#_;JT(69%139)?_9F7C-
MS#'^MY^$D-VBT J*Q!_IHA">G0IW2[\S=6E:'9REL0?,'X-*2@-6,7RPKFO[
M,$P!A\JXZ=;.U7 ]AL#(;KSY>'I^LK]02P,$%     @ Q'V.4$C'.)2D 0
MC@,  !D   !X;"]W;W)K<VAE971S+W-H965T-C$N>&UL?5/M3N,P$'P5RP^
MD[2TJ$HB'3V=0 *I @&_W6336/@CV&X#;\_:2:-2JOL3>]<SX]G-.N^-?7<M
M@">?2FI7T-;[;L68JUI0W%V9#C2>-,8J[C&T.^8Z"[R.)"59EB0+IKC0M,QC
M;F/+W.R]%!HVEKB]4MQ^W8(T?4%3>DP\B5WK0X*5><=W\ S^I=M8C-BD4@L%
MV@FCB86FH'_2U3H+^ AX%="[DST)E6R->0_!?5W0)!@""94/"AR7 ZQ!RB"$
M-CY&33I=&8BG^Z/ZOU@[UK+E#M9&OHG:MP6]H:2&AN^E?S+]'8SU7%,R%O\
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
M:1B,U7_G5UYKN2'1:^Q%+>UGL+]()9HQBT9IV-OPK%K[O(WYW\/@ #P&X"D
M)?\-(&, <0*B@<R6^IDIMEGUXA;TPVYUS!P*]$AT,_=FTO;.?J>KE7KVNDF+
M>!5=3:)1\S1H\$R#Z4=)"4BR21)I@@D#@QC8QB<?,)"#,6BHU;160_(L<V!+
M0$73C,(P!(0A  QV8 9-.EL&IS$I'!A 10J:P# )"), ,,2!2;QE$,F(T[\2
M4&&*, R3@C"I!T-H 2>@8 )ZQSY3CY,D2>)L0 FI\MEI^ "3@3#9'?N< 3N8
M$??00:IX"28'87*_M=G"WA1@@N*.UA;^$4B(VUE A.D""HIA5XGO:.THFB^4
M(\]8?!$E"S\@M&!Q"(!92@';$[K'GT;1'#7+<K<>7Z0/]P(,;$_H'G]"@/6X
MQEY"(KIP:A%L3PCRIW0A!6PJR'<5H+DI<"ISUV^!5"1?@($-"D$.Y377-Q\<
M$Y?%S[3( OL3@@QJX9\,P:Z"?%L!>IM[_YDY]EH+&)1;3C2[=9AKX _6GZI6
M!CNA] 7&7C..0BBN\\4/NGMG??.<!C4_*O.:Z?=^N'X- R6Z\6H93??;S3]0
M2P,$%     @ Q'V.4(&ZVGP, @    8  !D   !X;"]W;W)K<VAE971S+W-H
M965T-C4N>&UL?93=CILP$(5?!?$ :S 8R(H@=5-5K=1*T59MKYUD$M :3&TG
M;-^^_F$I"TYOL,<^,]\9P"X'+EYD#:""UY9U<AO62O6/",EC#2V5#[R'3N^<
MN6BITJ&X(-D+H">;U#*$HRA#+6VZL"KMVEY4);\JUG2P%X&\MBT5?YZ \6$;
MQN';PG-SJ9590%79TPM\!_6CWPL=H:G*J6FADPWO @'G;?@A?MP51F\%/QL8
MY&P>F$X.G+^8X,MI&T;&$# X*E.!ZN$&.V#,%-(V?H\UPPEI$N?SM^J?;.^Z
MEP.5L./L5W-2]38LPN $9WIEZID/GV'LAX3!V/Q7N '3<N-$,XZ<2?L,CE>I
M>#M6T59:^NK&IK/CX';R9$SS)^ Q 4\)<?K?A&1,2!8)R#FSK7ZDBE:EX$,@
MW,?JJ?DGXL=$O\RC6;3OSN[I;J5>O55DDY?H9@J-FB>GP3,-SMY+=A[)ORI(
M.YAL8*\-;//3=S:*A0VGR:RF<PR2;<C2REH6YUF\P7X[B==.XK&S6=AQ&C+C
M$)Q'D1^3>C'I"I/-"CA,NL*D17(/0[P8XL'$"PQ98Z*[W61>3.;!X 4F6V%P
ML;F'R;V8W(-)%IA\C2%W,8474W@PZ0)3K'ZU+"(K#)J=17,W?J/BTG0R.'"E
MC[4]?&?.%>B*T8/V7.OK> H8G)69YGHNW*7D L7[\;Y%TZ5?_0502P,$%
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
MH<VLNXD\"Z'!*(9/1K(R=]04<#AKNUV9O1S^U"'0HALO(3S=A,4?4$L#!!0
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
M[=&@<%9FN]9[T<^NWE"\'<8R&O\;\K]02P,$%     @ Q'V.4"(16#$0 @
M]04  !D   !X;"]W;W)K<VAE971S+W-H965T-S(N>&UL=93=CILP$(5?!?$
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
MBE?:4$&J/V1O461;3$^J@3%G3\X=EZ5JL3HWR1<HB[2VOI;-4Q7O#YFQ\_Y
M]%1WS-D1+EJ *M1'0C@6)OTG\5 JT>SG28./7 X3,:9CQQLGG/13-_?FOQ3%
M?U!+ P04    " #$?8Y0W]7R9" "  ">!@  &0   'AL+W=O<FMS:&5E=',O
M<VAE970X,BYX;6R-5>UNFS 4?17$ ]3A(Z2+"%))5&W2)D6=UOUVX":@VIC9
M3NC>?K8AE#@6ZQ]L7\XY/O>"K]..\3=1 4COG9)&;/Q*RG:-D"@JH%@\L!8:
M]>;(.,52+?D)B98#+@V)$A0N%@FBN&[\+#6Q/<]2=I:D;F#//7&F%/._.1#6
M;?S OP9>ZE,E=0!E:8M/\!/DKW;/U0J-*F5-H1$U:SP.QXW_%*QWB<8;P&L-
MG9C,/9W)@;$WO?A6;OR%-@0$"JD5L!HNL 5"M)"R\6?0],<M-7$ZOZH_F]Q5
M+@<L8,O([[J4U<9_]+T2COA,Y OKOL*0S]+WAN2_PP6(@FLG:H^"$6&>7G$6
MDM%!15FA^+T?Z\:,W:!_I;D)X4 (1T*0S!*B@1!]$.)90CP08HN ^E1,;798
MXBSEK/-X_W5;K'^B8!VKZA<Z:(IMWJGR"!6]9*MHF:*+%AHP>8\))YA@1""E
M/FX1NK;(PSMZF-SNL'5 5K>0W3TD"=TN(F>BD>''-XE:-O)[3/1H.?T_9#<+
MN7$:.YW&#J=6-7(7QK;JPGRQO,[KW)A=.LTN[P7BA676A0DLLRY,:)EU82*W
MV<1I-G$(Q);9>TRTM*JV_01F-X_IS:+)*:7 3Z8#"J]@YT;J?WT2'9OL4ZA/
MN17/5?/M>^6'3-^Y?V!^JAOA'9A4/<2<]"-C$I3%Q8,J:*4NBW%!X"CU=*7F
MO&^9_4*R=K@-T'@E9?\ 4$L#!!0    ( ,1]CE"H"S"Z? ,  +H.   9
M>&PO=V]R:W-H965T<R]S:&5E=#@S+GAM;(U7;6^;,!#^*XCO \Z #542J22:
M-FF3JD[;/M/$25 !9^ TW;^?>2D+Q]$F'P(VS]T]9YOGN,5%5<_U44IMO19Y
M62_MH]:G.]>MMT=9I+6C3K(T3_:J*E)MAM7!K4^53'>M49&[S/.X6Z19::\6
M[=Q#M5JHL\ZS4CY45GTNBK3ZF\A<798VV&\3C]GAJ)L)=[4XI0?Y0^J?IX?*
MC-S!RRXK9%EGJK0JN5_:]W"W8:PQ:!&_,GFIK^ZM)I4GI9Z;P=?=TO8:1C*7
M6]VX2,WE1:YEGC>>#(\_O5-[B-D87M^_>?_<)F^2>4IKN5;Y[VRGCTL[LJV=
MW*?G7#^JRQ?9)Q3:5I_]-_DB<P-OF)@86Y77[;^U/==:%;T70Z5(7[MK5K;7
M2^__S8PV8+T!&PQ O&O@]P;^K09!;Q @ [=+I5V;3:K3U:)2%ZOJMO>4-J<(
M[@*S^MMFLEWL]IE9GMK,OJQ$$"[<E\91CTDZ#+O"P(!PC?<A!*-")&QBSO@X
MPIJ B#%D,X5P1K/PR43]UCX8)8IH)!TF;#%EBXE$[/L18CN%\5 P+Z;I!"2=
M@*"#4DXZC+B*P\ ) +&9HB!RV,P.A229D""#DDXH3(RH$)C00_M(86;(<I(L
M)QPP1+;#1-<KYSD(M)Z"(H?'HQ_B/K4('4%S%R1W07#W$7<Q.5T^%R 0;#V%
M,<$@"!!E"A:$GD>SCDC6$<$:Q4FBR2GT(\?#[_D4Q803<YI,3)*)"3)8L.))
MTI_B(!;H**X)6, ]'M)TP*,%U",(86'I0:.7-'0X/I$4#!PQ1VA&T8$@A*6E
M!XUR9[X _$93.#\.9XX/D 7@'AC!".M+#QJ=('!B?.P)&.-.X,\0HFL!W%(,
M8"KS $Q$;+)KMY6-#8%[KVX 73C@ELH!1.G@3C1A?E.%V1"P=TH,T#4&*.&/
M,>_PPS4?QZ)+!! U@GLX%O]@C<:1:$$'0M$YX$@$*)C;=5J"@=!@+!])#YHM
M>^- M+P"H:\<ERB8*J> "/A,3HQ63D8H)\=UA4TED3$GBF8BT9+("$GDN&@0
M(%_,E"9&"QTCA(YC7>E!T;@6X,\(]^H#OI#5H6V.:FNKSJ5N/H.O9H<&[+[M
MO]!\8AJSKHWZ[Z;KZKZGU2$K:^M):=->M$W 7BDM#4G/,7M[-(WD,,CE7C>W
MPMQ773?5#;0Z]9VB.[2KJW]02P,$%     @ Q'V.4 '=+@6[ P  TQ$  !D
M  !X;"]W;W)K<VAE971S+W-H965T.#0N>&ULC9C=CILZ%(5?!?$ @+?Y'261
M9GITU$JM-&K5]II)G 0-X!P@D_;M:\"3!GOY*#<!S/)>V]OYP'AUD=UK?Q1B
M\'XU==NO_>,PG!["L-\>15/V@3R)5MW9RZXI!W79'<+^U(ER-W5JZI"B* V;
MLFK]S6IJ>^XV*WD>ZJH5SYW7GYNF['X_B5I>UC[SWQN^5H?C,#:$F]6I/(AO
M8OA^>N[457B-LJL:T?:5;+U.[-?^(WMXXL7885+\J,2EOSGWQJ&\2/DZ7GS:
MK?UHS$C48CN,(4IU>!,?1%V/D50>_^F@_M5S['A[_A[]WVGP:C O92\^R/IG
MM1N.:S_WO9W8E^=Z^"HO'X4>4.)[>O2?Q9NHE7S,1'EL9=U/O][VW ^RT5%4
M*DWY:SY6[72\Z/COW7 'TAWHVH%/'<+9:,K\GW(H-ZM.7KQN+OZI'.>8/9"J
MS79LG$HQW5/)]ZKU;9.EV2I\&P-IS=.LH1L-NRI"%?UJ0<CBB:SN69KC !SF
MR*< \2) 8>0X:[))TTX:2H.<L$T,;6+;)HL,FUF3W-@P1EE.#J,$&B7 B!E&
M0!,7V"2%)BDP(<,DM8M&0>Z8FPS:9,"&&S:95;2,Y2QU#">'/CGPB7&  @8H
M0(#$2+2PZL%8$'-LPR(,5 2,4I.H630>;JT21TF8@UUV!QA:9 PJR1Q.$.%'
M1G>PH44+."A-HLAAA6%G@':+#BAR#0G3SA#N)B!:=&_Q,.X,\6XRHD5W%P]#
MSQ#U#IX9!IHAHDU0M&A1ESS('*\%AI%FB&F+E-PF13VDG%. X6> ?IL4&W]B
M 7,X$<:?$/XF*5IT.]F\R"+F>* 1QI\ _A8I4.1XS!"&GQ#\)BE:9!0O<OSW
M"+-/"&N3%"U:%"_YG^)A_ G@GSM@(\PU(:Y-4K1H49<D*%P+*(PU(:Q-4K1H
M24H6) XG3#\!^BU0R*9?&;F6)X3I)T2_!4INS37%6<%=@\+T$WKW6Z  4>Z8
M)H[9YXA]$Q0MNK-X'*//$=4F*%JT>*7$49RZ!H7IYX!^U[J:.];O"&L3%&ZO
MX'D>1 ZJ.:::HY>Z"8H6+4#A1>!XSG,,/P?PVQ\E-OSCF%Q.&'Z.X#=!T:+E
M0S'EF6/MRC']'+W[35"0*'?Y8/8Y8M\")8?%2QU.&'V.T+= *:SB%3$KS+]>
M>/--W8CN,.TF]-Y6GMMI*^.F];IC\4C3-_E?^;S=\:7L#E7;>R]R4%_VT_?W
M7LI!J&RB0.5Q%.7N>E&+_3">9NJ\F[<9YHM!GO062GC=Q]G\ 5!+ P04
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
M9( 6H^:MC0FBS%!B8U)D8'*(:T$L1K!)("!%9KH$LE8<CCW#2W80"GE&Z3F
M2KT%T\$+QH:!J3$;7H-FRT_V*S9% [ 4A?&"(- &'S$!!)G6H$')C,E#H2G(
MAI'$RY8$P8Z( 4NT^E.#YC,4QDEB*@)P0"/G .ZC3L:PRV+ 0JU>UJ!DOB C
M2SD LWL^AV"+38]AW\:V<:?86I/1OV9\3@6;-[;=V_[>:=#R#,V98)?'@,U;
MGSP -#6S.0]LWQCP;^NKIT&+)C0G@KT90Z9J]44&K/<X(TL[(]A8B6VL*3+7
ML089"S1::'8"VR&![-#\X@"@Q9T)@5V.0"Z7F#S$?DN1Y>_^9 ];T^ZDS@?<
MV;-+(_J=X&1T/(,\JB.(,;Z59Y/A)/&>9CC8?"NZ4]EPYX4)N<-6^^ C8X)*
MD<B3[_8LSU+C0T6/HK]-Y'TW'"B&!\%:?5CRQQ/;YB]02P,$%     @ Q'V.
M4.)<8@1< @  P@<  !D   !X;"]W;W)K<VAE971S+W-H965T.#@N>&ULC55=
MCYLP$/PKB/>>P7PF(DA'HJJ56NET5=MG)]D$=("I[83KOZ]M")<8WS4O8"\S
M.[.+Y<UZREYX"2"<UZ9N^<HMA>B6"/%="0WA#[2#5GXY4-80(;?LB'C'@.PU
MJ:D1]KP8-:1JW3S3L2>69_0DZJJ%)^;P4],0]K> FO8KUW<O@>?J6 H50'G6
MD2/\ /&S>V)RAZ8L^ZJ!EE>T=1@<5NZCO]PL%%X#?E70\ZNUHRK94OJB-E_W
M*]=3AJ"&G5 9B'R=80UUK1))&W_&G.XDJ8C7ZTOVS[IV6<N6<%C3^G>U%^7*
M35UG#P=RJL4S[;_ 6$_D.F/QW^ ,M80K)U)C1VNNG\[NQ 5MQBS22D->AW?5
MZG<_YK_0[ 0\$O!$\.,/"<%(".XEA",A- AH*$7W9D,$R3-&>X<-?[<CZA#Y
MRU!V?Z>"NMGZFVP/E]%SGOI^ALXJT8@I!@R^PKPAD,P^26";1(%G=!S?*JPM
MD.06LIE#8FQW$5@+#30_O"D4&X4.F$AC6HT)(R\.#+-S5)3ZR3LM":UF0HL9
M0Z:P84+#RAV8S1R3^+'=;&0U&UE$(L-L-.M)X'FI^9LM*(SC=SH76\W$%C.&
M3!'/9#X%.,3&WUY;8&$4Q N[G<1J)[GC5"7S4X43\WRO+:CYV=O,41^<O=1J
M.;58-LP4Z7\LW\@LK#(+BTQJR-@PH2&"KFZR!MA13PGN[.BI%>H^N(I.@^@1
MJYO0B!=R0 WSY"W-,-V^$W:L6NYLJ9#WK+X-#Y0*D!:]!]F$4@[4:5/#0:AE
M(M=L&"O#1M!NG)AH&MOY/U!+ P04    " #$?8Y0<B9-)$<"  !"!P  &0
M 'AL+W=O<FMS:&5E=',O<VAE970X.2YX;6Q]5>V.FS 0?!7$ \1\A4!$D"Z)
MJE9JI>BJMK\=L@GH %/;2:YO7]L0CCA[^0/V,CLS:YMU=F7\390 TGEOZE:L
MW%+*;DF(*$IHJ)BQ#EKUY<AX0Z6:\A,1'0=Z,$E-30+/BTE#J];-,Q/;\3QC
M9UE7+>RX(\Y-0_F_-=3LNG)]]Q9XK4ZEU &29QT]P4^0O[H=5S,RLARJ!EI1
ML=;A<%RY+_YRFVJ\ ?RNX"HF8T=7LF?L34^^'5:NIPU!#874#%2]+K"!NM9$
MRL;?@=,=)77B='QC_V)J5[7LJ8 -J_]4!UFNW,1U#G"DYUJ^LNM7&.J9N\Y0
M_'>X0*W@VHG2*%@MS-,ISD*R9F!15AKZWK^KUKRO _\M#4\(AH1@3/#CIPGA
MD!!^)$1/$Z(A(;(22%^*69LME33/.+LZO-_=CNI#Y"\CM?J%#IK%-M_4\@@5
MO>2)GV;DHHD&S+K'!!.,/R*(8A\E DQB'3RD!_&]P@:!+.XAVT=('. N0K30
MT.1'TT(#SRH4P_B650P36%Z?\]R9C5"S$4(06F8Q3&29?<3$B8798CQSW.P<
M-3M'"*P-WO:8Q&!:@_%F"UPD1D5B1,0Z(NOX021,_%F(RRQ0F04BDU@R/2:=
MR,2?U9*@(@DB8O]S"2+RR:ZDJ$CZ*!+:YSU%=L5>+C+I) WPD^G2PBG8N97Z
M?YQ$QXO@)="=R(JOU071]_,/FOYV^4'YJ6J%LV=2]3G3C8Z,25 6O9DZ.:6Z
MT,9)#4>IAPLUYGU;[R>2=<.-1<9K,_\/4$L#!!0    ( ,1]CE )?2H'; (
M /4'   9    >&PO=V]R:W-H965T<R]S:&5E=#DP+GAM;(U5VXZ;,!3\%<0'
M+!@PEQ5!VERJ5FJE:*MMGYW$"6@!4]M)MG]?VQ"2F--57L V,^,9V_CD9\;?
M14FI=#Z:NA4SMY2R>_8\L2UI0\03ZVBKONP9;XA477[P1,<IV1E24WN![\=>
M0ZK6+7(SMN9%SHZRKEJZYHXX-@WA?^>T9N>9B]S+P&MU**4>\(J\(P?ZD\JW
M;LU5SQM5=E5#6U&QUN%T/W-?T/,JTW@#^%71L[AI.SK)AK%WW?FVF[F^-D1K
MNI5:@:C7B2YH76LA9>//H.F.4VKB;?NB_L5D5UDV1- %JW]7.UG.W-1U=G1/
MCK5\9>>O=,B#76<(_YV>:*W@VHF:8\MJ89[.]B@D:P859:4A'_V[:LW[/.A?
M:# A& C!2$#QIX1P((170O0I(1H(T:,$/!"P1?#Z[&8QET22(N?L[/#^.'1$
MGSKTC-5V;?6@V1WS3:VG4*.G(@U1[IVTT("9]YC@!G-%>$I]G"* II@'$WH:
M!O=3+*:8(+Z'+ %(<@]932%Q #L-P<4(#3^Z<QI:B]%C8H-I#29*_1!;>6"4
MI;6<HL(,(]]*!:"B)$KA8!$8+ *"1;  !@7P RO38_"-3Y1A;.W1$D#%";+6
M;P6@DBS^C^48M!P#EC$LD( "R0.9$R!S%ENG>PF@D)_8IW>*B@,_A!VGH.,4
M<!S# ADHD#T0.9L<QQ0C^V>=@A!*4&HE!E ^3NW+Q;NYRQK*#Z:P"&?+CJW4
M?_O-Z%B[7@)]%UKC<U73^A)TE>D+X@_"#U4KG V3ZJ8U]^&>,4F52?])[4BI
M:O#8J>E>ZF:BVKRO1'U'LFXHLMY8Z8M_4$L#!!0    ( ,1]CE W!P,A_0(
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
M7[K5$-"[</WH[V;^]6;#Z7'9*K*N=O,74$L#!!0    ( ,1]CE _Y1&&[ (
M )H+   9    >&PO=V]R:W-H965T<R]S:&5E=#DX+GAM;(V6;6^;,!#'OPKB
M?0MGS%.51%H339NT256G;J_=Q$E0 6?@)-VWGWDH M_1]DW SO_N?C;''R^N
MJGJICU)JY[7(RWKI'K4^W7E>O3W*0M2WZB1+\\]>58709E@=O/I42;%K@XK<
M8[X?>87(2G>U:.<>JM5"G76>E?*A<NIS48CJW[W,U77I@OLV\9@=CKJ9\%:+
MDSC(7U(_G1XJ,_*&++NLD&6=J=*IY'[I?H&[#41-0*OXG<EK/;IWFJ4\*_72
M#+[OEJ[?$,E<;G630IC+1:YEGC>9#,??/JD[U&P"Q_=OV;^VBS>+>1:U7*O\
M3[;3QZ6;N,Y.[L4YUX_J^DWV"PI=IU_]#WF1N9$W)*;&5N5U^^MLS[5619_%
MH!3BM;MF97N]]OG?PN@ U@>P(0#XNP%!'Q!\-H#W =P*\+JEM'NS$5JL%I6Z
M.E7W>$^BZ2*XXV;WM\UDN]GM?V9[:C-[6:40+KQ+DZC7W'<:-M%$4\T::Y@E
MV1"2>)!XAG) 920J:^/Y*#X";J%VFJC5E*TF8 "!!4NH0C\%B_>C7!/D@$0.
M$'(*L073:<)1F9O #Q/?HB%D+&8AHW$XB<,)G,3"X:A.$'/?4FVPBJ6<S>Q-
M2,*$!$QJP82H3!C:CPEK($Y2FB0B22),PJSM7T=X^[EO/<H-(4J3F2<4DRCQ
MQSV^CE$5SOS(ZO$-5DU[? *3D# )@HGMYDTP"P"W6; J,,T2T2PIR9+BC8GL
MUDU1F?%SG!0!GW9#_Q,>0X@"^_UX7S-%F3%F(+H2;!3 ^Y^&,W5H5P5LJREC
M=AWLA>,Z_2> (9@$F+TQ6#1/3)LJ$*[*;(L'PB]Y:ILJI6+13&,";:I N"JS
MWUG AAFC#PXABOPY&-I4@7!5Y&6 +?,&?:P)S9R_ VVK@'T5FUDO&G<6 #)6
M0C5NK8[&&YUYFE/K3U$=LK)VGI4VQZ?VD+-72DN3T+\U"SN:@_(PR.5>-[>Q
MN:^ZTV(WT.K4GX2]X3B^^@]02P,$%     @ Q'V.4*SGT9LG @  3@8  !D
M  !X;"]W;W)K<VAE971S+W-H965T.3DN>&ULC97M;ILP%(9O!7$!=6(@'Q5!
M*DFG3=JDJ%.WWPXY":@V9K83NKN?;1Q*B%?E3[ /SWO\^F"?I"T7;[($4,$[
MH[5<A:52S2-"LBB!$?G &ZCUFP,7C"@]%4<D&P%D;T6,(CR9S! C51UFJ8UM
M19;RDZ)5#5L1R!-C1/S-@?)V%4[#2^"E.I;*!%"6-N0(/T&]-ENA9ZC/LJ\8
MU++B=2#@L J?IH_/B>$M\*N"5@[&@=G)CO,W,_FV7X438P@H%,ID(/IQAC50
M:A)I&W]<SK!?T@B'XTOV+W;O>B\[(F'-Z>]JK\I5N B#/1S(B:H7WGX%MY\D
M#-SFO\,9J,:-$[U&P:FTOT%QDHHSET5;8>2]>U:U?;8N_T7F%V GP+U@.OM4
M$#E!]"&(/Q7$3A#?*TB<(!D)4+=W6\P-421+!6\#T1V'AIA3-WU,].<J3-!^
M'?M.UU/JZ#E;XB1%9Y/(,7G'X $S[0FDL_=+8-\2.;Z1+R)\O<3ZEL&S:V3C
M0>;7R/,M,L-^IY&W&)'5QU?%&-G(.V9FF=HRT7PY,K+Q0?/%R*T'BN?_J6SL
M]1M[_(ZLY+=,-#*RZ9!D8 1/1EYOD01'?JN)]Q D=Y1M?0^T\4+CVGJ@Y3(>
M&4:#2\) '&W'DD'!3[4RQV@0[9OB$S:7;!3/=;/L>MM'FJ[3_B#B6-4RV'&E
MK["]: ?.%6B/DP=MLM3-O9]0."@SG.NQZ%I<-U&\<=T;]7\AV3]02P,$%
M  @ Q'V.4$RB)]+R @  V0H  !H   !X;"]W;W)K<VAE971S+W-H965T,3 P
M+GAM;'V6;6^;,!#'OPKB?0M^XJ%*(A70M$F;5'7:]IHF3H(*F(&3=-]^MJ$T
MG)V^";;SO_/OS@>^U47TK\.1<^F]-74[K/VCE-U#$ S;(V_*X5YTO%7_[$7?
ME%)-^T,P=#TO=\:HJ0,<AE'0E%7K;U9F[:G?K,1)UE7+GWIO.#5-V?_+>"TN
M:Q_Y[PO/U>$H]4*P677E@?_D\E?WU*M9,'O950UOATJT7L_W:_\1/10(:P.C
M^%WQRW U]G0H+T*\ZLFWW=H/-1&O^59J%Z5ZG'G.ZUI[4AQ_)Z?^O*<VO!Z_
M>_]B@E?!O)0#ST7]I]K)X]I/?&_']^6IEL_B\I5/ 3'?FZ+_SL^\5G)-HO;8
MBGHPO][V-$C13%X42E.^C<^J-<_+Y/_=S&V )P,\&Z#H4P,R&9 / _JI 9T,
M*# (QE!,;HI2EIM5+RY>/QYO5^HJ0@]497^K%TVRS7\J/8-:/6]2G*R"LW8T
M:;)1@Z\T:%8$RON\!79MD6'+'$?+'7*')%Y*"EL283<%<09*C#U=!)J"0$=-
M9#2MT9"8$,!JB^X088#6)4HCX@:F3F!J Y,0 (\:=KT-9A2D+G>H*$. V!:A
MR(W+G+C,PH69RYC-P5** :U#16D$*J9PJ% <WZB(R$D<.1(,LI)%]C:$@L/.
M;5%, :XM83=88R=K;+%2F-W8/L X J]R;HON4!C!ZG6XHE=?A05OXN1-'+D%
M!YTEUBX$0Y3<%F$6@]>@L$6JL&[D-W7RIG9^0<5EJ2-UC &4W*'"%(.S*FQ5
M1/"-UPV%[@]WZ$@QK(E)M*@[&%CN\$1 W12?:Y:\-RX:9*>8P1Q/HN7+CQ(*
MB6T9#N%GKW"HTO!&52#GU?6(L 6-4 RAL?VQ9QC&EKMD)*$II+9EE*0QP ZN
M[O>&]P?3.PW>5IQ:J6_)J]6Y/WLT[1E8SW3?9OJ&#S=CT_>C[ ]5.W@O0JKN
MP_0(>R$D5Y#AO4KJ4?69\Z3F>ZF'L1KW8[,U3J3HID8RF+O9S7]02P,$%
M  @ Q'V.4'!="'FN 0  D ,  !H   !X;"]W;W)K<VAE971S+W-H965T,3 Q
M+GAM;&U3VV[;, S]%4$?4,5*DVV!;:!I471 "P0=MCTK-FT+U<65Y+C[^^GB
M>-[F%XNDSB$/:2H?M7FS'8!#'U(H6^#.N?Y B*TZD,S>Z!Z4OVFTD<QYU[3$
M]@98'4E2$+K9[(ED7.$RC[&3*7,].,$5G RR@Y3,_#J"T&.!,WP-O/*V<R%
MRKQG+7P#][T_&>^1.4O-)2C+M4(&F@+?98?C-N CX >'T2YL%#HY:_T6G*]U
M@3=!$ BH7,C _'&!>Q B)/(RWJ><>"X9B$O[FOTQ]NY[.3,+]UK\Y+7K"OP9
MHQH:-@CWJL<GF/K9830U_PP7$!X>E/@:E18V?E$U6*?EE,5+D>PCG5S%<TPW
MNRMMG4 G IT)V3[VD@I%Y0_,L3(W>D0FS;YGX1=G!^IG4X5@'$6\\^*MCU[*
M+]O;G%Q"H@ES3!BZP&0S@OCL<PFZ5N)(_Z/3_3I_NRIQ&_FW?TG<_2,Q8781
MHU8EDL5$))@V[H)%E1Y4W,-%=%ZW.QHG^@>>=O6%F98KB\[:^?\2I]=H[< +
MV=QX#9U_'K,CH''!_.1MDY8D.4[WT_Z3^1&6OP%02P,$%     @ Q'V.4,4(
MO *) @  ?@@  !H   !X;"]W;W)K<VAE971S+W-H965T,3 R+GAM;(U6T6Z;
M,!3]%<0'%&P#ABB)U"2:-FF3HD[;GMW$25 !,]M)NK^?;2@EYK;*2[!OSCD^
MUS;W,K\*^:).G.O@M:X:M0A/6K>S*%*[$Z^9>A M;\P_!R%KILU4'B/52L[V
MCE17$8[C+*I9V83+N8MMY7(NSKHJ&[Z5@3K7-9/_5KP2UT6(PK? 4WD\:1N(
MEO.6'?E/KG^U6VEFT:"R+VO>J%(T@>2'1?B(9AOD" [QN^17-1H'-I5G(5[L
MY-M^$<;6$:_X3EL)9AX7ON95996,C[^]:#BL:8GC\9OZ%Y>\2>:9*;X6U9]R
MKT^+, ^#/3^P<Z6?Q/4K[Q-*PZ#/_CN_\,K K1.SQDY4ROT&N[/2HNY5C)6:
MO7;/LG'/:Z__1H,)N"?@@8"R3PFD)Y!W0O(I(>D)B4>(NE3<WFR89LNY%-=
M=L?;,GN+T"PQN[^S0;?9[C^S/<I$+\N"9//H8H5ZS*K#X!$&#8C(J ]+8&B)
M%9[0L;?"&H#06\AF"LDP[(* B1+'3VX2]=98=9C,81J'(3BE!?+<3F&8IHAZ
ML T (S0A!>PZ 5TG$]<Y26&!%!1([TB[PZ1CHS'.4>*E/86A+$4H]=(&8(3@
MC,"N,]!U!KC.80$*"M [TJ83HSE."_]J J@X+KR]V4Q1E*8T@RWGH.4<..H$
M%BA @>*.G(OI45,2^R<]1:$<9?X;":#2;(2ZL8QBN/S$@.D/WA#T005#=^3=
M@[*;6QE3#[:&8(@6_A6'8'%!_"L>C8IPS>71-3@5[,2YT;:4C:)#$WW$MHA[
M\95MKJZXO\MTG?D'D\>R4<&ST*9%N$)^$$)SXS)^,$=S,A\#PZ3B!VV'U(QE
MUQ&[B19MW^VCX9-C^1]02P,$%     @ Q'V.4 2= 2AA @  ?P<  !H   !X
M;"]W;W)K<VAE971S+W-H965T,3 S+GAM;(U5X6Z;,!A\%<0#%# VAHH@-4'3
M)FU2U&G;;X<X 14PLYW0O?UL0R@%M\J?V/ZX.]\9XB_M&7\1):72>6WJ5FS<
M4LKNT?-$4=*&B ?6T58].3'>$*F6_.R)CE-R-*2F]H#O1UY#JM;-4E/;\RQE
M%UE7+=US1UR:AO!_6UJS?N,&[JWP7)U+J0M>EG;D3']2^:O;<[7R)I5CU=!6
M5*QU.#UMW*?@,4\TW@!^5[07L[FCDQP8>]&+;\>-ZVM#M*:%U I$#5>ZHW6M
MA92-OZ.F.VVIB?/Y3?V+R:ZR'(B@.U;_J8ZRW+BQZQSIB5QJ^<SZKW3,@UQG
M#/^=7FFMX-J)VJ-@M3"_3G$1DC6CBK+2D-=AK%HS]J/^C68G@)$ )D(0?4H(
M1T+X1H"?$N!(@ N"-T0Q9Y,32;*4L][AP]OMB/Z(@D>H3K_017/8YIDZ'J&J
MURR!?NI=M="(V0X8,,,$$\)3ZM,6P+;%%JSH('J_P\X"P>\A^1H2 ;N+T!HT
M-'PXXZ-HL<=VP$0&TQI,"!!.@H7;-0Q@%. %++? 0@S#Q.X:6EW#E>L$?G#X
MR"J [H@]8-#<: PC!!>Q+3 8(!@N8EM@/@QQ9'<=65U'EM@?O&UL%<!WQ,8K
MHV&($%JD7J, QGAQ-KD%!9,@MEN.K99C2^;0+I!8!9([,B>K;Q*C&"PBKT$H
M7GX-^1H4!Q M_'JS:ZBA_&RN>.$4[-)*_6>>5:<N\@3T-;:H;U5W&9K!F\S0
MFGX0?JY:X1R85)>DN<I.C$FJ//H/ZH64JAM.BYJ>I)YB->=#3Q@6DG5CN_.F
MGIO]!U!+ P04    " #$?8Y0I143XRP"  #3!@  &@   'AL+W=O<FMS:&5E
M=',O<VAE970Q,#0N>&ULC55MKYL@&/TKQA]P$=^*-]9DUV79DBUI[K*[S[1]
M6LU%<4#KW;\?H#6MTJ5?%/"<PSD@#WG/Q;NL )3WT;!6KOU*J>X9(;FKH*'R
MB7?0ZB\'+AJJ=%<<D>P$T+TE-0R%09"BAM:M7^1V;".*G)\4JUO8"$^>FH:*
MOR_ >+_VL7\9>*V/E3(#J,@[>H2?H'YU&Z%[:%+9UPVTLN:M)^"P]C_AYQ('
MAF 1;S7T\JKMF2A;SM]-Y]M^[0?&$3#8*2-!]>L,)3!FE+2//Z.H/\UIB-?M
MB_H7&UZ'V5())6>_Z[VJUC[QO3T<Z(FI5]Y_A3%0XGMC^N]P!J;AQHF>8\>9
MM$]O=Y**-Z.*MM+0C^%=M_;=C_H7FIL0CH1P(N#XOX1H)$0S AJ<V:B?J:)%
M+GCOB6&W.FI^"OP<Z<7<F4&[=O:;3BOUZ+G(XCA'9R,T8EX&3'B%"=-;2.F
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
M$.DK1=(IOI!NP=>O' 'LV]#67K;)@(H:,@1T(*GKME0^H(5EULHP5)V(<E^
M_-&V8.<1H8Z-FQ5]_Z;8_%;6!K#/V-S "SM^<W:B'J/GWE^\^70U&;B'JK7G
MY0H$L3"629$F=TPW(-0\EFK]6"5;OMJN#Z(+\L'(K<^=;PGA68S!,$*? );L
M ]HLAI"3EP\-26;&DPR()&4IEWB;,E2[O:-JK&!2%3HVYZAZ0YX'R "K>Z2I
M 71*8]XS$@G)8\18&TT9C?6/R [;&1?T2:TIQ%VYO:N+AWO$0GA6YB$)%.RU
M=(\1Y^(J\?K_<P>I^X?JHKP^5$W6QU#>JLU&6+4D:G%(4[AQ4!/6L[H1=42M
MPB%0X!@U(ZZ5D):K+9.D4P8W]0[1@L>B7H@[$>HFF\ZVRR7Q,A$,MP!!W&L+
M0''V:I_+/4M:SVZWO?[%E@X !WQV6'3!H2-'A:<J-L]).B*X*/G0:$L]8P(H
MK",+63#2FH>P"*6;L.5>V=2N'\HYVTQ7(&R/5H@30B3"/!L.7<G*3*#-"VI
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
M-\U]+YDFNG ?_4K_Q_@L_HOZ*[$:0Q!KDTK'R))YQY*2A\<%B/E/@"T-14=
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
MZ3[HJY76)J63#N>OL+8FT='FG#Z:^VX#W">'26@N<^J=J:,_USUQ+CF;L__
ME;']ZPY=,(&\=S=S9JIF7= 3U08,1N*KC^$MJ58K+*3E[^[=4Q*G?DC8?T3D
M9 )3/<%R3-CVLX)9#7=']-N$),-S([$=SQ(.$3K!N\$D96:S+)'[A.(\.9<.
MHM>2R2PZL(3<(]G!CZ(,SP;@C#.:/G.6H'" OH^RR;2UA)Q(5RKS!/$D"=TE
M((HNR/F[B##TP!I"=G*'J9\AY0$KSD):!>H+$AGYI>3JR1S(TVVH\[J1U,(E
M'&#@U908<)#@+D(B+IF'*/$ EV&)2V4NVL:E*WCKR=*OH3.2=XVB<?1;;&"X
M6]6U,Y>NUCZTF2$TT)^Y!W'%01JTCS9&-%8R&T&9,;SKO?<"3/K6N9!X/K/^
M#LY#SP4?$'X7"AL!=>I^AEI]CE,$B3;T+:, @N_RU$>-6*Y_A\^F" J2SSC4
MRWTSA0+/^#FCVYRA# D1N4EH/@MFD Y1"Y7PQU84.XKR23I5:(629"2-$YIQ
M2KY"M1RIWS,#R1:V =,:3#78MJ@JEY8A^6K?:#*ZWWP13.JHA(,\]G545=\:
M4XS3GT 1G623!Z/P'2*$80IRABL@$I@-T#]FIHH8'(<!ZMU%3%WB":G#@[0O
M 3D[1/JB$"G&&3\:9 ,4#XS<3AKG?ICD:N@\Z5"[F?HJG23Y06(W(PD_B67X
M:>04Y-ILI9(WF\XX_5W%P&F!R.WAY+9L:ET]6ND8;EHU(\R2F_,<YI'Z.+H7
M^G^,6<YFT*JFPFT(!U$+*H#TIU<:PP\= 'T(_Z+6<8GJJ0HD1(AFX^JY.0C&
M(1")HRE)[I$P:%1QFT#])?0S<T9<-X7@D"2D>'S.&2(]F"A$$U*Z#P%($N8^
M2@$*.8) 0(I!]GI>.#K.<YPP)I$\9<)#6R75&+$.M&Q5%L;<9(<;-M:B+OG5
MS#+1 0/*29=ULB72CJ7;*XFV?K@_8'>])\-14<.Z P)[8=42W2&<)&-]T%I(
M=?4BI+KZ;XA4(:DJ4T$J8B=31JJ,_C?$,.,@!BV 'B2G$;'(!,^BPAIP)4%]
M:HLK]#VJ+PE[.XP#48HXBE1 D%@S8)=^RUZ+ Z/C/(<#$8QL82";(0X#EDMD
M)_B?@ ,!X7,@@>Q3"8 8;1XV%EUH B'2U(_R@20^*0L401D>L!M,S# L]-!@
MT:R;%J8SQO#_P !'XIW@"D8TST&SVDM[D[5POJ.2XAK>@@YP\[%1&O#V!43@
M!:A]"&5C!$@'3,4,9H4DF@0:.22 0G8+CQ"\ \?$@"(640ZA,#TT30 <#M).
M_6F6'!PZ"AD6#@P-L2<D1IGRT$A\4=+H,T^V^M!K:[\Q4LV5;8\SN/G<ZP+B
MTY/MDJ<\\=^WN^7U E-L4SX55:HS9#8.?G8#J1E*6&L;2FT=M)<-Q11)HX3^
M, +EIISX0*YL&\J'[;899X>QC? &69S]Q##]W>L"K#(]ZFV)F/]V70<DUA3U
MIC1=JEP?SE?O;Z0A-XM*(@]^MX%7^E:21A!#P4O\-(A1W0@9=,!LH/F.>]P%
MJ&T7(E0>Y003'YEW$JC"801U):EE:&H@-7,#DC>SP)L1"R2=+J(94#YIYJ<S
MLWMLQ_3QY7C9O:ILV-GW'[MG%2Q9]1>ACX.9>D0+1S'(D'2E]EF0OI*C!&9(
MRM:,1+WN.:0I*FNGI)C._ P*+3V)A+KI#,6/XS0<+.*H%X$:F$#!IQ.]'J(K
MB#;UXRA '6Z2TCMWPUPDP6*1P-!=SG$2<PX)JEIR>>@D@HY',C4B6TE+#G@O
M*5]NE-$UHFI9RLZ8@9N"!ZYK@PFC[^C/X#O\0L/0'_""!_EW<-O;-@RA*5PG
MJ6"P$M-S>'&SU</1T1^XHD4I$=(,)>[-@FF__#VS</5;/CEX)]7FP*RO>-&9
M5K=ER2<#X?82F#)27GVHGU<Y&IX]DFDC YT-I+<@ F0N!XG^1;:D5 !HEF)Z
M6=3*!.5JP#8T6V)U0 !2+CHV)3I@W3*VN5@AA1B=_BE2_4-B<08+T2/"V88
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
MU*ZN;O?J$#KK:B8OP&551*RWLDXP24!8B:Z9B/A!\\W#1 QYU.B4FA%>1B:
M)D I\YF'Y(T@8KIUZM M)"78DEI3/\F(CF69GTW'I+J(I;I;J="T\\Z_#!2$
M[W[_@N**-&ZKU;)CL)DA5AU%B@>*85R3GLN%6Y (;'WREULB->P;U[^=C)16
M;3W][V>W#:N>O36^T4Y^^YHO[SUY_ZY^'M@B!]O.Y]*=A8L6NAG$ENV:7&)!
M9ILJ6'6-USKU_[/-_%\0(A6*.JFW'PH5Q-5M<JZJ#*%\T'Q>/NS*5D@#41!:
MSX/3 ^/SM9D1V;MF3EV"I=YK9;PN[_8K6ZN)8QJUH_;:EAPZLUJ;KK"CYG$>
MXD8"VHC!A= :"0E02[D^?VM6HAWZLFOCL7KVH*46YU*:C+(W!T'*JOB8 Y$!
MO>-@<_LO&\483M6*?%V?Q/ELP** ?_MOF,^<08+A04BK.?3EI%^<3A\(Z[@O
MAV&# G-W!%.Q[3 T:]:X:W6S<Q[8+@>\2X_W!-)/I]M';N+GN)K8#20E<GJM
MS)3Q2ZS&V))3'HI'Y@\TB+Y\_WK@N1YX9\?A4R#8%12$^4N!HJG+9%_;MGJ3
M3;19N!M(IF4"U\$&K-:SEJJ@O)G5=!(R9C\M;:O2%J.-AB96K&S%93TSW5Y\
MJ 5L-JTYP=B=LVDWB&G5L=JIAG[<L9-9JV-1A)Z@XB=)IBGO:5&5#0@X1C3
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
M2FCC3?]L68N#%:\>WAABI+C6V)CE2H<<,HLJ5#)[;6,N!O?77H]K5&#"#P?
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
M$\Y'+GUXT_-=L+\&Y(H/"C28P9N_YET.9;BCCHATBV3"W(!!,N#((K"-S+N
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
M\^ HJ;-Q.4C:+(.]:L_&+)]TVN8+DDIK*E^0-'H3[\+ETDOJ0 GUTO<)I9=
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
MFZ.#;R3.26O';3X :'54573]CI*",^P6\VC!X,""283Z.J 4DMQK/7-44NW
M$H(5EHJDFYYO$E4+W*K^.+7YH<SA$3(_]7LN,,<2T4UH??:?\UO^S\33\[]'
MMK\JN\!/R&BNS2. G!T#Y/P8((_@3$XOGC^C:9/^+:37W=\;3<)6BS!XP;(A
M5!'>X98DR[#C,3U:##^;]I!N7=1CIZ#E%5KJ1G]+7^=F.$<-53=FB388P]'^
M:,"#^3!K,4C$<+0_X8PT[,(6'/]-)#\ 4$L#!!0    ( ,1]CE!V\ \3'0<
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
M?8Y0'R// \     3 @  "P              @ $     7W)E;',O+G)E;'-0
M2P$"% ,4    " #$?8Y0)^B'#H(   "Q    $               @ 'I
M9&]C4')O<',O87!P+GAM;%!+ 0(4 Q0    ( ,1]CE#,. E,[P   "L"   1
M              "  9D!  !D;V-0<F]P<R]C;W)E+GAM;%!+ 0(4 Q0    (
M ,1]CE"97)PC$ 8  )PG   3              "  ;<"  !X;"]T:&5M92]T
M:&5M93$N>&UL4$L! A0#%     @ Q'V.4-?*DU%3 @  ( @  !@
M     ( !^ @  'AL+W=O<FMS:&5E=',O<VAE970Q+GAM;%!+ 0(4 Q0    (
M ,1]CE"^O01D6P0   P5   8              "  8$+  !X;"]W;W)K<VAE
M971S+W-H965T,BYX;6Q02P$"% ,4    " #$?8Y0\H-X&, !   J!   &
M            @ $2$   >&PO=V]R:W-H965T<R]S:&5E=#,N>&UL4$L! A0#
M%     @ Q'V.4)%4<GI+!   @1,  !@              ( !"!(  'AL+W=O
M<FMS:&5E=',O<VAE970T+GAM;%!+ 0(4 Q0    ( ,1]CE"O5EZ-20(  /(&
M   8              "  8D6  !X;"]W;W)K<VAE971S+W-H965T-2YX;6Q0
M2P$"% ,4    " #$?8Y0F)V#@^,!  "9!   &               @ $(&0
M>&PO=V]R:W-H965T<R]S:&5E=#8N>&UL4$L! A0#%     @ Q'V.4* BP2T1
M!   HA(  !@              ( !(1L  'AL+W=O<FMS:&5E=',O<VAE970W
M+GAM;%!+ 0(4 Q0    ( ,1]CE!_0450MP0  $06   8              "
M 6@?  !X;"]W;W)K<VAE971S+W-H965T."YX;6Q02P$"% ,4    " #$?8Y0
MA&@SOK<!  #3 P  &               @ %5)   >&PO=V]R:W-H965T<R]S
M:&5E=#DN>&UL4$L! A0#%     @ Q'V.4'V.)!"W 0  TP,  !D
M     ( !0B8  'AL+W=O<FMS:&5E=',O<VAE970Q,"YX;6Q02P$"% ,4
M" #$?8Y0?2=SG;<!  #3 P  &0              @ $P*   >&PO=V]R:W-H
M965T<R]S:&5E=#$Q+GAM;%!+ 0(4 Q0    ( ,1]CE"9#UOPN $  -,#   9
M              "  1XJ  !X;"]W;W)K<VAE971S+W-H965T,3(N>&UL4$L!
M A0#%     @ Q'V.4"9XBBBW 0  TP,  !D              ( !#2P  'AL
M+W=O<FMS:&5E=',O<VAE970Q,RYX;6Q02P$"% ,4    " #$?8Y0.R7Z2;<!
M  #3 P  &0              @ '[+0  >&PO=V]R:W-H965T<R]S:&5E=#$T
M+GAM;%!+ 0(4 Q0    ( ,1]CE#S#MW,MP$  -,#   9              "
M >DO  !X;"]W;W)K<VAE971S+W-H965T,34N>&UL4$L! A0#%     @ Q'V.
M4"KA[:^W 0  TP,  !D              ( !US$  'AL+W=O<FMS:&5E=',O
M<VAE970Q-BYX;6Q02P$"% ,4    " #$?8Y0(Y0+.[<!  #3 P  &0
M        @ '%,P  >&PO=V]R:W-H965T<R]S:&5E=#$W+GAM;%!+ 0(4 Q0
M   ( ,1]CE#;,%S0N $  -,#   9              "  ;,U  !X;"]W;W)K
M<VAE971S+W-H965T,3@N>&UL4$L! A0#%     @ Q'V.4 :4+BJY 0  TP,
M !D              ( !HC<  'AL+W=O<FMS:&5E=',O<VAE970Q.2YX;6Q0
M2P$"% ,4    " #$?8Y0S#GQ)K8!  #3 P  &0              @ &2.0
M>&PO=V]R:W-H965T<R]S:&5E=#(P+GAM;%!+ 0(4 Q0    ( ,1]CE!L"5I=
MMP$  -,#   9              "  7\[  !X;"]W;W)K<VAE971S+W-H965T
M,C$N>&UL4$L! A0#%     @ Q'V.4()J.K^X 0  TP,  !D
M ( !;3T  'AL+W=O<FMS:&5E=',O<VAE970R,BYX;6Q02P$"% ,4    " #$
M?8Y0XA%.%;8!  #3 P  &0              @ %</P  >&PO=V]R:W-H965T
M<R]S:&5E=#(S+GAM;%!+ 0(4 Q0    ( ,1]CE"E%)VVMP$  -,#   9
M          "  4E!  !X;"]W;W)K<VAE971S+W-H965T,C0N>&UL4$L! A0#
M%     @ Q'V.4/?(4^JW 0  TP,  !D              ( !-T,  'AL+W=O
M<FMS:&5E=',O<VAE970R-2YX;6Q02P$"% ,4    " #$?8Y0YC6RI[<!  #3
M P  &0              @ $E10  >&PO=V]R:W-H965T<R]S:&5E=#(V+GAM
M;%!+ 0(4 Q0    ( ,1]CE"QO,Y?MP$  -,#   9              "  1-'
M  !X;"]W;W)K<VAE971S+W-H965T,C<N>&UL4$L! A0#%     @ Q'V.4$_U
M6E6X 0  TP,  !D              ( ! 4D  'AL+W=O<FMS:&5E=',O<VAE
M970R."YX;6Q02P$"% ,4    " #$?8Y0L%H=$+H!  #3 P  &0
M    @ 'P2@  >&PO=V]R:W-H965T<R]S:&5E=#(Y+GAM;%!+ 0(4 Q0    (
M ,1]CE VQS=OMP$  -,#   9              "  >%,  !X;"]W;W)K<VAE
M971S+W-H965T,S N>&UL4$L! A0#%     @ Q'V.4)@$-BVW 0  TP,  !D
M             ( !STX  'AL+W=O<FMS:&5E=',O<VAE970S,2YX;6Q02P$"
M% ,4    " #$?8Y0C!CS6*$"   5"P  &0              @ &]4   >&PO
M=V]R:W-H965T<R]S:&5E=#,R+GAM;%!+ 0(4 Q0    ( ,1]CE"@0NZFSP$
M )T$   9              "  953  !X;"]W;W)K<VAE971S+W-H965T,S,N
M>&UL4$L! A0#%     @ Q'V.4,M/]WRX 0  TP,  !D              ( !
MFU4  'AL+W=O<FMS:&5E=',O<VAE970S-"YX;6Q02P$"% ,4    " #$?8Y0
M$3!/@+D!  #3 P  &0              @ &*5P  >&PO=V]R:W-H965T<R]S
M:&5E=#,U+GAM;%!+ 0(4 Q0    ( ,1]CE#4Z7JOMP$  -,#   9
M      "  7I9  !X;"]W;W)K<VAE971S+W-H965T,S8N>&UL4$L! A0#%
M  @ Q'V.4#YB1G:W 0  TP,  !D              ( !:%L  'AL+W=O<FMS
M:&5E=',O<VAE970S-RYX;6Q02P$"% ,4    " #$?8Y0Q%202K@!  #3 P
M&0              @ %670  >&PO=V]R:W-H965T<R]S:&5E=#,X+GAM;%!+
M 0(4 Q0    ( ,1]CE!UWHNCN $  -,#   9              "  45?  !X
M;"]W;W)K<VAE971S+W-H965T,SDN>&UL4$L! A0#%     @ Q'V.4-Q/L>JX
M 0  TP,  !D              ( !-&$  'AL+W=O<FMS:&5E=',O<VAE970T
M,"YX;6Q02P$"% ,4    " #$?8Y09+$4XK@!  #3 P  &0
M@ $C8P  >&PO=V]R:W-H965T<R]S:&5E=#0Q+GAM;%!+ 0(4 Q0    ( ,1]
MCE 83#-2TP$  )T$   9              "  1)E  !X;"]W;W)K<VAE971S
M+W-H965T-#(N>&UL4$L! A0#%     @ Q'V.4,(*#IBX 0  TP,  !D
M         ( !'&<  'AL+W=O<FMS:&5E=',O<VAE970T,RYX;6Q02P$"% ,4
M    " #$?8Y0(2:Y,;@!  #3 P  &0              @ $+:0  >&PO=V]R
M:W-H965T<R]S:&5E=#0T+GAM;%!+ 0(4 Q0    ( ,1]CE"QY^DD$0(  )T&
M   9              "  ?IJ  !X;"]W;W)K<VAE971S+W-H965T-#4N>&UL
M4$L! A0#%     @ Q'V.4%O.[\KZ 0  S 4  !D              ( !0FT
M 'AL+W=O<FMS:&5E=',O<VAE970T-BYX;6Q02P$"% ,4    " #$?8Y0#U5L
M"[,!  #3 P  &0              @ %S;P  >&PO=V]R:W-H965T<R]S:&5E
M=#0W+GAM;%!+ 0(4 Q0    ( ,1]CE 2I#C>N $  -,#   9
M  "  5UQ  !X;"]W;W)K<VAE971S+W-H965T-#@N>&UL4$L! A0#%     @
MQ'V.4,.FP4JY 0  TP,  !D              ( !3',  'AL+W=O<FMS:&5E
M=',O<VAE970T.2YX;6Q02P$"% ,4    " #$?8Y051;@",X!  "=!   &0
M            @ $\=0  >&PO=V]R:W-H965T<R]S:&5E=#4P+GAM;%!+ 0(4
M Q0    ( ,1]CE!.YX:2(P4  .8=   9              "  4%W  !X;"]W
M;W)K<VAE971S+W-H965T-3$N>&UL4$L! A0#%     @ Q'V.4.9M20J=!P
M 3   !D              ( !FWP  'AL+W=O<FMS:&5E=',O<VAE970U,BYX
M;6Q02P$"% ,4    " #$?8Y0JZ;-9)H1  #,@   &0              @ %O
MA   >&PO=V]R:W-H965T<R]S:&5E=#4S+GAM;%!+ 0(4 Q0    ( ,1]CE!3
M>WS=L@(  (L*   9              "  4"6  !X;"]W;W)K<VAE971S+W-H
M965T-30N>&UL4$L! A0#%     @ Q'V.4+6M501H!   ZQP  !D
M     ( !*9D  'AL+W=O<FMS:&5E=',O<VAE970U-2YX;6Q02P$"% ,4
M" #$?8Y05.I?Q$0"  #S!@  &0              @ '(G0  >&PO=V]R:W-H
M965T<R]S:&5E=#4V+GAM;%!+ 0(4 Q0    ( ,1]CE IK*DY$0(  *@%   9
M              "  4.@  !X;"]W;W)K<VAE971S+W-H965T-3<N>&UL4$L!
M A0#%     @ Q'V.4#S6#*G7 0  )@4  !D              ( !BZ(  'AL
M+W=O<FMS:&5E=',O<VAE970U."YX;6Q02P$"% ,4    " #$?8Y0^HA!XOH!
M   A!0  &0              @ &9I   >&PO=V]R:W-H965T<R]S:&5E=#4Y
M+GAM;%!+ 0(4 Q0    ( ,1]CE!D#S"OU@$  (H$   9              "
M <JF  !X;"]W;W)K<VAE971S+W-H965T-C N>&UL4$L! A0#%     @ Q'V.
M4$C'.)2D 0  C@,  !D              ( !UZ@  'AL+W=O<FMS:&5E=',O
M<VAE970V,2YX;6Q02P$"% ,4    " #$?8Y0.,O_TL\!  " !   &0
M        @ &RJ@  >&PO=V]R:W-H965T<R]S:&5E=#8R+GAM;%!+ 0(4 Q0
M   ( ,1]CE!?)>?/IP$  (X#   9              "  ;BL  !X;"]W;W)K
M<VAE971S+W-H965T-C,N>&UL4$L! A0#%     @ Q'V.4)LT$GJ\ @  ZPH
M !D              ( !EJX  'AL+W=O<FMS:&5E=',O<VAE970V-"YX;6Q0
M2P$"% ,4    " #$?8Y0@;K:? P"    !@  &0              @ &)L0
M>&PO=V]R:W-H965T<R]S:&5E=#8U+GAM;%!+ 0(4 Q0    ( ,1]CE!;S2!J
MN0(  #<*   9              "  <RS  !X;"]W;W)K<VAE971S+W-H965T
M-C8N>&UL4$L! A0#%     @ Q'V.4,Y"?B52 P  #@\  !D
M ( !O+8  'AL+W=O<FMS:&5E=',O<VAE970V-RYX;6Q02P$"% ,4    " #$
M?8Y09(E06>X!   5!0  &0              @ %%N@  >&PO=V]R:W-H965T
M<R]S:&5E=#8X+GAM;%!+ 0(4 Q0    ( ,1]CE#M.JI!= (  (()   9
M          "  6J\  !X;"]W;W)K<VAE971S+W-H965T-CDN>&UL4$L! A0#
M%     @ Q'V.4*G(BX+! 0  ( 0  !D              ( !%;\  'AL+W=O
M<FMS:&5E=',O<VAE970W,"YX;6Q02P$"% ,4    " #$?8Y0DJ4UCAX"   G
M!@  &0              @ $-P0  >&PO=V]R:W-H965T<R]S:&5E=#<Q+GAM
M;%!+ 0(4 Q0    ( ,1]CE B$5@Q$ (  /4%   9              "  6+#
M  !X;"]W;W)K<VAE971S+W-H965T-S(N>&UL4$L! A0#%     @ Q'V.4&"A
MG2I. @  O <  !D              ( !J<4  'AL+W=O<FMS:&5E=',O<VAE
M970W,RYX;6Q02P$"% ,4    " #$?8Y0'#=DKJ "  !#"P  &0
M    @ $NR   >&PO=V]R:W-H965T<R]S:&5E=#<T+GAM;%!+ 0(4 Q0    (
M ,1]CE":5TIE+0(  &0&   9              "  07+  !X;"]W;W)K<VAE
M971S+W-H965T-S4N>&UL4$L! A0#%     @ Q'V.4'85+-]I @  4@@  !D
M             ( !:<T  'AL+W=O<FMS:&5E=',O<VAE970W-BYX;6Q02P$"
M% ,4    " #$?8Y0^D9/FD8"  !H!P  &0              @ $)T   >&PO
M=V]R:W-H965T<R]S:&5E=#<W+GAM;%!+ 0(4 Q0    ( ,1]CE 8W+46&0(
M -(%   9              "  8;2  !X;"]W;W)K<VAE971S+W-H965T-S@N
M>&UL4$L! A0#%     @ Q'V.4$OIB0.O @  BPD  !D              ( !
MUM0  'AL+W=O<FMS:&5E=',O<VAE970W.2YX;6Q02P$"% ,4    " #$?8Y0
MI2T0-1P$  #5$P  &0              @ &\UP  >&PO=V]R:W-H965T<R]S
M:&5E=#@P+GAM;%!+ 0(4 Q0    ( ,1]CE#4UY@"<@(  %X(   9
M      "  0_<  !X;"]W;W)K<VAE971S+W-H965T.#$N>&UL4$L! A0#%
M  @ Q'V.4-_5\F0@ @  G@8  !D              ( !N-X  'AL+W=O<FMS
M:&5E=',O<VAE970X,BYX;6Q02P$"% ,4    " #$?8Y0J LPNGP#  "Z#@
M&0              @ $/X0  >&PO=V]R:W-H965T<R]S:&5E=#@S+GAM;%!+
M 0(4 Q0    ( ,1]CE !W2X%NP,  -,1   9              "  <+D  !X
M;"]W;W)K<VAE971S+W-H965T.#0N>&UL4$L! A0#%     @ Q'V.4)NN:Z
M P  B0L  !D              ( !M.@  'AL+W=O<FMS:&5E=',O<VAE970X
M-2YX;6Q02P$"% ,4    " #$?8Y0K/'PA)4#  !0#P  &0
M@ 'KZP  >&PO=V]R:W-H965T<R]S:&5E=#@V+GAM;%!+ 0(4 Q0    ( ,1]
MCE"@7Y)!30,  +T-   9              "  ;?O  !X;"]W;W)K<VAE971S
M+W-H965T.#<N>&UL4$L! A0#%     @ Q'V.4.)<8@1< @  P@<  !D
M         ( !._,  'AL+W=O<FMS:&5E=',O<VAE970X."YX;6Q02P$"% ,4
M    " #$?8Y0<B9-)$<"  !"!P  &0              @ '.]0  >&PO=V]R
M:W-H965T<R]S:&5E=#@Y+GAM;%!+ 0(4 Q0    ( ,1]CE )?2H'; (  /4'
M   9              "  4SX  !X;"]W;W)K<VAE971S+W-H965T.3 N>&UL
M4$L! A0#%     @ Q'V.4#<' R'] @  N@L  !D              ( ![_H
M 'AL+W=O<FMS:&5E=',O<VAE970Y,2YX;6Q02P$"% ,4    " #$?8Y0V=!5
M%*H"  "M"0  &0              @ $C_@  >&PO=V]R:W-H965T<R]S:&5E
M=#DR+GAM;%!+ 0(4 Q0    ( ,1]CE#<K@J-40,  )<-   9
M  "  00! 0!X;"]W;W)K<VAE971S+W-H965T.3,N>&UL4$L! A0#%     @
MQ'V.4#2'B&0H!   PAD  !D              ( !C 0! 'AL+W=O<FMS:&5E
M=',O<VAE970Y-"YX;6Q02P$"% ,4    " #$?8Y0XCA6;AD"  #%!0  &0
M            @ 'K" $ >&PO=V]R:W-H965T<R]S:&5E=#DU+GAM;%!+ 0(4
M Q0    ( ,1]CE!+IBW=^@$  #0%   9              "  3L+ 0!X;"]W
M;W)K<VAE971S+W-H965T.38N>&UL4$L! A0#%     @ Q'V.4(;^'*BP 0
MY@,  !D              ( !; T! 'AL+W=O<FMS:&5E=',O<VAE970Y-RYX
M;6Q02P$"% ,4    " #$?8Y0/^41ANP"  ":"P  &0              @ %3
M#P$ >&PO=V]R:W-H965T<R]S:&5E=#DX+GAM;%!+ 0(4 Q0    ( ,1]CE"L
MY]&;)P(  $X&   9              "  782 0!X;"]W;W)K<VAE971S+W-H
M965T.3DN>&UL4$L! A0#%     @ Q'V.4$RB)]+R @  V0H  !H
M     ( !U!0! 'AL+W=O<FMS:&5E=',O<VAE970Q,# N>&UL4$L! A0#%
M  @ Q'V.4'!="'FN 0  D ,  !H              ( !_A<! 'AL+W=O<FMS
M:&5E=',O<VAE970Q,#$N>&UL4$L! A0#%     @ Q'V.4,4(O *) @  ?@@
M !H              ( !Y!D! 'AL+W=O<FMS:&5E=',O<VAE970Q,#(N>&UL
M4$L! A0#%     @ Q'V.4 2= 2AA @  ?P<  !H              ( !I1P!
M 'AL+W=O<FMS:&5E=',O<VAE970Q,#,N>&UL4$L! A0#%     @ Q'V.4*45
M$^,L @  TP8  !H              ( !/A\! 'AL+W=O<FMS:&5E=',O<VAE
M970Q,#0N>&UL4$L! A0#%     @ Q'V.4/-A<9X  @  BP4  !H
M     ( !HB$! 'AL+W=O<FMS:&5E=',O<VAE970Q,#4N>&UL4$L! A0#%
M  @ Q'V.4&YY10Q"D   T4D" !0              ( !VB,! 'AL+W-H87)E
M9%-T<FEN9W,N>&UL4$L! A0#%     @ Q'V.4!*6<>1? @  6@P   T
M         ( !3K0! 'AL+W-T>6QE<RYX;6Q02P$"% ,4    " #$?8Y0=O /
M$QT'  ""10  #P              @ '8M@$ >&PO=V]R:V)O;VLN>&UL4$L!
M A0#%     @ Q'V.4).^G^P2 P  /SX  !H              ( !(KX! 'AL
M+U]R96QS+W=O<FMB;V]K+GAM;"YR96QS4$L! A0#%     @ Q'V.4!S87^AR
M @  _3L  !,              ( !;,$! %M#;VYT96YT7U1Y<&5S72YX;6Q0
52P4&     '( <@!6'P  #\0!

end
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>96
<FILENAME>R81.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.20.1</span><table class="report" border="0" cellspacing="2" id="idp6900005152">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Note 17 - Stock-based Compensation Plans - Total Estimated Stock-based Compensation Expense (Details) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th" colspan="3">12 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Jan. 31, 2020</div></th>
<th class="th"><div>Jan. 31, 2019</div></th>
<th class="th"><div>Jan. 31, 2018</div></th>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AllocatedShareBasedCompensationExpense', window );">Stock-based compensation expense</a></td>
<td class="nump">$ 4,909<span></span>
</td>
<td class="nump">$ 3,710<span></span>
</td>
<td class="nump">$ 2,807<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_IncomeStatementLocationAxis=us-gaap_CostOfSalesMember', window );">Cost of Sales [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AllocatedShareBasedCompensationExpense', window );">Stock-based compensation expense</a></td>
<td class="nump">220<span></span>
</td>
<td class="nump">160<span></span>
</td>
<td class="nump">90<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_IncomeStatementLocationAxis=us-gaap_SellingAndMarketingExpenseMember', window );">Selling and Marketing Expense [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AllocatedShareBasedCompensationExpense', window );">Stock-based compensation expense</a></td>
<td class="nump">706<span></span>
</td>
<td class="nump">436<span></span>
</td>
<td class="nump">246<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_IncomeStatementLocationAxis=us-gaap_ResearchAndDevelopmentExpenseMember', window );">Research and Development Expense [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AllocatedShareBasedCompensationExpense', window );">Stock-based compensation expense</a></td>
<td class="nump">281<span></span>
</td>
<td class="nump">184<span></span>
</td>
<td class="nump">85<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_IncomeStatementLocationAxis=us-gaap_GeneralAndAdministrativeExpenseMember', window );">General and Administrative Expense [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AllocatedShareBasedCompensationExpense', window );">Stock-based compensation expense</a></td>
<td class="nump">$ 3,702<span></span>
</td>
<td class="nump">$ 2,930<span></span>
</td>
<td class="nump">$ 2,386<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AllocatedShareBasedCompensationExpense">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of expense for award under share-based payment arrangement. Excludes amount capitalized.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=116856206&amp;loc=d3e5047-113901<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB Topic 14.F)<br> -URI http://asc.fasb.org/extlink&amp;oid=115993241&amp;loc=d3e301413-122809<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (h)(1)(i)<br> -URI http://asc.fasb.org/extlink&amp;oid=116856206&amp;loc=d3e5070-113901<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AllocatedShareBasedCompensationExpense</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncomeStatementLocationAxis=us-gaap_CostOfSalesMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncomeStatementLocationAxis=us-gaap_CostOfSalesMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncomeStatementLocationAxis=us-gaap_SellingAndMarketingExpenseMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncomeStatementLocationAxis=us-gaap_SellingAndMarketingExpenseMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncomeStatementLocationAxis=us-gaap_ResearchAndDevelopmentExpenseMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncomeStatementLocationAxis=us-gaap_ResearchAndDevelopmentExpenseMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncomeStatementLocationAxis=us-gaap_GeneralAndAdministrativeExpenseMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncomeStatementLocationAxis=us-gaap_GeneralAndAdministrativeExpenseMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>97
<FILENAME>R19.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.20.1</span><table class="report" border="0" cellspacing="2" id="idp6891817376">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Note 11 - Accrued Liabilities<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Jan. 31, 2020</div></th></tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DisclosureTextBlockAbstract', window );"><strong>Notes to Financial Statements</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AccountsPayableAndAccruedLiabilitiesDisclosureTextBlock', window );">Accounts Payable and Accrued Liabilities Disclosure [Text Block]</a></td>
<td class="text"><div style="display: inline; font-family: times new roman; font-size: 10pt"><div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"><div style="display: inline; font-weight: bold;">Note <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">11</div> - Accrued Liabilities</div></div> <div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0">&nbsp;</div> <div> <table cellpadding="0" cellspacing="0" style="border-collapse: collapse; font: 10pt Times New Roman, Times, Serif; min-width: 700px;">  <tr style="vertical-align: bottom; background-color: White"> <td style="text-align: right">&nbsp;</td> <td style="font-weight: bold">&nbsp;</td> <td style="border-top: Black 1pt solid; font-weight: bold; text-align: left">&nbsp;</td> <td style="border-top: Black 1pt solid; font-weight: bold; text-align: right"><div style="display: inline; font-family: Times New Roman, Times, Serif; font-size: 10pt"><div style="display: inline; font-weight: bold;">January 31,</div></div></td> <td style="border-top: Black 1pt solid; white-space: nowrap; font-weight: bold; text-align: left">&nbsp;</td> <td style="border-top: Black 1pt solid">&nbsp;</td> <td style="border-top: Black 1pt solid; text-align: left">&nbsp;</td> <td style="border-top: Black 1pt solid; text-align: right"><div style="display: inline; font-family: Times New Roman, Times, Serif; font-size: 10pt">January 31,</div></td> <td style="border-top: Black 1pt solid; white-space: nowrap; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: White"> <td style="text-align: right; padding-bottom: 1pt">&nbsp;</td> <td style="font-weight: bold">&nbsp;</td> <td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: right">2020</td> <td style="white-space: nowrap; border-bottom: Black 1pt solid; font-weight: bold; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid">&nbsp;</td> <td style="border-bottom: Black 1pt solid; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid; text-align: right">2019</td> <td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="width: 68%; text-align: left">Accrued compensation and benefits</td> <td style="width: 2%; font-weight: bold">&nbsp;</td> <td style="width: 1%; font-weight: bold; text-align: left">&nbsp;</td> <td style="width: 12%; font-weight: bold; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">20,613</div></td> <td style="white-space: nowrap; width: 1%; font-weight: bold; text-align: left">&nbsp;</td> <td style="width: 2%">&nbsp;</td> <td style="width: 1%; text-align: left">&nbsp;</td> <td style="width: 12%; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">16,771</div></td> <td style="white-space: nowrap; width: 1%; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: White"> <td style="text-align: left">Accrued professional fees</td> <td style="font-weight: bold">&nbsp;</td> <td style="font-weight: bold; text-align: left">&nbsp;</td> <td style="font-weight: bold; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">1,010</div></td> <td style="white-space: nowrap; font-weight: bold; text-align: left">&nbsp;</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">1,137</div></td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="text-align: left; padding-bottom: 1pt">Other accrued liabilities</td> <td style="font-weight: bold">&nbsp;</td> <td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">13,253</div></td> <td style="white-space: nowrap; border-bottom: Black 1pt solid; font-weight: bold; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid">&nbsp;</td> <td style="border-bottom: Black 1pt solid; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">11,484</div></td> <td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: White"> <td style="padding-bottom: 1pt">&nbsp;</td> <td style="font-weight: bold">&nbsp;</td> <td style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">34,876</div></td> <td style="border-bottom: Black 1.5pt solid; white-space: nowrap; font-weight: bold; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1.5pt solid">&nbsp;</td> <td style="border-bottom: Black 1.5pt solid; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1.5pt solid; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">29,392</div></td> <td style="border-bottom: Black 1.5pt solid; white-space: nowrap; text-align: left">&nbsp;</td> </tr>  </table> </div> <div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0">&nbsp;</div> <div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0">Other accrued liabilities include accrued expenses related to <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">third</div> party resellers and royalties, suppliers, accrued restructuring charges and accrued contingent acquisition purchase consideration.</div></div><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AccountsPayableAndAccruedLiabilitiesDisclosureTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The entire disclosure for accounts payable and accrued liabilities at the end of the reporting period.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.19(a),20,24)<br> -URI http://asc.fasb.org/extlink&amp;oid=6877327&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AccountsPayableAndAccruedLiabilitiesDisclosureTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>nonnum:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DisclosureTextBlockAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DisclosureTextBlockAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>98
<FILENAME>R11.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.20.1</span><table class="report" border="0" cellspacing="2" id="idp6902041136">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Note 3 - Acquisitions<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Jan. 31, 2020</div></th></tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DisclosureTextBlockAbstract', window );"><strong>Notes to Financial Statements</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessCombinationDisclosureTextBlock', window );">Business Combination Disclosure [Text Block]</a></td>
<td class="text"><div style="display: inline; font-family: times new roman; font-size: 10pt"><div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><div style="display: inline; font-weight: bold;">Note <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">3</div> &#x2013; Acquisitions</div></div> <div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><div style="display: inline; font-weight: bold;">&nbsp;</div></div> <div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><div style="display: inline; text-decoration: underline;">Fiscal <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">2020</div> Acquisitions</div></div> <div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">On <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"> February 12, 2019, </div>Descartes acquired substantially all of the assets of the businesses run by the Management Systems Resources Inc. group of companies (collectively, &#x201c;Visual Compliance&#x201d;), a provider of software solutions and services to automate customs, trade and fiscal compliance processes including denied and restricted party screening processes and export licensing. The purchase price for the acquisition was approximately <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">$248.9</div> million, net of cash acquired, which was funded from a combination of drawing on Descartes&#x2019; existing credit facility and issuing to the sellers <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">0.3</div> million Descartes common shares from treasury. The gross contractual amount of trade receivables acquired was <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">$6.4</div> million with a fair value of <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">$5.2</div> million at the date of acquisition. Our acquisition date estimate of contractual cash flows <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">not</div> expected to be collected was <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">$1.2</div> million. The purchase price was finalized in the <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">three</div> month period ended <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"> January 31, 2020 </div>with <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">no</div> adjustments.</div> <div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&nbsp;</div>  <div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"></div> <div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">On <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"> May 10, 2019, </div>Descartes acquired all the shares of Core Transport Technologies NZ Limited (&#x201c;CORE&#x201d;), an electronic transportation network that provides global air carriers and ground handlers with shipment scanning and tracking solutions. The purchase price for the acquisition was approximately <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">$21.8</div> million, net of cash acquired, which was funded from drawing on Descartes&#x2019; existing credit facility. Additional contingent consideration of up to <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">$9.0</div> million in cash is payable if certain revenue performance targets are met by CORE in the <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">two</div> years following the acquisition. The fair value of the contingent consideration was valued at <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">$1.5</div> million at the acquisition date. The gross contractual amount of trade receivables acquired was <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">$0.4</div> million with a fair value of <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">$0.4</div> million at the date of acquisition. Our acquisition date estimate of contractual cash flows <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">not</div> expected to be collected was nominal. The completion of the initial purchase price allocation is pending the finalization of the fair value of accrued liability balances as well as potential unrecorded liabilities. We expect to finalize the purchase price allocation on or before <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"> May 10, 2020.</div></div> <div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&nbsp;</div> <div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">On <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"> June 27, 2019, </div>Descartes acquired all the shares of Tegmento AG and Contentis AG (collectively, &#x201c;STEPcom&#x201d;), a business-to-business supply chain integration network based in Switzerland. The purchase price for the acquisition was approximately <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">$18.6</div> million, net of cash acquired, which was funded from drawing on Descartes&#x2019; existing credit facility. The gross contractual amount of trade receivables acquired was <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">$0.9</div> million with a fair value of <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">$0.8</div> million at the date of acquisition. Our acquisition date estimate of contractual cash flows <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">not</div> expected to be collected was <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">$0.1</div> million. The completion of the initial purchase price allocation is pending the finalization of the fair value for trade receivables, accrued liability balances as well as potential unrecorded liabilities. We expect to finalize the purchase price allocation on or before <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"> June 27, 2020.</div></div> <div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&nbsp;</div> <div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">On <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"> August 20, 2019, </div>Descartes acquired BestTransport.com, Inc. (&#x201c;BestTransport&#x201d;), a cloud-based transportation management system provider focused on flatbed-intensive manufacturers and distributors. The purchase price for the acquisition was approximately <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">$11.7</div> million, net of cash acquired, which was funded from drawing on Descartes&#x2019; existing credit facility. The gross contractual amount of trade receivables acquired was <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">$0.6</div> million with a fair value of <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">$0.6</div> million at the date of acquisition. Our acquisition date estimate of contractual cash flows <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">not</div> expected to be collected was nominal. The completion of the initial purchase price allocation is pending the finalization of the fair value for trade receivables, accrued liability balances as well as potential unrecorded liabilities. We expect to finalize the purchase price allocation on or before <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"> August 20, 2020.</div></div> <div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&nbsp;</div> <div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">For the businesses acquired during fiscal <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">2020,</div> we incurred acquisition-related costs of <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">$2.2</div> million for the year ended <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"> January 31, 2020. </div>The acquisition-related costs were primarily for advisory services and are included in other charges in our consolidated statements of operations. For the year ended <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"> January 31, 2020, </div>we have recognized <div style="display: inline; color: black">aggregate revenues of <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">$33.8</div> million, and net income (excluding any interest costs on financing the a</div>cquisition) of <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">$6.4</div> million from Visual Compliance, CORE, STEPcom and BestTransport since the date of acquisition in our consolidated statements of operations.</div> <div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&nbsp;</div>  <div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"></div> <div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">The final purchase price allocation for Visual Compliance and the preliminary purchase price allocations CORE, STEPcom and BestTransport, which have <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">not</div> been finalized, are as follows:</div> <div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&nbsp;</div> <div>  <table style="border-collapse: collapse; font: 10pt Times New Roman, Times, Serif; min-width: 700px;" cellspacing="0" cellpadding="0">  <tr style="vertical-align: bottom"> <td style="padding-bottom: 1pt">&nbsp;</td> <td style="font-weight: bold">&nbsp;</td> <td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: right"><div style="display: inline; font-family: Times New Roman, Times, Serif; font-size: 10pt"><div style="display: inline; font-weight: bold;">Visual <br /> Compliance</div></div></td> <td style="white-space: nowrap; border-bottom: Black 1pt solid; font-weight: bold; text-align: left">&nbsp;</td> <td style="font-weight: bold; border-bottom: Black 1pt solid">&nbsp;</td> <td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: right"><div style="display: inline; font-weight: bold;">&nbsp;</div><div style="display: inline; font-weight: bold;">&nbsp;</div><div style="display: inline; font-weight: bold;">CORE</div></td> <td style="white-space: nowrap; border-bottom: Black 1pt solid; font-weight: bold; text-align: left">&nbsp;</td> <td style="font-weight: bold; border-bottom: Black 1pt solid">&nbsp;</td> <td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: right"><div style="display: inline; font-weight: bold;">&nbsp;</div><div style="display: inline; font-weight: bold;">STEP-<br /> com</div></td> <td style="white-space: nowrap; border-bottom: Black 1pt solid; font-weight: bold; text-align: left">&nbsp;</td> <td style="font-weight: bold; border-bottom: Black 1pt solid">&nbsp;</td> <td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: right"><div style="display: inline; font-weight: bold;">&nbsp;</div><div style="display: inline; font-weight: bold;">Best-<br /> Transport</div></td> <td style="white-space: nowrap; border-bottom: Black 1pt solid; font-weight: bold; text-align: left">&nbsp;</td> <td style="font-weight: bold; border-bottom: Black 1pt solid">&nbsp;</td> <td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: right"><div style="display: inline; font-weight: bold;">&nbsp;</div><div style="display: inline; font-weight: bold;">&nbsp;</div><div style="display: inline; font-weight: bold;">Total</div></td> <td style="white-space: nowrap; border-bottom: Black 1pt solid; font-weight: bold; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td>Purchase price consideration:</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right">&nbsp;</td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right">&nbsp;</td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right">&nbsp;</td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right">&nbsp;</td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right">&nbsp;</td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: White"> <td style="width: 45%; text-align: left; padding-left: 12pt">Cash, less cash acquired related to Visual Compliance ($170), CORE ($213), STEPcom ($2,700) and BestTransport ($507)</td> <td style="width: 1%">&nbsp;</td> <td style="width: 1%; text-align: left">&nbsp;</td> <td style="width: 8%; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">239,863</div></td> <td style="white-space: nowrap; width: 1%; text-align: left">&nbsp;</td> <td style="width: 1%">&nbsp;</td> <td style="width: 1%; text-align: left">&nbsp;</td> <td style="width: 8%; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">21,833</div></td> <td style="white-space: nowrap; width: 1%; text-align: left">&nbsp;</td> <td style="width: 1%">&nbsp;</td> <td style="width: 1%; text-align: left">&nbsp;</td> <td style="width: 8%; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">18,639</div></td> <td style="white-space: nowrap; width: 1%; text-align: left">&nbsp;</td> <td style="width: 1%">&nbsp;</td> <td style="width: 1%; text-align: left">&nbsp;</td> <td style="width: 8%; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">11,718</div></td> <td style="white-space: nowrap; width: 1%; text-align: left">&nbsp;</td> <td style="width: 1%">&nbsp;</td> <td style="width: 1%; text-align: left">&nbsp;</td> <td style="width: 8%; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">292,053</div></td> <td style="white-space: nowrap; width: 1%; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="padding-left: 12pt">Common shares issued</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">9,045</div></td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">&#x2013;</div></td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">&#x2013;</div></td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">&#x2013;</div></td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">9,045</div></td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: White"> <td style="text-align: left; padding-left: 12pt">Contingent consideration</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">&#x2013;</div></td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">1,450</div></td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">&#x2013;</div></td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">&#x2013;</div></td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">1,450</div></td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="text-align: left; padding-bottom: 1pt; padding-left: 12pt">Net working capital adjustments payable / (receivable)</td> <td>&nbsp;</td> <td style="border-bottom: Black 1pt solid; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">1,147</div></td> <td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid">&nbsp;</td> <td style="border-bottom: Black 1pt solid; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">62</div></td> <td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid">&nbsp;</td> <td style="border-bottom: Black 1pt solid; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">250</div></td> <td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid">&nbsp;</td> <td style="border-bottom: Black 1pt solid; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">&#x2013;</div></td> <td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid">&nbsp;</td> <td style="border-bottom: Black 1pt solid; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">1,459</div></td> <td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: White"> <td style="padding-bottom: 1pt">&nbsp;</td> <td>&nbsp;</td> <td style="border-bottom: Black 1.5pt solid; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1.5pt solid; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">250,055</div></td> <td style="border-bottom: Black 1.5pt solid; white-space: nowrap; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1.5pt solid">&nbsp;</td> <td style="border-bottom: Black 1.5pt solid; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1.5pt solid; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">23,345</div></td> <td style="border-bottom: Black 1.5pt solid; white-space: nowrap; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1.5pt solid">&nbsp;</td> <td style="border-bottom: Black 1.5pt solid; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1.5pt solid; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">18,889</div></td> <td style="border-bottom: Black 1.5pt solid; white-space: nowrap; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1.5pt solid">&nbsp;</td> <td style="border-bottom: Black 1.5pt solid; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1.5pt solid; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">11,718</div></td> <td style="border-bottom: Black 1.5pt solid; white-space: nowrap; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1.5pt solid">&nbsp;</td> <td style="border-bottom: Black 1.5pt solid; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1.5pt solid; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">304,007</div></td> <td style="border-bottom: Black 1.5pt solid; white-space: nowrap; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="text-align: left">Allocated to:</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right">&nbsp;</td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right">&nbsp;</td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right">&nbsp;</td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right">&nbsp;</td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right">&nbsp;</td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: White"> <td style="text-align: left; padding-left: 12pt">Current assets, excluding cash acquired</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">6,403</div></td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">689</div></td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">1,470</div></td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">815</div></td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">9,377</div></td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="text-align: left; padding-left: 12pt">Property and equipment</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">30</div></td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">2,048</div></td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">257</div></td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">35</div></td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">2,370</div></td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: White"> <td style="text-align: left; padding-left: 12pt">Deferred income tax asset</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">30,924</div></td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">&#x2013;</div></td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">&#x2013;</div></td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">&#x2013;</div></td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">30,924</div></td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="text-align: left; padding-left: 12pt">Right-of-use assets</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">1,188</div></td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">68</div></td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">232</div></td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">194</div></td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">1,682</div></td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: White"> <td style="text-align: left; padding-left: 12pt">Current liabilities</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">(840</div></td> <td style="white-space: nowrap; text-align: left">)</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">(352</div></td> <td style="white-space: nowrap; text-align: left">)</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">(874</div></td> <td style="white-space: nowrap; text-align: left">)</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">(284</div></td> <td style="white-space: nowrap; text-align: left">)</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">(2,350</div></td> <td style="white-space: nowrap; text-align: left">)</td> </tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="text-align: left; padding-left: 12pt">Deferred revenue</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">(10,267</div></td> <td style="white-space: nowrap; text-align: left">)</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">(278</div></td> <td style="white-space: nowrap; text-align: left">)</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">(813</div></td> <td style="white-space: nowrap; text-align: left">)</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">(9</div></td> <td style="white-space: nowrap; text-align: left">)</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">(11,367</div></td> <td style="white-space: nowrap; text-align: left">)</td> </tr> <tr style="vertical-align: bottom; background-color: White"> <td style="text-align: left; padding-left: 12pt">Lease obligations</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">(1,188</div></td> <td style="white-space: nowrap; text-align: left">)</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">(68</div></td> <td style="white-space: nowrap; text-align: left">)</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">(232</div></td> <td style="white-space: nowrap; text-align: left">)</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">(194</div></td> <td style="white-space: nowrap; text-align: left">)</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">(1,682</div></td> <td style="white-space: nowrap; text-align: left">)</td> </tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="text-align: left; padding-bottom: 1pt; padding-left: 12pt">Deferred income tax liability</td> <td>&nbsp;</td> <td style="border-bottom: Black 1pt solid; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">(282</div></td> <td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">)</td> <td style="border-bottom: Black 1pt solid">&nbsp;</td> <td style="border-bottom: Black 1pt solid; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">(3,332</div></td> <td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">)</td> <td style="border-bottom: Black 1pt solid">&nbsp;</td> <td style="border-bottom: Black 1pt solid; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">(2,316</div></td> <td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">)</td> <td style="border-bottom: Black 1pt solid">&nbsp;</td> <td style="border-bottom: Black 1pt solid; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">(1,352</div></td> <td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">)</td> <td style="border-bottom: Black 1pt solid">&nbsp;</td> <td style="border-bottom: Black 1pt solid; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">(7,282</div></td> <td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">)</td> </tr> <tr style="vertical-align: bottom; background-color: White"> <td style="text-align: left; padding-bottom: 1pt">Net tangible assets (liabilities) assumed</td> <td>&nbsp;</td> <td style="border-bottom: Black 1pt solid; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">25,968</div></td> <td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid">&nbsp;</td> <td style="border-bottom: Black 1pt solid; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">(1,225</div></td> <td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">)</td> <td style="border-bottom: Black 1pt solid">&nbsp;</td> <td style="border-bottom: Black 1pt solid; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">(2,276</div></td> <td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">)</td> <td style="border-bottom: Black 1pt solid">&nbsp;</td> <td style="border-bottom: Black 1pt solid; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">(795</div></td> <td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">)</td> <td style="border-bottom: Black 1pt solid">&nbsp;</td> <td style="border-bottom: Black 1pt solid; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">21,672</div></td> <td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td>&nbsp;</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right">&nbsp;</td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right">&nbsp;</td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right">&nbsp;</td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right">&nbsp;</td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right">&nbsp;</td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: White"> <td style="text-align: left">Finite life intangible assets acquired:</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right">&nbsp;</td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right">&nbsp;</td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right">&nbsp;</td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right">&nbsp;</td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right">&nbsp;</td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="text-align: left; padding-left: 10pt">Customer agreements and relationships</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">32,186</div></td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">4,600</div></td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">10,839</div></td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">3,000</div></td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">50,625</div></td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: White"> <td style="text-align: left; padding-left: 10pt">Existing technology</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">69,422</div></td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">6,800</div></td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">&#x2013;</div></td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">3,800</div></td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">80,022</div></td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="text-align: left; padding-left: 10pt">Trade names</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">528</div></td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">200</div></td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">102</div></td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">50</div></td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">880</div></td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: White"> <td style="text-align: left; padding-left: 10pt">Non-compete covenants</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">3,166</div></td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">300</div></td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">205</div></td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">150</div></td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">3,821</div></td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="padding-bottom: 1pt">Goodwill</td> <td>&nbsp;</td> <td style="border-bottom: Black 1pt solid; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">118,785</div></td> <td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid">&nbsp;</td> <td style="border-bottom: Black 1pt solid; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">12,670</div></td> <td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid">&nbsp;</td> <td style="border-bottom: Black 1pt solid; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">10,019</div></td> <td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid">&nbsp;</td> <td style="border-bottom: Black 1pt solid; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">5,513</div></td> <td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid">&nbsp;</td> <td style="border-bottom: Black 1pt solid; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">146,987</div></td> <td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: White"> <td style="padding-bottom: 1pt">&nbsp;</td> <td>&nbsp;</td> <td style="border-bottom: Black 1.5pt solid; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1.5pt solid; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">250,055</div></td> <td style="border-bottom: Black 1.5pt solid; white-space: nowrap; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1.5pt solid">&nbsp;</td> <td style="border-bottom: Black 1.5pt solid; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1.5pt solid; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">23,345</div></td> <td style="border-bottom: Black 1.5pt solid; white-space: nowrap; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1.5pt solid">&nbsp;</td> <td style="border-bottom: Black 1.5pt solid; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1.5pt solid; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">18,889</div></td> <td style="border-bottom: Black 1.5pt solid; white-space: nowrap; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1.5pt solid">&nbsp;</td> <td style="border-bottom: Black 1.5pt solid; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1.5pt solid; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">11,718</div></td> <td style="border-bottom: Black 1.5pt solid; white-space: nowrap; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1.5pt solid">&nbsp;</td> <td style="border-bottom: Black 1.5pt solid; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1.5pt solid; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">304,007</div></td> <td style="border-bottom: Black 1.5pt solid; white-space: nowrap; text-align: left">&nbsp;</td> </tr>  </table>  </div> <div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&nbsp;</div> <div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">The above transactions were accounted for using the acquisition method in accordance with ASC Topic <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">805,</div> &#x201c;Business Combinations&#x201d;. The purchase price allocations in the table above represents our estimates of the allocation of the purchase price and the fair value of net assets acquired. The preliminary purchase price allocations <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"> may </div>differ from the final purchase price allocations, and these differences <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"> may </div>be material. Revisions to the allocations will occur as additional information about the fair value of assets and liabilities becomes available. The final purchase price allocations will be completed within <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">one</div> year from the acquisition dates.</div> <div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&nbsp;</div> <div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0">The acquired intangible assets are being amortized over their estimated useful lives as follows:</div> <div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0">&nbsp;</div> <div>  <table style="border-collapse: collapse; font: 10pt Times New Roman, Times, Serif; min-width: 700px;" cellspacing="0" cellpadding="0">  <tr style="vertical-align: bottom"> <td style="padding-bottom: 1pt">&nbsp;</td> <td style="font-weight: bold">&nbsp;</td> <td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: right"><div style="display: inline; font-weight: bold;">&nbsp;</div><div style="display: inline; font-weight: bold;">Visual <br /> Compliance <br /> (in years)</div></td> <td style="white-space: nowrap; border-bottom: Black 1pt solid; font-weight: bold; text-align: left">&nbsp;</td> <td style="font-weight: bold; border-bottom: Black 1pt solid">&nbsp;</td> <td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: right"><div style="display: inline; font-weight: bold;">&nbsp;</div><div style="display: inline; font-weight: bold;">&nbsp;</div><div style="display: inline; font-weight: bold;">CORE <br /> (in years)</div></td> <td style="white-space: nowrap; border-bottom: Black 1pt solid; font-weight: bold; text-align: left">&nbsp;</td> <td style="font-weight: bold; border-bottom: Black 1pt solid">&nbsp;</td> <td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: right"><div style="display: inline; font-weight: bold;">&nbsp;</div><div style="display: inline; font-weight: bold;">&nbsp;</div><div style="display: inline; font-weight: bold;">STEPcom<br /> (in years)</div></td> <td style="white-space: nowrap; border-bottom: Black 1pt solid; font-weight: bold; text-align: left">&nbsp;</td> <td style="font-weight: bold; border-bottom: Black 1pt solid">&nbsp;</td> <td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: right"><div style="display: inline; font-weight: bold;">&nbsp;</div><div style="display: inline; font-weight: bold;">Best <br /> Transport <br /> (in years)</div></td> <td style="white-space: nowrap; border-bottom: Black 1pt solid; font-weight: bold; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="width: 52%; text-align: left">&nbsp;&nbsp;Customer agreements and relationships</td> <td style="width: 1%">&nbsp;</td> <td style="width: 1%; text-align: left">&nbsp;</td> <td style="width: 9%; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">14</div></td> <td style="white-space: nowrap; width: 1%; text-align: left">&nbsp;</td> <td style="width: 1%">&nbsp;</td> <td style="width: 1%; text-align: left">&nbsp;</td> <td style="width: 9%; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">13</div></td> <td style="white-space: nowrap; width: 1%; text-align: left">&nbsp;</td> <td style="width: 1%">&nbsp;</td> <td style="width: 1%; text-align: left">&nbsp;</td> <td style="width: 9%; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">9</div></td> <td style="white-space: nowrap; width: 1%; text-align: left">&nbsp;</td> <td style="width: 1%">&nbsp;</td> <td style="width: 1%; text-align: left">&nbsp;</td> <td style="width: 9%; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">12</div></td> <td style="white-space: nowrap; width: 1%; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: White"> <td style="text-align: left">&nbsp;&nbsp;Existing technology</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">7</div></td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">6</div></td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right"><div style="display: inline; font-family: Times New Roman, Times, Serif; font-size: 10pt"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">N/A</div></div></td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">6</div></td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="text-align: left">&nbsp;&nbsp;Trade names</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">5</div></td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">8</div></td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">3</div></td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">3</div></td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: White"> <td style="text-align: left">&nbsp;&nbsp;Non-compete covenants</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">5</div></td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">5</div></td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">3</div></td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">2</div></td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> </tr>  </table>  </div> <div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&nbsp;</div> <div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">The goodwill on the Visual Compliance, CORE, STEPcom and BestTransport acquisitions arose as a result of the combined strategic value to our growth plan. The goodwill arising from the CORE, STEPcom and BestTransport acquisitions is <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">not</div> deductible for tax purposes. The goodwill from the Visual Compliance acquisition is deductible for tax purposes.</div> <div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><div style="display: inline; font-weight: bold;">&nbsp;</div></div> <div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><div style="display: inline; text-decoration: underline;">Fiscal <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">2019</div> Acquisitions</div></div> <div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">On <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"> February 2, 2018, </div>Descartes acquired Aljex Software, Inc. (&#x201c;Aljex&#x201d;), a cloud-based provider of back-office transportation management solutions for freight brokers and transportation providers. US-based Aljex helps customers automate business processes and create electronic documents critical for executing transportation moves through the lifecycle of a shipment. The purchase price for the acquisition was approximately <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">$32.4</div> million, net of cash acquired, which was funded from drawing on Descartes&#x2019; existing credit facility. The gross contractual amount of trade receivables acquired was <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">$0.2</div> million with a fair value of <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">$0.2</div> million at the date of acquisition. Our acquisition date estimate of contractual cash flows <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">not</div> expected to be collected was nominal. The purchase price was finalized in the <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">three</div> month period ended <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"> January 31, 2019 </div>with <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">no</div> adjustments.</div> <div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&nbsp;</div> <div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">On <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"> June 22, 2018, </div>Descartes acquired certain assets of Velocity Mail, LLC (&#x201c;Velocity Mail&#x201d;), an electronic transportation network that provides global air carriers with mail and parcel shipment scanning and tracking solutions. Using US-based Velocity Mail&#x2019;s network, global air carriers leverage mobile devices to accurately track shipments and deliveries in real-time. The purchase price for the acquisition was approximately <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">$26.1</div> million, net of cash acquired, which was funded from drawing on Descartes&#x2019; existing credit facility. The gross contractual amount of trade receivables acquired was <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">$1.0</div> million with a fair value of <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">$1.0</div> million at the date of acquisition. Our acquisition date estimate of contractual cash flows <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">not</div> expected to be collected was nominal. The purchase price was finalized in the <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">three</div> month period ended <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"> July 31, 2019 </div>with <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">no</div> adjustments.</div> <div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&nbsp;</div> <div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><div style="display: inline; color: black">On <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"> August 21, 2018, </div>Descartes acquired PinPoint GPS Solutions Inc. (&#x201c;PinPoint&#x201d;), a provider of fleet tracking and mobile workforce solutions. Canada-based PinPoint helps customers collect real-time location information on trucks and mobile workers using technology, including Geotab (telematics) and SkyBitz (trailer tracking). The purchase price for the acquisition was approximately <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">$11.0</div> million </div>(CAD <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">$14.4</div> million)<div style="display: inline; color: black">, net of cash acquired, which was funded from a combination of drawing on Descartes&#x2019; existing credit facility and issuing to the sellers less than <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">0.1</div> million Descartes common shares from treasury. </div>Additional contingent consideration of up to <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">$2.3</div> million (CAD <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">$3.0</div> million) in cash is payable if certain revenue performance targets are met by PinPoint in the <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">two</div> years following the acquisition. The fair value of the contingent consideration was valued at <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">$0.7</div> million at the acquisition date. The gross contractual amount of trade receivables acquired was <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">$0.5</div> million with a fair value of <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">$0.5</div> million at the date of acquisition. Our acquisition date estimate of contractual cash flows <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">not</div> expected to be collected was nominal. The purchase price was finalized in the <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">three</div> month period ended <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"> July 31, 2019 </div>with <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">no</div> adjustments.</div> <div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0">&nbsp;</div>  <div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"></div> <div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0">The final purchase price allocations for businesses we acquired during <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">2019</div> are as follows:</div> <div>  <table style="border-collapse: collapse; font: 10pt Times New Roman, Times, Serif; min-width: 700px;" cellspacing="0" cellpadding="0">  <tr style="vertical-align: bottom; background-color: White"> <td style="padding-bottom: 1pt">&nbsp;</td> <td style="font-weight: bold"><div style="display: inline; font-style: italic;">&nbsp;</div></td> <td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: right"><div style="display: inline; font-family: Times New Roman, Times, Serif; font-size: 10pt"><div style="display: inline; font-weight: bold;">Aljex</div></div></td> <td style="white-space: nowrap; border-bottom: Black 1pt solid; font-weight: bold; text-align: left">&nbsp;</td> <td style="font-weight: bold; border-bottom: Black 1pt solid">&nbsp;</td> <td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: right"><div style="display: inline; font-family: Times New Roman, Times, Serif; font-size: 10pt"><div style="display: inline; font-weight: bold;">Velocity Mail</div></div></td> <td style="white-space: nowrap; border-bottom: Black 1pt solid; font-weight: bold; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid">&nbsp;</td> <td style="border-bottom: Black 1pt solid; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid; text-align: right"><div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 3pt 0pt 0; text-align: right"><div style="display: inline; font-weight: bold;">&nbsp;</div></div><div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 3pt 0pt 0; text-align: right"><div style="display: inline; font-weight: bold;">PinPoint</div></div></td> <td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&nbsp;</td> <td style="font-weight: bold; border-bottom: Black 1pt solid">&nbsp;</td> <td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: right"><div style="display: inline; font-family: Times New Roman, Times, Serif; font-size: 10pt"><div style="display: inline; font-weight: bold;">Total</div></div></td> <td style="white-space: nowrap; border-bottom: Black 1pt solid; font-weight: bold; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td>Purchase price consideration:</td> <td><div style="display: inline; font-style: italic;">&nbsp;</div></td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right">&nbsp;</td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right">&nbsp;</td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right">&nbsp;</td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right">&nbsp;</td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: White"> <td style="width: 52%; text-align: left; padding-left: 12pt">Cash, less cash acquired related to Aljex ($193), Velocity Mail (nil) and PinPoint ($769)</td> <td style="width: 1%"><div style="display: inline; font-style: italic;">&nbsp;</div></td> <td style="width: 1%; text-align: left">&nbsp;</td> <td style="width: 9%; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">32,382</div></td> <td style="white-space: nowrap; width: 1%; text-align: left">&nbsp;</td> <td style="width: 1%">&nbsp;</td> <td style="width: 1%; text-align: left">&nbsp;</td> <td style="width: 9%; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">26,107</div></td> <td style="white-space: nowrap; width: 1%; text-align: left">&nbsp;</td> <td style="width: 1%">&nbsp;</td> <td style="width: 1%; text-align: left">&nbsp;</td> <td style="width: 9%; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">9,443</div></td> <td style="white-space: nowrap; width: 1%; text-align: left">&nbsp;</td> <td style="width: 1%">&nbsp;</td> <td style="width: 1%; text-align: left">&nbsp;</td> <td style="width: 9%; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">67,932</div></td> <td style="white-space: nowrap; width: 1%; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="padding-left: 12pt">Common shares issued</td> <td><div style="display: inline; font-style: italic;">&nbsp;</div></td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">&#x2013;</div></td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">&#x2013;</div></td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">1,536</div></td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">1,536</div></td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: White"> <td style="text-align: left; padding-left: 12pt">Contingent consideration</td> <td><div style="display: inline; font-style: italic;">&nbsp;</div></td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">&#x2013;</div></td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">&#x2013;</div></td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">714</div></td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">714</div></td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="text-align: left; padding-bottom: 1pt; padding-left: 12pt">Net working capital adjustments (receivable) / payable</td> <td><div style="display: inline; font-style: italic;">&nbsp;</div></td> <td style="border-bottom: Black 1pt solid; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">(152</div></td> <td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">)</td> <td style="border-bottom: Black 1pt solid">&nbsp;</td> <td style="border-bottom: Black 1pt solid; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">(102</div></td> <td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">)</td> <td style="border-bottom: Black 1pt solid">&nbsp;</td> <td style="border-bottom: Black 1pt solid; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">36</div></td> <td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid">&nbsp;</td> <td style="border-bottom: Black 1pt solid; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">(218</div></td> <td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">)</td> </tr> <tr style="vertical-align: bottom; background-color: White"> <td style="padding-bottom: 1pt">&nbsp;</td> <td><div style="display: inline; font-style: italic;">&nbsp;</div></td> <td style="border-bottom: Black 1.5pt solid; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1.5pt solid; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">32,230</div></td> <td style="border-bottom: Black 1.5pt solid; white-space: nowrap; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1.5pt solid">&nbsp;</td> <td style="border-bottom: Black 1.5pt solid; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1.5pt solid; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">26,005</div></td> <td style="border-bottom: Black 1.5pt solid; white-space: nowrap; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1.5pt solid">&nbsp;</td> <td style="border-bottom: Black 1.5pt solid; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1.5pt solid; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">11,729</div></td> <td style="border-bottom: Black 1.5pt solid; white-space: nowrap; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1.5pt solid">&nbsp;</td> <td style="border-bottom: Black 1.5pt solid; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1.5pt solid; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">69,964</div></td> <td style="border-bottom: Black 1.5pt solid; white-space: nowrap; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="text-align: left">Allocated to:</td> <td><div style="display: inline; font-style: italic;">&nbsp;</div></td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right">&nbsp;</td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right">&nbsp;</td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right">&nbsp;</td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right">&nbsp;</td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: White"> <td style="text-align: left; padding-left: 12pt">Current assets, excluding cash acquired</td> <td><div style="display: inline; font-style: italic;">&nbsp;</div></td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">607</div></td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">1,407</div></td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">599</div></td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">2,613</div></td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="text-align: left; padding-left: 12pt">Other long-term assets</td> <td><div style="display: inline; font-style: italic;">&nbsp;</div></td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">&#x2013;</div></td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">501</div></td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">&#x2013;</div></td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">501</div></td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: White"> <td style="text-align: left; padding-left: 12pt">Current liabilities</td> <td><div style="display: inline; font-style: italic;">&nbsp;</div></td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">(266</div></td> <td style="white-space: nowrap; text-align: left">)</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">(81</div></td> <td style="white-space: nowrap; text-align: left">)</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">(559</div></td> <td style="white-space: nowrap; text-align: left">)</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">(906</div></td> <td style="white-space: nowrap; text-align: left">)</td> </tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="text-align: left; padding-left: 12pt">Deferred revenue</td> <td><div style="display: inline; font-style: italic;">&nbsp;</div></td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">(1,024</div></td> <td style="white-space: nowrap; text-align: left">)</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">(70</div></td> <td style="white-space: nowrap; text-align: left">)</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">(574</div></td> <td style="white-space: nowrap; text-align: left">)</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">(1,668</div></td> <td style="white-space: nowrap; text-align: left">)</td> </tr> <tr style="vertical-align: bottom; background-color: White"> <td style="text-align: left; padding-bottom: 1pt; padding-left: 12pt">Deferred income tax liability</td> <td><div style="display: inline; font-style: italic;">&nbsp;</div></td> <td style="border-bottom: Black 1pt solid; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">(4,200</div></td> <td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">)</td> <td style="border-bottom: Black 1pt solid">&nbsp;</td> <td style="border-bottom: Black 1pt solid; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">&#x2013;</div></td> <td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid">&nbsp;</td> <td style="border-bottom: Black 1pt solid; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">(2,077</div></td> <td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">)</td> <td style="border-bottom: Black 1pt solid">&nbsp;</td> <td style="border-bottom: Black 1pt solid; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">(6,277</div></td> <td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">)</td> </tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="text-align: left">Net tangible (liabilities) assets assumed</td> <td><div style="display: inline; font-style: italic;">&nbsp;</div></td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">(4,883</div></td> <td style="white-space: nowrap; text-align: left">)</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">1,757</div></td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">(2,611</div></td> <td style="white-space: nowrap; text-align: left">)</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">(5,737</div></td> <td style="white-space: nowrap; text-align: left">)</td> </tr> <tr style="vertical-align: bottom; background-color: White"> <td style="text-align: left">&nbsp;Finite life intangible assets acquired:</td> <td><div style="display: inline; font-style: italic;">&nbsp;</div></td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right">&nbsp;</td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right">&nbsp;</td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right">&nbsp;</td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right">&nbsp;</td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="text-align: left; padding-left: 13.45pt">Customer agreements and relationships</td> <td><div style="display: inline; font-style: italic;">&nbsp;</div></td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">5,300</div></td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">7,800</div></td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">7,758</div></td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">20,858</div></td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: White"> <td style="text-align: left; padding-left: 13.45pt">Existing technology</td> <td><div style="display: inline; font-style: italic;">&nbsp;</div></td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">12,400</div></td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">7,600</div></td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">&#x2013;</div></td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">20,000</div></td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="padding-left: 13.45pt">Tradenames</td> <td><div style="display: inline; font-style: italic;">&nbsp;</div></td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">280</div></td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">100</div></td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">207</div></td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">587</div></td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: White"> <td style="text-align: left; padding-left: 13.45pt">Non-compete covenants</td> <td><div style="display: inline; font-style: italic;">&nbsp;</div></td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">230</div></td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">300</div></td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">69</div></td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">599</div></td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="padding-bottom: 1pt">Goodwill</td> <td><div style="display: inline; font-style: italic;">&nbsp;</div></td> <td style="border-bottom: Black 1pt solid; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">18,903</div></td> <td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid">&nbsp;</td> <td style="border-bottom: Black 1pt solid; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">8,448</div></td> <td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid">&nbsp;</td> <td style="border-bottom: Black 1pt solid; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">6,306</div></td> <td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid">&nbsp;</td> <td style="border-bottom: Black 1pt solid; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">33,657</div></td> <td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: White"> <td style="padding-bottom: 1pt">&nbsp;</td> <td><div style="display: inline; font-style: italic;">&nbsp;</div></td> <td style="border-bottom: Black 1.5pt solid; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1.5pt solid; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">32,230</div></td> <td style="border-bottom: Black 1.5pt solid; white-space: nowrap; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1.5pt solid">&nbsp;</td> <td style="border-bottom: Black 1.5pt solid; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1.5pt solid; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">26,005</div></td> <td style="border-bottom: Black 1.5pt solid; white-space: nowrap; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1.5pt solid">&nbsp;</td> <td style="border-bottom: Black 1.5pt solid; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1.5pt solid; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">11,729</div></td> <td style="border-bottom: Black 1.5pt solid; white-space: nowrap; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1.5pt solid">&nbsp;</td> <td style="border-bottom: Black 1.5pt solid; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1.5pt solid; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">69,964</div></td> <td style="border-bottom: Black 1.5pt solid; white-space: nowrap; text-align: left">&nbsp;</td> </tr>  </table>  </div> <div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&nbsp;</div> <div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0">The acquired intangible assets are being amortized over their estimated useful lives as follows:</div> <div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0">&nbsp;</div> <div>  <table style="border-collapse: collapse; font: 10pt Times New Roman, Times, Serif; min-width: 700px;" cellspacing="0" cellpadding="0">  <tr style="vertical-align: bottom; background-color: White"> <td style="padding-bottom: 1pt">&nbsp;</td> <td>&nbsp;</td> <td style="border-bottom: Black 1pt solid; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid; text-align: right"><div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: right"><div style="display: inline; font-weight: bold;">Aljex <br /> (in years)</div></div></td> <td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&nbsp;</td> <td style="font-weight: bold; border-bottom: Black 1pt solid">&nbsp;</td> <td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: right"><div style="display: inline; font-family: Times New Roman, Times, Serif; font-size: 10pt"><div style="display: inline; font-weight: bold;">Velocity Mail <br /> (in years)</div></div></td> <td style="white-space: nowrap; border-bottom: Black 1pt solid; font-weight: bold; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid">&nbsp;</td> <td style="border-bottom: Black 1pt solid; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid; text-align: right"><div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: right"><div style="display: inline; font-weight: bold;">PinPoint <br /> (in years)</div></div></td> <td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="width: 55%; text-align: left">&nbsp;&nbsp;Customer agreements and relationships</td> <td style="width: 2%">&nbsp;</td> <td style="width: 1%; text-align: left">&nbsp;</td> <td style="width: 11%; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">13</div></td> <td style="white-space: nowrap; width: 1%; text-align: left">&nbsp;</td> <td style="width: 2%">&nbsp;</td> <td style="width: 1%; text-align: left">&nbsp;</td> <td style="width: 11%; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">12</div></td> <td style="white-space: nowrap; width: 1%; text-align: left">&nbsp;</td> <td style="width: 2%">&nbsp;</td> <td style="width: 1%; text-align: left">&nbsp;</td> <td style="width: 11%; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">9</div></td> <td style="white-space: nowrap; width: 1%; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: White"> <td style="text-align: left">&nbsp;&nbsp;Existing technology</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">5</div></td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">5</div></td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right"><div style="display: inline; font-family: Times New Roman, Times, Serif; font-size: 10pt"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">N/A</div></div></td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="text-align: left">&nbsp;&nbsp;Trade names</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">8</div></td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">4</div></td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">8</div></td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: White"> <td style="text-align: left">&nbsp;&nbsp;Non-compete covenants</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">5</div></td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">5</div></td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">5</div></td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> </tr>  </table>  </div> <div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0">&nbsp;</div> <div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">The goodwill on the Aljex, Velocity Mail and PinPoint acquisitions arose as a result of the combined strategic value to our growth plan. The goodwill arising from the Aljex and PinPoint acquisitions is <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">not</div> deductible for tax purposes. The goodwill from the Velocity Mail acquisition is deductible for tax purposes.</div> <div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><div style="display: inline; font-weight: bold;">&nbsp;</div></div> <div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><div style="display: inline; text-decoration: underline;">Fiscal <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">2018</div> Acquisitions</div></div> <div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">On <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"> August 14, 2017, </div>we acquired MacroPoint LLC (&#x201c;MacroPoint&#x201d;), an electronic transportation network providing location-based truck tracking and predictive freight capacity data content. US-based MacroPoint runs a connected network helping transportation brokers, logistics service providers and shippers track the locations of deliveries in trucks as well as predictive freight capacity to help identify early opportunities for additional freight moves. The purchase price for the acquisition was approximately <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">$106.2</div> million, net of cash acquired, which was funded using <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">$20.0</div> million of our common shares, <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">$80.0</div> million from drawing on Descartes&#x2019; credit facility and the balance from cash on hand. The gross contractual amount of trade receivables acquired was <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">$2.0</div> million with a fair value of <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">$2.0</div> million at the date of acquisition. Our acquisition date estimate of contractual cash flows <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">not</div> expected to be collected was nominal. The purchase price was finalized in the <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">three</div> month period ended <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"> July 31, 2018 </div>with <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">no</div> adjustments.</div> <div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&nbsp;</div>  <div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"></div> <div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">On <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"> June 1, 2017, </div>we acquired substantially all of the assets of PCSTrac, Inc., including certain related assets of Progressive Computer Services Inc., doing business as PCS Technologies (collectively referred to as &#x201c;PCSTrac&#x201d;). US-based PCSTrac helps specialty retailers and their logistics service providers collaborate to improve carton-level visibility for shipments from distribution centers to stores. PCSTrac&#x2019;s solutions provide visibility and insight into the store replenishment supply chain, helping increase sales, enhance loss prevention, and improve inventory control. The total purchase price for the acquisition was <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">$11.5</div> million, net of cash acquired, which was funded using cash on hand. The gross contractual amount of trade receivables acquired was <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">$0.4</div> million with a fair value of <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">$0.4</div> million at the date of acquisition. Our acquisition date estimate of contractual cash flows <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">not</div> expected to be collected was nominal. The purchase price was finalized in the <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">three</div> month period ended <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"> April 30, 2018 </div>with <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">no</div> adjustments.</div> <div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&nbsp;</div> <div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">On <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"> May 18, 2017, </div>we acquired Z-Firm LLC (&#x201c;ShipRush&#x201d;), a US-based provider of e-commerce multi-carrier parcel shipping solutions for small-to medium-sized businesses. The ShipRush platform helps customers streamline their supply chain and reduce transportation costs by automatically importing orders, comparing carrier rates, printing shipping labels for all major carriers, and tracking through final delivery. The purchase price for the acquisition was <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">$14.2</div> million, net of cash acquired, which was funded using cash on hand. Additional contingent consideration of up to <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">$3.0</div> million in cash is payable if certain revenue performance targets are met by ShipRush in the <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">two</div> years following the acquisition. The fair value of the contingent consideration was valued at <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">$1.2</div> million at the acquisition date. The gross contractual amount of trade receivables acquired was <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">$0.4</div> million with a fair value of <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">$0.4</div> million at the date of acquisition. Our acquisition date estimate of contractual cash flows <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">not</div> expected to be collected was nominal. The purchase price was finalized in the <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">three</div> month period ended <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"> April 30, 2018 </div>with <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">no</div> adjustments.</div> <div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0">&nbsp;</div> <div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0">The final purchase price allocations for businesses we acquired during <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">2018</div> are as follows:</div> <div>  <table style="border-collapse: collapse; font: 10pt Times New Roman, Times, Serif; min-width: 700px;" cellspacing="0" cellpadding="0">  <tr style="vertical-align: bottom; background-color: White"> <td style="padding-bottom: 1pt">&nbsp;</td> <td style="font-weight: bold">&nbsp;</td> <td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: right"><div style="display: inline; font-weight: bold;">ShipRush</div></td> <td style="white-space: nowrap; border-bottom: Black 1pt solid; font-weight: bold; text-align: left">&nbsp;</td> <td style="font-weight: bold; border-bottom: Black 1pt solid">&nbsp;</td> <td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: right"><div style="display: inline; font-family: Times New Roman, Times, Serif; font-size: 10pt"><div style="display: inline; font-weight: bold;">PCSTrac</div></div></td> <td style="white-space: nowrap; border-bottom: Black 1pt solid; font-weight: bold; text-align: left">&nbsp;</td> <td style="font-weight: bold; border-bottom: Black 1pt solid">&nbsp;</td> <td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: right"><div style="display: inline; font-family: Times New Roman, Times, Serif; font-size: 10pt"><div style="display: inline; font-weight: bold;">MacroPoint</div></div></td> <td style="white-space: nowrap; border-bottom: Black 1pt solid; font-weight: bold; text-align: left">&nbsp;</td> <td style="font-weight: bold; border-bottom: Black 1pt solid">&nbsp;</td> <td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: right"><div style="display: inline; font-family: Times New Roman, Times, Serif; font-size: 10pt"><div style="display: inline; font-weight: bold;">Total</div></div></td> <td style="white-space: nowrap; border-bottom: Black 1pt solid; font-weight: bold; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td>Purchase price consideration:</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right">&nbsp;</td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right">&nbsp;</td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right">&nbsp;</td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right">&nbsp;</td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: White"> <td style="width: 52%; text-align: left; padding-left: 12pt">Cash, less cash acquired related to ShipRush ($253), PCSTrac (nil) and MacroPoint ($2,098)</td> <td style="width: 1%">&nbsp;</td> <td style="width: 1%; text-align: left">&nbsp;</td> <td style="width: 9%; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">14,198</div></td> <td style="white-space: nowrap; width: 1%; text-align: left">&nbsp;</td> <td style="width: 1%">&nbsp;</td> <td style="width: 1%; text-align: left">&nbsp;</td> <td style="width: 9%; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">11,492</div></td> <td style="white-space: nowrap; width: 1%; text-align: left">&nbsp;</td> <td style="width: 1%">&nbsp;</td> <td style="width: 1%; text-align: left">&nbsp;</td> <td style="width: 9%; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">86,177</div></td> <td style="white-space: nowrap; width: 1%; text-align: left">&nbsp;</td> <td style="width: 1%">&nbsp;</td> <td style="width: 1%; text-align: left">&nbsp;</td> <td style="width: 9%; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">111,867</div></td> <td style="white-space: nowrap; width: 1%; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="padding-left: 12pt">Common shares issued</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">&#x2013;</div></td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">&#x2013;</div></td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">20,000</div></td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">20,000</div></td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: White"> <td style="text-align: left; padding-left: 12pt">Contingent consideration</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">1,233</div></td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">&#x2013;</div></td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">&#x2013;</div></td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">1,233</div></td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="text-align: left; padding-bottom: 1pt; padding-left: 12pt">Net working capital adjustments payable</td> <td>&nbsp;</td> <td style="border-bottom: Black 1pt solid; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">88</div></td> <td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid">&nbsp;</td> <td style="border-bottom: Black 1pt solid; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">40</div></td> <td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid">&nbsp;</td> <td style="border-bottom: Black 1pt solid; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">163</div></td> <td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid">&nbsp;</td> <td style="border-bottom: Black 1pt solid; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">291</div></td> <td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: White"> <td style="padding-bottom: 1pt">&nbsp;</td> <td>&nbsp;</td> <td style="border-bottom: Black 1.5pt solid; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1.5pt solid; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">15,519</div></td> <td style="border-bottom: Black 1.5pt solid; white-space: nowrap; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1.5pt solid">&nbsp;</td> <td style="border-bottom: Black 1.5pt solid; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1.5pt solid; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">11,532</div></td> <td style="border-bottom: Black 1.5pt solid; white-space: nowrap; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1.5pt solid">&nbsp;</td> <td style="border-bottom: Black 1.5pt solid; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1.5pt solid; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">106,340</div></td> <td style="border-bottom: Black 1.5pt solid; white-space: nowrap; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1.5pt solid">&nbsp;</td> <td style="border-bottom: Black 1.5pt solid; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1.5pt solid; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">133,391</div></td> <td style="border-bottom: Black 1.5pt solid; white-space: nowrap; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="text-align: left">Allocated to:</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right">&nbsp;</td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right">&nbsp;</td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right">&nbsp;</td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right">&nbsp;</td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: White"> <td style="text-align: left; padding-left: 12pt">Current assets, excluding cash acquired</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">461</div></td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">467</div></td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">2,127</div></td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">3,055</div></td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="text-align: left; padding-left: 12pt">Current liabilities</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">(266</div></td> <td style="white-space: nowrap; text-align: left">)</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">(10</div></td> <td style="white-space: nowrap; text-align: left">)</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">(1,693</div></td> <td style="white-space: nowrap; text-align: left">)</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">(1,969</div></td> <td style="white-space: nowrap; text-align: left">)</td> </tr> <tr style="vertical-align: bottom; background-color: White"> <td style="text-align: left; padding-bottom: 1pt; padding-left: 12pt">Deferred revenue</td> <td>&nbsp;</td> <td style="border-bottom: Black 1pt solid; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">(609</div></td> <td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">)</td> <td style="border-bottom: Black 1pt solid">&nbsp;</td> <td style="border-bottom: Black 1pt solid; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">&#x2013;</div></td> <td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid">&nbsp;</td> <td style="border-bottom: Black 1pt solid; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">(5,787</div></td> <td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">)</td> <td style="border-bottom: Black 1pt solid">&nbsp;</td> <td style="border-bottom: Black 1pt solid; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">(6,396</div></td> <td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">)</td> </tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="text-align: left">Net tangible (liabilities) assets assumed</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">(414</div></td> <td style="white-space: nowrap; text-align: left">)</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">457</div></td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">(5,353</div></td> <td style="white-space: nowrap; text-align: left">)</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">(5,310</div></td> <td style="white-space: nowrap; text-align: left">)</td> </tr> <tr style="vertical-align: bottom; background-color: White"> <td style="text-align: left">&nbsp;Finite life intangible assets acquired:</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right">&nbsp;</td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right">&nbsp;</td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right">&nbsp;</td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right">&nbsp;</td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="text-align: left; padding-left: 13.45pt">Customer agreements and relationships</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">2,400</div></td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">1,850</div></td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">26,030</div></td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">30,280</div></td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: White"> <td style="text-align: left; padding-left: 13.45pt">Existing technology</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">4,710</div></td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">3,270</div></td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">17,170</div></td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">25,150</div></td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="text-align: left; padding-left: 13.45pt">In-process research and development</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">&#x2013;</div></td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">&#x2013;</div></td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">290</div></td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">290</div></td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: White"> <td style="padding-left: 13.45pt">Tradenames</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">120</div></td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">60</div></td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">570</div></td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">750</div></td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="text-align: left; padding-left: 13.45pt">Non-compete covenants</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">100</div></td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">80</div></td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">2,420</div></td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">2,600</div></td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: White"> <td style="padding-bottom: 1pt">Goodwill</td> <td>&nbsp;</td> <td style="border-bottom: Black 1pt solid; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">8,603</div></td> <td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid">&nbsp;</td> <td style="border-bottom: Black 1pt solid; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">5,815</div></td> <td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid">&nbsp;</td> <td style="border-bottom: Black 1pt solid; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">65,213</div></td> <td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid">&nbsp;</td> <td style="border-bottom: Black 1pt solid; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">79,631</div></td> <td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="padding-bottom: 1pt">&nbsp;</td> <td>&nbsp;</td> <td style="border-bottom: Black 1.5pt solid; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1.5pt solid; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">15,519</div></td> <td style="border-bottom: Black 1.5pt solid; white-space: nowrap; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1.5pt solid">&nbsp;</td> <td style="border-bottom: Black 1.5pt solid; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1.5pt solid; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">11,532</div></td> <td style="border-bottom: Black 1.5pt solid; white-space: nowrap; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1.5pt solid">&nbsp;</td> <td style="border-bottom: Black 1.5pt solid; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1.5pt solid; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">106,340</div></td> <td style="border-bottom: Black 1.5pt solid; white-space: nowrap; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1.5pt solid">&nbsp;</td> <td style="border-bottom: Black 1.5pt solid; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1.5pt solid; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">133,391</div></td> <td style="border-bottom: Black 1.5pt solid; white-space: nowrap; text-align: left">&nbsp;</td> </tr>  </table>  </div> <div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&nbsp;</div> <div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"></div> <!-- Field: Page; Sequence: 20 -->   <div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"></div> <div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0">The acquired intangible assets are being amortized over their estimated useful lives as follows: </div> <div>  <table style="border-collapse: collapse; font: 10pt Times New Roman, Times, Serif; min-width: 700px;" cellspacing="0" cellpadding="0">  <tr style="vertical-align: bottom; background-color: White"> <td style="padding-bottom: 1pt">&nbsp;</td> <td style="font-weight: bold">&nbsp;</td> <td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: right"><div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: right"><div style="display: inline; font-weight: bold;">ShipRush <br /> (in years)</div></div></td> <td style="white-space: nowrap; border-bottom: Black 1pt solid; font-weight: bold; text-align: left">&nbsp;</td> <td style="font-weight: bold; border-bottom: Black 1pt solid">&nbsp;</td> <td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: right"><div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: right"><div style="display: inline; font-weight: bold;">PCSTrac <br /> (in years)</div></div></td> <td style="white-space: nowrap; border-bottom: Black 1pt solid; font-weight: bold; text-align: left">&nbsp;</td> <td style="font-weight: bold; border-bottom: Black 1pt solid">&nbsp;</td> <td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: right"><div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: right"><div style="display: inline; font-weight: bold;">MacroPoint <br /> (in years)</div></div></td> <td style="white-space: nowrap; border-bottom: Black 1pt solid; font-weight: bold; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="width: 55%; text-align: left">&nbsp;&nbsp;Customer agreements and relationships</td> <td style="width: 2%">&nbsp;</td> <td style="width: 1%; text-align: left">&nbsp;</td> <td style="width: 11%; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">9</div></td> <td style="white-space: nowrap; width: 1%; text-align: left">&nbsp;</td> <td style="width: 2%">&nbsp;</td> <td style="width: 1%; text-align: left">&nbsp;</td> <td style="width: 11%; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">13</div></td> <td style="white-space: nowrap; width: 1%; text-align: left">&nbsp;</td> <td style="width: 2%">&nbsp;</td> <td style="width: 1%; text-align: left">&nbsp;</td> <td style="width: 11%; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">12</div></td> <td style="white-space: nowrap; width: 1%; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: White"> <td style="text-align: left">&nbsp;&nbsp;Existing technology</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">5</div></td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">5</div></td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">5</div></td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="text-align: left">&nbsp;&nbsp;Trade names</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">8</div></td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">4</div></td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">8</div></td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: White"> <td style="text-align: left">&nbsp;&nbsp;Non-compete covenants</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">5</div></td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">5</div></td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">5</div></td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> </tr>  </table>  </div> <div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0">&nbsp;</div> <div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">The goodwill on the ShipRush, PCSTrac and MacroPoint acquisitions arose as a result of the combined strategic value to our growth plan. The goodwill arising from the PCSTrac, ShipRush and MacroPoint acquisitions is deductible for tax purposes.</div> <div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&nbsp;</div> <div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><div style="display: inline; text-decoration: underline;">Pro Forma Results of Operations (Unaudited)</div></div> <div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">The financial information in the table below summarizes selected results of operations on a pro forma basis as if we had acquired BestTransport, STEPcom, CORE, Visual Compliance, PinPoint, Velocity Mail, Aljex, MacroPoint, PCSTrac and ShipRush as of <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"> February 1, 2017.</div></div> <div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&nbsp;</div> <div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">This pro forma information is for information purposes only and does <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">not</div> purport to represent what our actual results of operations for the periods presented would have been had the acquisitions of BestTransport, STEPcom, CORE, Visual Compliance, PinPoint, Velocity Mail, Aljex, MacroPoint, PCSTrac and ShipRush occurred at <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"> February 1, 2017, </div>or to project our results of operations for any future period.</div> <div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&nbsp;</div> <div>  <table style="border-collapse: collapse; font: 10pt Times New Roman, Times, Serif; min-width: 700px;" cellspacing="0" cellpadding="0">  <tr style="vertical-align: bottom; background-color: White"> <td style="font-style: italic">Year Ended</td> <td style="font-weight: bold">&nbsp;</td> <td style="border-top: Black 1pt solid; font-weight: bold; text-align: left">&nbsp;</td> <td style="border-top: Black 1pt solid; font-weight: bold; text-align: right"><div style="display: inline; font-family: Times New Roman, Times, Serif; font-size: 10pt"><div style="display: inline; font-weight: bold;">January 31,</div></div></td> <td style="border-top: Black 1pt solid; white-space: nowrap; font-weight: bold; text-align: left">&nbsp;</td> <td style="border-top: Black 1pt solid">&nbsp;</td> <td style="border-top: Black 1pt solid; text-align: left">&nbsp;</td> <td style="border-top: Black 1pt solid; text-align: right"><div style="display: inline; font-family: Times New Roman, Times, Serif; font-size: 10pt">January 31,</div></td> <td style="border-top: Black 1pt solid; white-space: nowrap; text-align: left">&nbsp;</td> <td style="border-top: Black 1pt solid">&nbsp;</td> <td style="border-top: Black 1pt solid; text-align: left">&nbsp;</td> <td style="border-top: Black 1pt solid; text-align: right"><div style="display: inline; font-family: Times New Roman, Times, Serif; font-size: 10pt">January 31,</div></td> <td style="border-top: Black 1pt solid; white-space: nowrap; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: White"> <td style="text-align: right; padding-bottom: 1pt">&nbsp;</td> <td style="font-weight: bold">&nbsp;</td> <td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: right">2020</td> <td style="white-space: nowrap; border-bottom: Black 1pt solid; font-weight: bold; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid">&nbsp;</td> <td style="border-bottom: Black 1pt solid; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid; text-align: right">2019</td> <td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid">&nbsp;</td> <td style="border-bottom: Black 1pt solid; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid; text-align: right">2018</td> <td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="width: 55%; font-weight: normal">Revenues</td> <td style="width: 2%; font-weight: bold">&nbsp;</td> <td style="width: 1%; font-weight: bold; text-align: left">&nbsp;</td> <td style="width: 11%; font-weight: bold; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">333,323</div></td> <td style="white-space: nowrap; width: 1%; font-weight: bold; text-align: left">&nbsp;</td> <td style="width: 2%">&nbsp;</td> <td style="width: 1%; text-align: left">&nbsp;</td> <td style="width: 11%; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">322,649</div></td> <td style="white-space: nowrap; width: 1%; text-align: left">&nbsp;</td> <td style="width: 2%">&nbsp;</td> <td style="width: 1%; text-align: left">&nbsp;</td> <td style="width: 11%; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">313,759</div></td> <td style="white-space: nowrap; width: 1%; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: White"> <td style="font-weight: normal; text-align: left">Net income</td> <td style="font-weight: bold">&nbsp;</td> <td style="font-weight: bold; text-align: left">&nbsp;</td> <td style="font-weight: bold; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">37,540</div></td> <td style="white-space: nowrap; font-weight: bold; text-align: left">&nbsp;</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">31,609</div></td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">25,312</div></td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="font-weight: normal">Earnings per share</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right">&nbsp;</td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right">&nbsp;</td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right">&nbsp;</td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: White"> <td style="padding-left: 12pt">Basic</td> <td style="font-weight: bold">&nbsp;</td> <td style="font-weight: bold; text-align: left">&nbsp;</td> <td style="font-weight: bold; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">0.46</div></td> <td style="white-space: nowrap; font-weight: bold; text-align: left">&nbsp;</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">0.41</div></td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">0.33</div></td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="padding-left: 12pt">Diluted</td> <td style="font-weight: bold">&nbsp;</td> <td style="font-weight: bold; text-align: left">&nbsp;</td> <td style="font-weight: bold; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">0.45</div></td> <td style="white-space: nowrap; font-weight: bold; text-align: left">&nbsp;</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">0.41</div></td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">0.33</div></td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> </tr>  </table>  </div></div><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_BusinessCombinationDisclosureTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The entire disclosure for a business combination (or series of individually immaterial business combinations) completed during the period, including background, timing, and recognized assets and liabilities. The disclosure may include leverage buyout transactions (as applicable).</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 805<br> -URI http://asc.fasb.org/topic&amp;trid=2303972<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_BusinessCombinationDisclosureTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>nonnum:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DisclosureTextBlockAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DisclosureTextBlockAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>100
<FILENAME>R15.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.20.1</span><table class="report" border="0" cellspacing="2" id="idp6891957936">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Note 7 - Inventory<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Jan. 31, 2020</div></th></tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DisclosureTextBlockAbstract', window );"><strong>Notes to Financial Statements</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_InventoryDisclosureTextBlock', window );">Inventory Disclosure [Text Block]</a></td>
<td class="text"><div style="display: inline; font-family: times new roman; font-size: 10pt"><div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><div style="display: inline; font-weight: bold;">Note <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">7</div> &#x2013; Inventory</div></div> <div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"><div style="display: inline; font-weight: bold;">&nbsp;</div></div> <div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">At <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"> January 31, 2020 </div>and <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"> January 31, 2019, </div>inventory is entirely comprised of finished goods inventory. Finished goods inventory primarily consists of hardware and related parts for mobile asset units held for sale. For the years ended <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"> January 31, 2020, </div><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">2019</div> and <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">2018,</div> a provision for excess or obsolete inventories has been recorded in cost of revenues of <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">nil,</div> nominal and <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">$0.1</div> million, respectively.</div></div><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DisclosureTextBlockAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DisclosureTextBlockAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_InventoryDisclosureTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The entire disclosure for inventory. Includes, but is not limited to, the basis of stating inventory, the method of determining inventory cost, the classes of inventory, and the nature of the cost elements included in inventory.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 330<br> -URI http://asc.fasb.org/topic&amp;trid=2126998<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_InventoryDisclosureTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>nonnum:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>101
<FILENAME>R36.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.20.1</span><table class="report" border="0" cellspacing="2" id="idp6902054992">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Note 6 - Other Receivables (Tables)<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Jan. 31, 2020</div></th></tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_TableTextBlock', window );"><strong>Notes Tables</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_dsgx_OtherReceivablesTableTextBlock', window );">Other Receivables [Table Text Block]</a></td>
<td class="text"><div style="display: inline; font-family: times new roman; font-size: 10pt"><table cellpadding="0" cellspacing="0" style="border-collapse: collapse; font: 10pt Times New Roman, Times, Serif; min-; min-width: 700px;"> <tr style="vertical-align: bottom; background-color: White"> <td>&nbsp;</td> <td style="font-weight: bold">&nbsp;</td> <td style="border-top: Black 1pt solid; font-weight: bold; text-align: left">&nbsp;</td> <td style="border-top: Black 1pt solid; font-weight: bold; text-align: right"><div style="display: inline; font-family: Times New Roman, Times, Serif; font-size: 10pt"><div style="display: inline; font-weight: bold;">January 31,</div></div></td> <td style="border-top: Black 1pt solid; white-space: nowrap; font-weight: bold; text-align: left">&nbsp;</td> <td style="border-top: Black 1pt solid">&nbsp;</td> <td style="border-top: Black 1pt solid; text-align: left">&nbsp;</td> <td style="border-top: Black 1pt solid; text-align: right"><div style="display: inline; font-family: Times New Roman, Times, Serif; font-size: 10pt">January 31,</div></td> <td style="border-top: Black 1pt solid; white-space: nowrap; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: White"> <td style="padding-bottom: 1pt">&nbsp;</td> <td style="font-weight: bold">&nbsp;</td> <td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: right">2020</td> <td style="white-space: nowrap; border-bottom: Black 1pt solid; font-weight: bold; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid">&nbsp;</td> <td style="border-bottom: Black 1pt solid; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid; text-align: right">2019</td> <td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="width: 68%; text-align: left">Net working capital adjustments receivable from acquisitions</td> <td style="width: 2%; font-weight: bold">&nbsp;</td> <td style="width: 1%; font-weight: bold; text-align: left">&nbsp;</td> <td style="width: 12%; font-weight: bold; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">&#x2013;</div></td> <td style="white-space: nowrap; width: 1%; font-weight: bold; text-align: left">&nbsp;</td> <td style="width: 2%">&nbsp;</td> <td style="width: 1%; text-align: left">&nbsp;</td> <td style="width: 12%; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">55</div></td> <td style="white-space: nowrap; width: 1%; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: White"> <td style="text-align: left; padding-bottom: 1pt">Other receivables</td> <td style="font-weight: bold">&nbsp;</td> <td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">7,294</div></td> <td style="white-space: nowrap; border-bottom: Black 1pt solid; font-weight: bold; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid">&nbsp;</td> <td style="border-bottom: Black 1pt solid; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">4,276</div></td> <td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="padding-bottom: 1pt">&nbsp;</td> <td style="font-weight: bold">&nbsp;</td> <td style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">7,294</div></td> <td style="border-bottom: Black 1.5pt solid; white-space: nowrap; font-weight: bold; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1.5pt solid">&nbsp;</td> <td style="border-bottom: Black 1.5pt solid; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1.5pt solid; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">4,331</div></td> <td style="border-bottom: Black 1.5pt solid; white-space: nowrap; text-align: left">&nbsp;</td> </tr> </table></div><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dsgx_OtherReceivablesTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Schedule of other receivables.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dsgx_OtherReceivablesTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dsgx_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>nonnum:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_TableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_TableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>102
<FILENAME>R32.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.20.1</span><table class="report" border="0" cellspacing="2" id="idp6912397776">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Significant Accounting Policies (Policies)<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Jan. 31, 2020</div></th></tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AccountingPoliciesAbstract', window );"><strong>Accounting Policies [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BasisOfAccountingPolicyPolicyTextBlock', window );">Basis of Accounting, Policy [Policy Text Block]</a></td>
<td class="text"><div style="display: inline; font-family: times new roman; font-size: 10pt"><div style="display: inline; font-family: times new roman; font-size: 10pt"><div style="display: inline; font-family: times new roman; font-size: 10pt"><div style="display: inline; font-family: times new roman; font-size: 10pt"><div style="display: inline; font-family: times new roman; font-size: 10pt"><div style="display: inline; font-family: times new roman; font-size: 10pt"><div style="display: inline; font-family: times new roman; font-size: 10pt"><div style="display: inline; font-family: times new roman; font-size: 10pt"><div style="display: inline; font-family: times new roman; font-size: 10pt"><div style="display: inline; font-family: times new roman; font-size: 10pt"><div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">The accompanying consolidated financial statements are presented in United States (&#x201c;US&#x201d;) dollars and are prepared in accordance with generally accepted accounting principles in the US (&#x201c;GAAP&#x201d;) and the rules and regulations of the Canadian Securities Administrators and the US Securities and Exchange Commission (&#x201c;SEC&#x201d;) for the preparation of consolidated financial statements.</div> <div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&nbsp;</div> <div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">Our fiscal year commences on <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"> February 1</div><div style="display: inline; bottom:.33em; font-size: 82%; position: relative; vertical-align: baseline;">st</div> of each year and ends on <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"> January 31</div><div style="display: inline; bottom:.33em; font-size: 82%; position: relative; vertical-align: baseline;">st</div> of the following year. Our fiscal year, which ends on <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"> January 31, 2020, </div>is referred to as the &#x201c;current fiscal year&#x201d;, &#x201c;fiscal <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">2020&#x201d;,</div> <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">&#x201c;2020&#x201d;</div> or using similar words. Our previous fiscal year, which ended on <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"> January 31, 2019, </div>is referred to as the &#x201c;previous fiscal year&#x201d;, &#x201c;fiscal <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">2019&#x201d;,</div> <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">&#x201c;2019&#x201d;</div> or using similar words. Other fiscal years are referenced by the applicable year during which the fiscal year ends. For example, <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">&#x201c;2021&#x201d;</div> refers to the annual period ending <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"> January 31, 2021 </div>and the &#x201c;fourth quarter of <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">2021&#x201d;</div> refers to the quarter ending <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"> January 31, 2021.</div></div></div></div></div></div></div></div></div></div></div></div><span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ConsolidationPolicyTextBlock', window );">Consolidation, Policy [Policy Text Block]</a></td>
<td class="text"><div style="display: inline; font-family: times new roman; font-size: 10pt"><div style="display: inline; font-family: times new roman; font-size: 10pt"><div style="display: inline; font-family: times new roman; font-size: 10pt"><div style="display: inline; font-family: times new roman; font-size: 10pt"><div style="display: inline; font-family: times new roman; font-size: 10pt"><div style="display: inline; font-family: times new roman; font-size: 10pt"><div style="display: inline; font-family: times new roman; font-size: 10pt"><div style="display: inline; font-family: times new roman; font-size: 10pt"><div style="display: inline; font-family: times new roman; font-size: 10pt"><div style="display: inline; font-family: times new roman; font-size: 10pt"><div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"><div style="display: inline; font-weight: bold;"><div style="display: inline; font-style: italic;">Basis of consolidation</div></div></div> <div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">The consolidated financial statements include the financial statements of Descartes and our wholly-owned subsidiaries. We do <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">not</div> have any variable interests in variable interest entities. All intercompany accounts and transactions have been eliminated during consolidation.</div></div></div></div></div></div></div></div></div></div></div><span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ForeignCurrencyTransactionsAndTranslationsPolicyTextBlock', window );">Foreign Currency Transactions and Translations Policy [Policy Text Block]</a></td>
<td class="text"><div style="display: inline; font-family: times new roman; font-size: 10pt"><div style="display: inline; font-family: times new roman; font-size: 10pt"><div style="display: inline; font-family: times new roman; font-size: 10pt"><div style="display: inline; font-family: times new roman; font-size: 10pt"><div style="display: inline; font-family: times new roman; font-size: 10pt"><div style="display: inline; font-family: times new roman; font-size: 10pt"><div style="display: inline; font-family: times new roman; font-size: 10pt"><div style="display: inline; font-family: times new roman; font-size: 10pt"><div style="display: inline; font-family: times new roman; font-size: 10pt"><div style="display: inline; font-family: times new roman; font-size: 10pt"><div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"><div style="display: inline; font-weight: bold;"><div style="display: inline; font-style: italic;">Foreign currency translation</div></div></div> <div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">The US dollar is the presentation currency of the Company. Assets and liabilities of our subsidiaries are translated into US dollars at the exchange rate in effect at the balance sheet date. Revenues and expenses are translated into US dollars using daily exchange rates. Translation adjustments resulting from this process are accumulated in other comprehensive income (loss) as a separate component of shareholders&#x2019; equity. On substantial liquidation of a foreign operation, the component of accumulated other comprehensive income relating to that particular foreign operation is recognized in the consolidated statements of operations.</div> <div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&nbsp;</div> <div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">The functional currency of each of our entities is the local currency in which they operate. Transactions incurred in currencies other than the local currency of an entity are converted to the local currency at the transaction date. Monetary assets and liabilities denominated in foreign currencies are re-measured into the local currency at the exchange rate in effect at the balance sheet date. All foreign currency re-measurement gains and losses are included in net income. For the year ended <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"> January 31, 2020, </div>foreign currency re-measurement loss of <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">$0.6</div> million was included in net income (<div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"> January 31, 2019 &#x2013; </div>loss of <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">$0.4</div> million; <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"> January 31, 2018 &#x2013; </div>loss of <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">$0.4</div> million).</div></div></div></div></div></div></div></div></div></div></div><span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_UseOfEstimates', window );">Use of Estimates, Policy [Policy Text Block]</a></td>
<td class="text"><div style="display: inline; font-family: times new roman; font-size: 10pt"><div style="display: inline; font-family: times new roman; font-size: 10pt"><div style="display: inline; font-family: times new roman; font-size: 10pt"><div style="display: inline; font-family: times new roman; font-size: 10pt"><div style="display: inline; font-family: times new roman; font-size: 10pt"><div style="display: inline; font-family: times new roman; font-size: 10pt"><div style="display: inline; font-family: times new roman; font-size: 10pt"><div style="display: inline; font-family: times new roman; font-size: 10pt"><div style="display: inline; font-family: times new roman; font-size: 10pt"><div style="display: inline; font-family: times new roman; font-size: 10pt"><div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"><div style="display: inline; font-weight: bold;"><div style="display: inline; font-style: italic;">Use of estimates</div></div></div> <div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">Preparing financial statements in conformity with GAAP requires management to make estimates and assumptions that affect the amounts that are reported in the consolidated financial statements and accompanying note disclosures. Although these estimates and assumptions are based on management&#x2019;s best knowledge of current events, actual results <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"> may </div>be different from the estimates. These estimates, judgments and assumptions are evaluated on an ongoing basis. We base our estimates on historical experience and on various other assumptions that we believe are reasonable at that time, the results of which form the basis for making judgments about the carrying values of assets and liabilities that are <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">not</div> readily apparent from other sources.</div> <div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&nbsp;</div> <div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">Estimates and assumptions are used when accounting for items such as allocations of the purchase price and the fair value of net assets acquired in business combination transactions, useful lives of intangible assets and property and equipment, revenue related estimates including determining the nature and timing of satisfaction of performance obligations, and determining the standalone selling price (&#x201c;SSP&#x201d;) of performance obligations, variable consideration, and other obligations such as product returns and refunds, allowance for doubtful accounts, collectability of other receivables, provisions for excess or obsolete inventory, determining the Company&#x2019;s incremental borrowing rate, restructuring accruals, fair value of stock-based compensation, assumptions embodied in the valuation of assets for impairment assessment, accounting for income taxes, valuation allowances for deferred income tax assets, realization of investment tax credits, uncertain tax positions and recognition of contingencies.</div></div></div></div></div></div></div></div></div></div></div><span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_CashAndCashEquivalentsPolicyTextBlock', window );">Cash and Cash Equivalents, Policy [Policy Text Block]</a></td>
<td class="text"><div style="display: inline; font-family: times new roman; font-size: 10pt"><div style="display: inline; font-family: times new roman; font-size: 10pt"><div style="display: inline; font-family: times new roman; font-size: 10pt"><div style="display: inline; font-family: times new roman; font-size: 10pt"><div style="display: inline; font-family: times new roman; font-size: 10pt"><div style="display: inline; font-family: times new roman; font-size: 10pt"><div style="display: inline; font-family: times new roman; font-size: 10pt"><div style="display: inline; font-family: times new roman; font-size: 10pt"><div style="display: inline; font-family: times new roman; font-size: 10pt"><div style="display: inline; font-family: times new roman; font-size: 10pt"><div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"><div style="display: inline; font-weight: bold;"><div style="display: inline; font-style: italic;">Cash</div></div></div> <div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">Cash included highly liquid short-term deposits with original maturities of <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">three</div> months or less.</div></div></div></div></div></div></div></div></div></div></div><span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FairValueOfFinancialInstrumentsPolicy', window );">Fair Value of Financial Instruments, Policy [Policy Text Block]</a></td>
<td class="text"><div style="display: inline; font-family: times new roman; font-size: 10pt"><div style="display: inline; font-family: times new roman; font-size: 10pt"><div style="display: inline; font-family: times new roman; font-size: 10pt"><div style="display: inline; font-family: times new roman; font-size: 10pt"><div style="display: inline; font-family: times new roman; font-size: 10pt"><div style="display: inline; font-family: times new roman; font-size: 10pt"><div style="display: inline; font-family: times new roman; font-size: 10pt"><div style="display: inline; font-family: times new roman; font-size: 10pt"><div style="display: inline; font-family: times new roman; font-size: 10pt"><div style="display: inline; font-family: times new roman; font-size: 10pt"><div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"><div style="display: inline; font-weight: bold;"><div style="display: inline; font-style: italic;">Financial instruments</div></div></div> <div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><div style="display: inline; text-decoration: underline;">Fair value of financial instruments</div></div> <div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">The carrying amounts of the Company&#x2019;s cash, accounts receivable (net), accounts payable, accrued liabilities and income taxes payable approximate their fair value due to their short maturities.</div> <div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&nbsp;</div> <div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><div style="display: inline; text-decoration: underline;">Derivative instruments</div></div> <div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">We use derivative instruments to manage equity risk relating to our share-based compensation. We account for these instruments in accordance with ASC Topic <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">815</div> &#x201c;Derivatives and Hedging&#x201d; (Topic <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">815</div>), which requires that every derivative instrument be recorded on the balance sheet as either an asset or a liability measured at its fair value as of the reporting date. We do <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">not</div> designate our derivative instruments as hedges and as such the changes in our derivative financial instruments' fair values are recognized in earnings. The fair value of equity contract derivatives is determined utilizing a valuation model based on the quoted market value of our common shares at the balance sheet date.</div> <div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&nbsp;</div> <div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><div style="display: inline; text-decoration: underline;">Foreign exchange risk</div></div> <div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">We are exposed to foreign exchange risk because the Company transacts business in currencies other than the US dollar. Accordingly, our results are affected, and <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"> may </div>be affected in the future, by exchange rate fluctuations of the US dollar relative to the Canadian dollar, euro, British pound sterling and various other foreign currencies.</div> <div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&nbsp;</div> <div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><div style="display: inline; text-decoration: underline;">Interest rate risk</div></div> <div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">Depending on the type of advance under the available facilities, interest on such borrowings will be charged based on either i) Canada or US prime rate; or ii) Banker&#x2019;s Acceptance (BA); or iii) LIBOR. We are exposed to interest rate fluctuations to the extent that we borrow on our credit facility.</div> <div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&nbsp;</div> <div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"></div> <!-- Field: Page; Sequence: 7 --> <div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"></div> <div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"><div style="display: inline; text-decoration: underline;">Credit risk</div></div> <div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">We are exposed to credit risk through our invested cash and accounts receivable. We hold our cash with reputable financial institutions. The lack of concentration of accounts receivable from a single customer and the dispersion of customers among industries and geographical locations mitigate our credit risk.</div> <div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&nbsp;</div> <div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">We do <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">not</div> use any type of speculative financial instruments, including but <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">not</div> limited to foreign exchange contracts, futures, swaps and option agreements, to manage our foreign exchange or interest rate risks. In addition, we do <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">not</div> hold or issue financial instruments for trading purposes.</div> <div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&nbsp;</div> <div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"><div style="display: inline; text-decoration: underline;">Equity risk</div></div> <div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">We are exposed to equity risk through certain share-based compensation expenses that are fair valued at the balance sheet date. The Company enters into equity derivative contracts including floating-rate equity forwards to partially offset the potential fluctuations of certain future share-based compensation expenses. The Company does <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">not</div> hold derivatives for speculative purposes.</div></div></div></div></div></div></div></div></div></div></div><span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ReceivablesTradeAndOtherAccountsReceivableAllowanceForDoubtfulAccountsPolicy', window );">Receivables, Trade and Other Accounts Receivable, Allowance for Doubtful Accounts, Policy [Policy Text Block]</a></td>
<td class="text"><div style="display: inline; font-family: times new roman; font-size: 10pt"><div style="display: inline; font-family: times new roman; font-size: 10pt"><div style="display: inline; font-family: times new roman; font-size: 10pt"><div style="display: inline; font-family: times new roman; font-size: 10pt"><div style="display: inline; font-family: times new roman; font-size: 10pt"><div style="display: inline; font-family: times new roman; font-size: 10pt"><div style="display: inline; font-family: times new roman; font-size: 10pt"><div style="display: inline; font-family: times new roman; font-size: 10pt"><div style="display: inline; font-family: times new roman; font-size: 10pt"><div style="display: inline; font-family: times new roman; font-size: 10pt"><div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"><div style="display: inline; font-weight: bold;"><div style="display: inline; font-style: italic;">Allowance for doubtful accounts</div></div></div> <div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">We maintain an allowance for doubtful accounts for estimated losses resulting from the inability of customers to make their required payments. Specifically, we consider the age of the receivables, customers&#x2019; payment history, historical write-offs, the creditworthiness of the customer, and current economic trends among other factors. Accounts receivable are written off, and the associated allowance is eliminated, if it is determined that the specific balance is <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">no</div> longer collectible. The allowance is maintained for <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">100%</div> of all accounts deemed to be uncollectible and, for those receivables <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">not</div> specifically identified as uncollectible, an allowance is maintained for a specific percentage of those receivables based upon the aging of accounts, our historical collection experience and current economic expectations. To date, the actual losses have been within our expectations. <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"></div><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">No</div> </div>single customer accounted for more than <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">10%</div> of the accounts receivable balance as of <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"> January 31, 2020 </div>and <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">2019.</div></div></div></div></div></div></div></div></div></div></div></div><span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_InventoryPolicyTextBlock', window );">Inventory, Policy [Policy Text Block]</a></td>
<td class="text"><div style="display: inline; font-family: times new roman; font-size: 10pt"><div style="display: inline; font-family: times new roman; font-size: 10pt"><div style="display: inline; font-family: times new roman; font-size: 10pt"><div style="display: inline; font-family: times new roman; font-size: 10pt"><div style="display: inline; font-family: times new roman; font-size: 10pt"><div style="display: inline; font-family: times new roman; font-size: 10pt"><div style="display: inline; font-family: times new roman; font-size: 10pt"><div style="display: inline; font-family: times new roman; font-size: 10pt"><div style="display: inline; font-family: times new roman; font-size: 10pt"><div style="display: inline; font-family: times new roman; font-size: 10pt"><div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><div style="display: inline; font-weight: bold;"><div style="display: inline; font-style: italic;">Inventory</div></div></div> <div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">Finished goods inventories are stated at the lower of cost and net realizable value. The cost of finished goods is determined on the basis of average cost of units.</div> <div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&nbsp;</div> <div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">The valuation of inventory, including the determination of obsolete or excess inventory, requires management to estimate the future demand for our products within specified time horizons. We perform an assessment of inventory which includes a review of, among other factors, demand requirements, product life cycle and development plans, product pricing and quality issues. If the demand for our products indicates we are <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">no</div> longer able to sell inventories above cost or at all, we write down inventory to market or excess inventory is written off.</div></div></div></div></div></div></div></div></div></div></div><span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ImpairmentOrDisposalOfLongLivedAssetsIncludingIntangibleAssetsPolicyPolicyTextBlock', window );">Impairment or Disposal of Long-Lived Assets, Including Intangible Assets, Policy [Policy Text Block]</a></td>
<td class="text"><div style="display: inline; font-family: times new roman; font-size: 10pt"><div style="display: inline; font-family: times new roman; font-size: 10pt"><div style="display: inline; font-family: times new roman; font-size: 10pt"><div style="display: inline; font-family: times new roman; font-size: 10pt"><div style="display: inline; font-family: times new roman; font-size: 10pt"><div style="display: inline; font-family: times new roman; font-size: 10pt"><div style="display: inline; font-family: times new roman; font-size: 10pt"><div style="display: inline; font-family: times new roman; font-size: 10pt"><div style="display: inline; font-family: times new roman; font-size: 10pt"><div style="display: inline; font-family: times new roman; font-size: 10pt"><div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"><div style="display: inline; font-weight: bold;"><div style="display: inline; font-style: italic;">Impairment of long-lived assets</div></div></div> <div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">We test long-lived assets or asset groups, such as property and equipment and finite life intangible assets, for recoverability when events or changes in circumstances indicate that there <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"> may </div>be impairment. Circumstances which could trigger a review include, but are <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">not</div> limited to: significant adverse changes in the business climate or legal factors; current period cash flow or operating losses combined with a history of losses or a forecast of continuing losses associated with the use of the asset or asset group; and a current expectation that the asset or asset group will more likely than <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">not</div> be sold or disposed of before the end of its estimated useful life. An impairment loss is recognized when the estimate of undiscounted future cash flows generated by such asset or asset group is less than the carrying amount. Measurement of the impairment loss is based on the present value of the expected future cash flows. <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">No</div> impairment of long-lived assets has been identified or recorded in our consolidated statements of operations for any of the fiscal years presented.</div></div></div></div></div></div></div></div></div></div></div><span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_GoodwillAndIntangibleAssetsPolicyTextBlock', window );">Goodwill and Intangible Assets, Policy [Policy Text Block]</a></td>
<td class="text"><div style="display: inline; font-family: times new roman; font-size: 10pt"><div style="display: inline; font-family: times new roman; font-size: 10pt"><div style="display: inline; font-family: times new roman; font-size: 10pt"><div style="display: inline; font-family: times new roman; font-size: 10pt"><div style="display: inline; font-family: times new roman; font-size: 10pt"><div style="display: inline; font-family: times new roman; font-size: 10pt"><div style="display: inline; font-family: times new roman; font-size: 10pt"><div style="display: inline; font-family: times new roman; font-size: 10pt"><div style="display: inline; font-family: times new roman; font-size: 10pt"><div style="display: inline; font-family: times new roman; font-size: 10pt"><div style=" font: italic bold 10pt Times New Roman, Times, Serif; margin: 0pt 0">Goodwill and intangible assets</div> <div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">Goodwill represents the excess of the purchase price in a business combination over the fair value of net tangible and intangible assets acquired. Goodwill is <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">not</div> subject to amortization.</div> <div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&nbsp;</div> <div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"></div> <!-- Field: Page; Sequence: 8 --> <div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"></div> <div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">We test for impairment of goodwill at least annually on <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"> October 31</div><div style="display: inline; bottom:.33em; font-size: 82%; position: relative; vertical-align: baseline;">st</div> of each year and at any other time if any event occurs or circumstances change that would more likely than <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">not</div> reduce our fair value below our reporting unit&#x2019;s carrying amount. Our operations are analyzed by management and our chief operating decision maker as being part of a single industry segment providing logistics technology solutions. Accordingly, our goodwill impairment assessment is based on the allocation of goodwill to a single reporting unit. We completed the qualitative assessment during our <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">third</div> quarter of <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">2020</div> and concluded that it was more likely than <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">not</div> that the fair value of the goodwill was greater than the carrying value. As a result, <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">no</div> impairment of goodwill was recorded in fiscal <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">2020</div> (<div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">no</div> impairments were recorded for fiscal <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">2019</div> or fiscal <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">2018</div>).</div> <div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&nbsp;</div> <div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">We perform further quarterly analysis of whether any event has occurred that would more likely than <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">not</div> reduce our fair value below our reporting unit&#x2019;s carrying amount and, if so, we perform a goodwill impairment test between the annual date. Any impairment adjustment is recognized as an expense in the period that the adjustment is identified.</div> <div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&nbsp;</div> <div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">Intangible assets related to our acquisitions are recorded at their fair value at the acquisition date. Intangible assets include customer agreements and relationships, non-compete covenants, existing technologies and trade names. Intangible assets are amortized on a straight-line basis over their estimated useful lives. We write down intangible asset or asset groups with a finite life to fair value when the related undiscounted cash flows are <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">not</div> expected to allow for recovery of the carrying value. Fair value of intangible asset or asset groups is determined by discounting the expected related future cash flows.</div> <div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&nbsp;</div> <div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">Amortization of our intangible assets is generally recorded at the following rates:</div> <div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&nbsp;</div> <div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"></div> <table border="0" cellpadding="0" cellspacing="0" style="; border-collapse: collapse; font-family: Times New Roman, Times, Serif; min-width: 700px;"> <tr style="vertical-align: middle"> <td style="padding-left: 20pt; font-size: 10pt; text-align: left; width: 50%">Customer agreements and relationships</td> <td style="font-size: 10pt; text-align: left; width: 50%">Straight-line over <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">three</div> to <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">twenty</div> years</td> </tr> <tr style="vertical-align: middle"> <td style="padding-left: 20pt; font-size: 10pt; text-align: left">Existing technologies</td> <td style="font-size: 10pt; text-align: left">Straight-line over <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">two</div> to <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">twelve</div> years</td> </tr> <tr style="vertical-align: middle"> <td style="padding-left: 20pt; font-size: 10pt; text-align: left">Trade names</td> <td style="font-size: 10pt; text-align: left">Straight-line over <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">one</div> to <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">fifteen</div> years</td> </tr> <tr style="vertical-align: middle"> <td style="padding-left: 20pt; font-size: 10pt; text-align: left">Non-compete covenants</td> <td style="font-size: 10pt; text-align: left">Straight-line over <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">two</div> to <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">twelve</div> years</td> </tr> </table></div></div></div></div></div></div></div></div></div></div><span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentPolicyTextBlock', window );">Property, Plant and Equipment, Policy [Policy Text Block]</a></td>
<td class="text"><div style="display: inline; font-family: times new roman; font-size: 10pt"><div style="display: inline; font-family: times new roman; font-size: 10pt"><div style="display: inline; font-family: times new roman; font-size: 10pt"><div style="display: inline; font-family: times new roman; font-size: 10pt"><div style="display: inline; font-family: times new roman; font-size: 10pt"><div style="display: inline; font-family: times new roman; font-size: 10pt"><div style="display: inline; font-family: times new roman; font-size: 10pt"><div style="display: inline; font-family: times new roman; font-size: 10pt"><div style="display: inline; font-family: times new roman; font-size: 10pt"><div style="display: inline; font-family: times new roman; font-size: 10pt"><div style=" font: italic bold 10pt Times New Roman, Times, Serif; margin: 0pt 0">Property and equipment</div> <div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">Property and equipment is recorded at cost. Depreciation of our property and equipment is generally recorded at the following rates:</div> <div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&nbsp;</div> <div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"></div> <table border="0" cellpadding="0" cellspacing="0" style="; border-collapse: collapse; font-family: Times New Roman, Times, Serif; min-width: 700px;"> <tr style="vertical-align: middle"> <td style="padding-left: 20pt; font-size: 10pt; text-align: left; width: 50%">Computer equipment and software</td> <td style="font-size: 10pt; text-align: left; width: 50%"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">30%</div> declining balance&nbsp;</td> </tr> <tr style="vertical-align: middle"> <td style="padding-left: 20pt; font-size: 10pt; text-align: left">Furniture and fixtures</td> <td style="font-size: 10pt; text-align: left"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">20%</div> declining balance</td> </tr> <tr style="vertical-align: middle"> <td style="padding-left: 20pt; font-size: 10pt; text-align: left">Leasehold improvements</td> <td style="font-size: 10pt; text-align: left">Straight-line over lesser of useful life or term of lease</td> </tr> </table> <div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"></div> <div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&nbsp;</div> <div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0">Fully depreciated property and equipment are removed from the balance sheet when they are <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">no</div> longer in use.</div></div></div></div></div></div></div></div></div></div></div><span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_LesseeLeasesPolicyTextBlock', window );">Lessee, Leases [Policy Text Block]</a></td>
<td class="text"><div style="display: inline; font-family: times new roman; font-size: 10pt"><div style="display: inline; font-family: times new roman; font-size: 10pt"><div style="display: inline; font-family: times new roman; font-size: 10pt"><div style="display: inline; font-family: times new roman; font-size: 10pt"><div style="display: inline; font-family: times new roman; font-size: 10pt"><div style="display: inline; font-family: times new roman; font-size: 10pt"><div style="display: inline; font-family: times new roman; font-size: 10pt"><div style="display: inline; font-family: times new roman; font-size: 10pt"><div style="display: inline; font-family: times new roman; font-size: 10pt"><div style="display: inline; font-family: times new roman; font-size: 10pt"><div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><div style="display: inline; font-weight: bold;"><div style="display: inline; font-style: italic;">Leases</div></div></div> <div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">At the inception of a contract we assess whether a contract is, or contains, a lease based on whether the contract conveys the right to control the use of an identified asset for a period of time in exchange for consideration. We have building lease agreements with lease and non-lease components, which are accounted for separately. For computer equipment and vehicle leases, we have elected to account for the lease and non-lease components as a single lease component.</div> <div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&nbsp;</div> <div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">We recognize a right-of-use (&#x201c;ROU&#x201d;) asset and a lease liability at the lease commencement date. The ROU asset is initially measured based on the initial amount of the lease liability adjusted for any lease payments made at or before the commencement date, plus any initial direct costs incurred and less any lease incentives received. The assets are depreciated to the earlier of the end of the useful life of the ROU asset or the lease term using the straight-line method as this most closely reflects the expected pattern of consumption of the future economic benefits. The lease term includes periods covered by an option to extend if the Company is reasonably certain to exercise that option.</div> <div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&nbsp;</div><div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"></div> <div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">The lease liability is initially measured at the present value of the future lease payments at the commencement date, discounted using the interest rate implicit in the lease or, if that rate cannot be readily determined, the Company&#x2019;s incremental borrowing rate. As most of our leases do <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">not</div> provide an implicit rate, we use our incremental borrowing rate based on the information available at commencement date in determining the present value of lease payments.</div> <div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&nbsp;</div> <div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">The lease liability is measured at amortized cost using the effective interest method. It is remeasured when there is a change in future lease payments arising from a change in an index or rate, if there is a change in the Company&#x2019;s estimate of the amount expected to be payable under a residual value guarantee, or if the Company changes its assessment of whether it will exercise a purchase, extension or termination option. When the lease liability is remeasured, a corresponding adjustment is made to the carrying amount of the ROU asset, or is recorded in profit or loss if the carrying amount of the ROU asset has been reduced to zero.</div> <div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&nbsp;</div> <div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">We have elected to apply the practical expedient <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">not</div> to recognize ROU assets and lease liabilities for short-term leases that have a lease term of <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">12</div> months or less. The lease payments associated with these leases is recognized as an expense on a straight-line basis over the lease term.</div></div></div></div></div></div></div></div></div></div></div><span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerPolicyTextBlock', window );">Revenue from Contract with Customer [Policy Text Block]</a></td>
<td class="text"><div style="display: inline; font-family: times new roman; font-size: 10pt"><div style="display: inline; font-family: times new roman; font-size: 10pt"><div style="display: inline; font-family: times new roman; font-size: 10pt"><div style="display: inline; font-family: times new roman; font-size: 10pt"><div style="display: inline; font-family: times new roman; font-size: 10pt"><div style="display: inline; font-family: times new roman; font-size: 10pt"><div style="display: inline; font-family: times new roman; font-size: 10pt"><div style="display: inline; font-family: times new roman; font-size: 10pt"><div style="display: inline; font-family: times new roman; font-size: 10pt"><div style="display: inline; font-family: times new roman; font-size: 10pt"><div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><div style="display: inline; font-weight: bold;"><div style="display: inline; font-style: italic;">Revenue recognition</div></div></div> <div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">Revenue is recognized upon transfer of control of promised goods or services to customers in an amount that reflects the consideration we expect to receive in exchange for those goods or services. We enter into contracts that can include various combinations of goods and services, which are generally capable of being distinct within the context of the contract and accounted for as separate performance obligations. A product or service is distinct if the customer can benefit from it on its own or together with other readily available resources and the promise to transfer the good or service is separately identifiable from other promises in the contractual arrangement with the customer. Non-distinct goods and services are combined with other goods or services until they are distinct as a bundle and therefore form a single performance obligation.</div> <div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&nbsp;</div> <div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">The consideration (including any discounts) is allocated between separate goods and services in a bundle on a relative basis based on their SSP. The SSP reflects the price we would charge for a specific product or service if it was sold separately in similar circumstances and to similar customers. Revenue is recognized net of any taxes collected from customers, which are subsequently remitted to governmental authorities. In addition to these general policies, the specific revenue recognition policies for each major category of revenue are included below.</div> <div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&nbsp;</div> <div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><div style="display: inline; text-decoration: underline;">License</div></div> <div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">Revenues for distinct licenses for on-premise or hosted software are derived from perpetual licenses granted to our customers for the right to use our software products. License revenues are billed on the effective date of a contract and revenue is recognized at the point in time when the customer is provided control of the respective software.</div> <div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&nbsp;</div> <div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><div style="display: inline; text-decoration: underline;">Services</div></div> <div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">Services, which allow customers to access hosted software over a contract term without taking possession of the software, is provided on a subscription and/or transactional fee basis. Revenues from hosted software subscriptions and maintenance are typically billed annually in advance and revenue is recognized on a ratable basis over the contract term beginning on the date that our service is made available to the customer. Transaction fees are typically billed and recognized as revenue on a monthly basis based on the customer usage for that period.</div> <div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&nbsp;</div> <div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><div style="display: inline; text-decoration: underline;">Professional Services &amp; Other</div></div> <div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">Professional services are comprised of consulting, implementation and training services related to our services and products. These services are generally considered to be separate performance obligations as they provide incremental benefit to customers beyond providing access to the software. Professional services are typically billed on a time and materials basis and revenue is recognized over time as the services are performed. For professional services contracts billed on a fixed price basis, revenue is recognized over time based on the proportion of services performed. Revenue related to customer reimbursement of travel related expenses is recognized on a gross basis as incurred. Other revenues include hardware revenue and is generally billed, and revenue is recognized, when control of the product has transferred under the terms of an enforceable contract.</div> <div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&nbsp;</div><div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"></div> <div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><div style="display: inline; font-weight: bold;"><div style="display: inline; font-style: italic;">Costs to obtain a contract with a customer</div></div></div> <div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">We recognize an asset for the incremental costs of obtaining a contract with a customer if we expect the costs to be recoverable. We have determined that certain sales incentive programs meet the requirements to be capitalized. These capitalized costs are amortized consistent with the pattern of transfer to the customer for the goods and services to which the asset relates, including specifically identifiable contract renewals. The period of benefit including renewals is determined to be generally between <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">four</div> to <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">six</div> years, taking into consideration our customer contracts, our technology, renewal behaviors and other factors. Amortization of the asset is included in sales and marketing expenses in the consolidated statements of operations. Applying the practical expedient, we recognize the incremental costs of obtaining contracts as an expense when incurred if the amortization period of the assets that we otherwise would have recognized is <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">one</div> year or less.</div> <div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&nbsp;</div> <div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><div style="display: inline; font-weight: bold;"><div style="display: inline; font-style: italic;">Contract assets and liabilities</div></div></div> <div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><div style="display: inline; color: black">The payment terms and conditions in our customer contracts <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"> may </div>vary from the timing of revenue recognition. In some cases, customers pay in advance of delivery of products or services; in other cases, payment is due as services are performed or in arrears following delivery. Timing differences between revenue recognition and invoicing result in unbilled receivables, contract assets, or deferred revenue. Receivables are accrued when revenue is recognized prior to invoicing but the right to payment is unconditional (i.e., only the passage of time is required). This occurs most commonly when software term licenses recognized at a point in time are paid for periodically over the license term. Contract assets result when amounts allocated to distinct performance obligations are recognized when or as control of a product or service is transferred to the customer, but invoicing is contingent on performance of other performance obligations or on completion of contractual milestones and is presented as other receivables. Contract assets are transferred to receivables when the rights become unconditional, typically upon invoicing of the related performance obligations in the contract or upon achieving the requisite project milestone. </div>Contract liabilities primarily relate to the advance consideration received from customers and is presented as deferred revenue. <div style="display: inline; color: black">Deferred revenue results from customer payments in advance of our satisfaction of the associated performance obligation(s) and relates primarily to prepaid maintenance or other recurring services. Deferred revenues are relieved as revenue is recognized. Contract assets and deferred revenues are reported on a contract-by-contract basis at the end of each reporting period.</div></div> <div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&nbsp;</div> <div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><div style="display: inline; font-weight: bold;"><div style="display: inline; font-style: italic;">Revenue judgments and estimates</div></div></div> <div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">Our contracts with customers often include promises to transfer multiple goods and services to a customer. Determining whether goods and services are considered distinct performance obligations that should be accounted for separately versus together <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"> may </div>require judgment. Judgment is also needed in assessing the ability to collect the corresponding receivables.</div> <div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&nbsp;</div> <div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">Significant judgment is required to determine the SSP for each distinct performance obligation, which is needed to determine whether there is a discount that needs to be allocated based on the relative SSP of the various goods and services. In order to determine the SSP of its promised goods or services, we conduct a regular analysis to determine whether various goods or services have an observable standalone selling price. If the Company does <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">not</div> have an observable SSP for a particular good or service, then SSP for that particular good or service is estimated using reasonably available information and maximizing observable inputs with approaches including historical pricing, cost plus a margin, adjusted market assessment, and the residual approach.</div></div></div></div></div></div></div></div></div></div></div><span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ResearchDevelopmentAndComputerSoftwarePolicyTextBlock', window );">Research, Development, and Computer Software, Policy [Policy Text Block]</a></td>
<td class="text"><div style="display: inline; font-family: times new roman; font-size: 10pt"><div style="display: inline; font-family: times new roman; font-size: 10pt"><div style="display: inline; font-family: times new roman; font-size: 10pt"><div style="display: inline; font-family: times new roman; font-size: 10pt"><div style="display: inline; font-family: times new roman; font-size: 10pt"><div style="display: inline; font-family: times new roman; font-size: 10pt"><div style="display: inline; font-family: times new roman; font-size: 10pt"><div style="display: inline; font-family: times new roman; font-size: 10pt"><div style="display: inline; font-family: times new roman; font-size: 10pt"><div style="display: inline; font-family: times new roman; font-size: 10pt"><div style=" font: italic bold 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">Research and development costs</div> <div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">To date, we have <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">not</div> capitalized any costs related to research and development of our computer software products. Costs incurred between the dates that the product is considered to be technologically feasible and is considered to be ready for general release to customers have historically been expensed as they have <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">not</div> been significant.</div></div></div></div></div></div></div></div></div></div></div><span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationOptionAndIncentivePlansPolicy', window );">Share-based Payment Arrangement [Policy Text Block]</a></td>
<td class="text"><div style="display: inline; font-family: times new roman; font-size: 10pt"><div style="display: inline; font-family: times new roman; font-size: 10pt"><div style="display: inline; font-family: times new roman; font-size: 10pt"><div style="display: inline; font-family: times new roman; font-size: 10pt"><div style="display: inline; font-family: times new roman; font-size: 10pt"><div style="display: inline; font-family: times new roman; font-size: 10pt"><div style="display: inline; font-family: times new roman; font-size: 10pt"><div style="display: inline; font-family: times new roman; font-size: 10pt"><div style="display: inline; font-family: times new roman; font-size: 10pt"><div style="display: inline; font-family: times new roman; font-size: 10pt"><div style=" font: italic bold 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">Stock-based compensation plans</div> <div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><div style="display: inline; text-decoration: underline;">Stock Options</div></div> <div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">We maintain stock option plans for non-employee directors, officers, employees and other service providers. Options to purchase our common shares are granted at an exercise price equal to the fair market value of our common shares as of the date of grant. This fair market value is determined using the closing price of our common shares on the TSX on the day immediately preceding the date of the grant.</div> <div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&nbsp;</div> <div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">Employee stock options generally vest over a <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">five</div>-year period starting from the grant date and expire <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">seven</div> years from the grant date. Non-employee directors&#x2019; and officers&#x2019; stock options generally have quarterly vesting over a <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">three</div> to <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">five</div>-year period. We issue new shares from treasury upon the exercise of a stock option.</div> <div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&nbsp;</div> <div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">The fair value of employee stock option grants that are ultimately expected to vest are amortized to expense in our consolidated statement of operations based on the straight-line attribution method. The fair value of stock option grants is calculated using the Black-Scholes Merton option-pricing model. Expected volatility is based on historical volatility of our common stock and other factors. The risk-free interest rates are based on Government of Canada average bond yields for a period consistent with the expected life of the option in effect at the time of the grant. The expected option life is based on the historical life of our granted options and other factors.</div> <div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&nbsp;</div> <div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">Effective as of <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"> February 1, 2017, </div>the Company adopted a change in accounting policy in accordance with ASU <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">2016</div>-<div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">09</div> to account for forfeitures as they occur. The change was applied on a modified retrospective basis, and <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">no</div> prior periods were restated as a result of this change in accounting policy.</div> <div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&nbsp;</div> <div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><div style="display: inline; text-decoration: underline;">Performance &amp; Restricted Share Units</div></div> <div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">We maintain a performance and restricted share unit plan pursuant to which certain of our officers are eligible to receive grants of performance share units (&#x201c;PSUs&#x201d;) and restricted share units (&#x201c;RSUs&#x201d;).</div> <div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&nbsp;</div> <div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">PSUs vest at the end of a <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">three</div>-year performance period. The ultimate number of PSUs that vest is based on the total shareholder return (&#x201c;TSR&#x201d;) of our Company relative to the TSR of companies comprising a peer index group. TSR is calculated based on the weighted-average closing price of shares for the <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">five</div> trading days preceding the beginning and end of the performance period. The fair value of PSUs is expensed to stock-based compensation expense over the vesting period. PSUs expire <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">ten</div> years from the grant date. New shares are issued from treasury upon the redemption of a PSU.</div> <div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&nbsp;</div> <div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">PSUs are measured at fair value estimated using a Monte Carlo Simulation approach. Expected volatility is based on historical volatility of our common stock and other factors. The risk-free interest rates are based on the Government of Canada average bond yields for a period consistent with the expected life of the PSUs at the time of the grant. The expected PSU life is based on the historical life of our stock options and other factors.</div> <div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&nbsp;</div> <div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">RSUs vest annually over a <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">three</div>-year period starting from the grant date and expire <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">ten</div> years from the grant date. We issue new shares from treasury upon the redemption of an RSU.</div> <div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&nbsp;</div> <div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">RSUs are measured at fair value based on the closing price of our common shares for the day preceding the date of the grant and will be expensed to stock-based compensation expense over the vesting period.</div> <div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&nbsp;</div> <div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"></div> <!-- Field: Page; Sequence: 12 --> <div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"></div> <div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><div style="display: inline; text-decoration: underline;">Deferred Share Unit Plan</div></div> <div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">Our board of directors adopted a deferred share unit plan effective as of <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"> June 28, 2004, </div>pursuant to which non-employee directors are eligible to receive grants of deferred share units (&#x201c;DSUs&#x201d;), each of which has an initial value equal to the weighted-average closing price of our common shares for the <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">five</div> trading days preceding the grant date. The plan allows each director to choose to receive, in the form of DSUs, all, <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">none</div> or a percentage of the eligible director&#x2019;s fees which would otherwise be payable in cash. If a director has invested less than the minimum amount of equity in Descartes, as prescribed from time to time by the board of directors, then the director must take at least <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">50%</div> of the base annual fee for serving as a director in the form of DSUs. Each DSU fully vests upon award but is distributed only when the director ceases to be a member of the board of directors. Vested units are settled in cash based on our common share price when conversion takes place. Fair value of the liability is based on the closing price of our common shares at the balance sheet date.</div> <div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&nbsp;</div> <div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><div style="display: inline; text-decoration: underline;">Cash-Settled Restricted Share Unit Plan</div></div> <div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">Our board of directors adopted a cash-settled restricted share unit plan effective as of <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"> May 23, 2007, </div>pursuant to which certain of our employees and non-employee directors are eligible to receive grants of cash-settled restricted share units (&#x201c;CRSUs&#x201d;), each of which has an initial value equal to the weighted-average closing price of our common shares for the <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">five</div> trading days preceding the date of the grant. The CRSUs generally vest based on continued employment and have annual vesting over <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">three</div> to <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">five</div>-year periods. Vested units are settled in cash based on our common share price when conversion takes place, which is within <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">30</div> days following a vesting date and in any event prior to <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"> December 31</div><div style="display: inline; bottom:.33em; font-size: 82%; position: relative; vertical-align: baseline;">st</div> of the calendar year in which a vesting date occurs. Fair value of the liability is based on the closing price of our common shares at the balance sheet date.</div></div></div></div></div></div></div></div></div></div></div><span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessCombinationsPolicy', window );">Business Combinations Policy [Policy Text Block]</a></td>
<td class="text"><div style="display: inline; font-family: times new roman; font-size: 10pt"><div style="display: inline; font-family: times new roman; font-size: 10pt"><div style="display: inline; font-family: times new roman; font-size: 10pt"><div style="display: inline; font-family: times new roman; font-size: 10pt"><div style="display: inline; font-family: times new roman; font-size: 10pt"><div style="display: inline; font-family: times new roman; font-size: 10pt"><div style="display: inline; font-family: times new roman; font-size: 10pt"><div style="display: inline; font-family: times new roman; font-size: 10pt"><div style="display: inline; font-family: times new roman; font-size: 10pt"><div style="display: inline; font-family: times new roman; font-size: 10pt"><div style=" font: italic bold 10pt Times New Roman, Times, Serif; margin: 0pt 0">Business combinations</div> <div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">We apply the provisions of ASC Topic <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">805,</div> &#x201c;Business Combinations&#x201d; (Topic <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">805</div>), in the accounting for our acquisitions. It requires us to recognize separately from goodwill, the assets acquired and the liabilities assumed at their acquisition date fair values including certain identifiable intangible assets (other than goodwill). Goodwill as of the acquisition date is measured as the excess of consideration transferred over the net of the acquisition date fair values of the assets acquired and the liabilities assumed. The determination of the acquisition date fair value of the intangible assets acquired required us to make significant estimates and assumptions regarding projected revenues, earnings before interest, taxes, depreciation and amortization, technology migration rates, customer attrition rates and discount rates.</div> <div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&nbsp;</div> <div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">While we use our best estimates and assumptions to accurately value assets acquired and liabilities assumed at the acquisition date as well as contingent consideration, where applicable, our estimates are inherently uncertain and subject to refinement. As a result, during the measurement period, which <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"> may </div>be up to <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">one</div> year from the acquisition date, we <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"> may </div>record adjustments to the assets acquired and liabilities assumed with the corresponding offset to goodwill. Upon the conclusion of the measurement period or final determination of the values of assets acquired or liabilities assumed, whichever comes first, any subsequent adjustments would be recorded to our consolidated statement of operations.</div> <div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&nbsp;</div> <div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">Costs to exit or restructure certain activities of an acquired company or our internal operations are accounted for as termination and exit costs pursuant to ASC Topic <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">420,</div> &#x201c;Exit or Disposal Cost Obligations&#x201d; (Topic <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">420</div>) and are accounted for separately from the business combination.</div> <div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&nbsp;</div> <div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">For a given acquisition, we generally identify certain pre-acquisition contingencies as of the acquisition date and <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"> may </div>extend our review and evaluation of these pre-acquisition contingencies throughout the measurement period in order to obtain sufficient information to assess whether we include these contingencies as a part of the purchase price allocation and, if so, to determine the estimated amounts.</div> <div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&nbsp;</div> <div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">If we determine that a pre-acquisition contingency (non-income tax related) is probable in nature and estimable as of the acquisition date, we record our best estimate for such a contingency as a part of the preliminary purchase price allocation. We often continue to gather information and evaluate our pre-acquisition contingencies throughout the measurement period and if we make changes to the amounts recorded or if we identify additional pre-acquisition contingencies during the measurement period, such amounts will be included in the purchase price allocation during the measurement period and, subsequently, in our results of operations.</div> <div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&nbsp;</div> <div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"></div> <!-- Field: Page; Sequence: 13 --> <div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"></div> <div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">Uncertain tax positions and tax related valuation allowances assumed in connection with a business combination are initially estimated as of the acquisition date. We review these items during the measurement period as we continue to actively seek and collect information relating to facts and circumstances that existed at the acquisition date. Changes to these uncertain tax positions and tax related valuation allowances made subsequent to the measurement period, or if they relate to facts and circumstances that did <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">not</div> exist at the acquisition date, are recorded in our provision for income taxes in our consolidated statement of operations.</div></div></div></div></div></div></div></div></div></div></div><span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_IncomeTaxPolicyTextBlock', window );">Income Tax, Policy [Policy Text Block]</a></td>
<td class="text"><div style="display: inline; font-family: times new roman; font-size: 10pt"><div style="display: inline; font-family: times new roman; font-size: 10pt"><div style="display: inline; font-family: times new roman; font-size: 10pt"><div style="display: inline; font-family: times new roman; font-size: 10pt"><div style="display: inline; font-family: times new roman; font-size: 10pt"><div style="display: inline; font-family: times new roman; font-size: 10pt"><div style="display: inline; font-family: times new roman; font-size: 10pt"><div style="display: inline; font-family: times new roman; font-size: 10pt"><div style="display: inline; font-family: times new roman; font-size: 10pt"><div style="display: inline; font-family: times new roman; font-size: 10pt"><div style=" font: italic bold 10pt Times New Roman, Times, Serif; margin: 0pt 0">Income taxes</div> <div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">We use the liability method of income tax allocation to account for income taxes. Deferred tax assets and liabilities arise from temporary differences between the tax bases of assets and liabilities and their reported amounts in the consolidated financial statements that will result in taxable or deductible amounts in future years. These temporary differences are measured using enacted tax rates. A valuation allowance is recorded to reduce deferred tax assets to the extent that we consider it is more likely than <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">not</div> that a deferred tax asset will <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">not</div> be realized. In determining the valuation allowance, we consider factors such as the reversal of deferred income tax liabilities, projected taxable income, our history of losses for tax purposes, and the character of income tax assets and tax planning strategies. A change to these factors could impact the estimated valuation allowance and income tax expense.</div> <div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&nbsp;</div> <div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">We evaluate our uncertain tax positions by using a <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">two</div>-step approach to recognize and measure uncertain tax positions and provisions for income taxes.&nbsp;The <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">first</div> step is to evaluate the tax position for recognition by determining if the weight of available evidence indicates it is more likely than <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">not,</div> based solely on the technical merits, that the position will be sustained on audit, including resolution of related appeals or litigation processes, if any. The <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">second</div> step is to measure the appropriate amount of the benefit to recognize. The amount of benefit to recognize is measured as the maximum amount which is more likely than <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">not</div> to be realized. The tax position is derecognized when it is <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">no</div> longer more likely than <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">not</div> that the position will be sustained on audit. We continually assess the likelihood and amount of potential adjustments and adjust the income tax provisions, income taxes payable and deferred income taxes in the period in which the facts that give rise to a revision become known.</div></div></div></div></div></div></div></div></div></div></div><span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_EarningsPerSharePolicyTextBlock', window );">Earnings Per Share, Policy [Policy Text Block]</a></td>
<td class="text"><div style="display: inline; font-family: times new roman; font-size: 10pt"><div style="display: inline; font-family: times new roman; font-size: 10pt"><div style="display: inline; font-family: times new roman; font-size: 10pt"><div style="display: inline; font-family: times new roman; font-size: 10pt"><div style="display: inline; font-family: times new roman; font-size: 10pt"><div style="display: inline; font-family: times new roman; font-size: 10pt"><div style="display: inline; font-family: times new roman; font-size: 10pt"><div style="display: inline; font-family: times new roman; font-size: 10pt"><div style="display: inline; font-family: times new roman; font-size: 10pt"><div style="display: inline; font-family: times new roman; font-size: 10pt"><div style=" font: italic bold 10pt Times New Roman, Times, Serif; margin: 0pt 0">Earnings per share</div> <div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">Basic earnings per share is calculated by dividing net income by the weighted average number of common shares outstanding during the period. Diluted earnings per common share is calculated by dividing net income by the sum of the weighted average number of common shares outstanding and all additional common shares that would have been outstanding if potentially dilutive common shares had been issued during the period. The treasury stock method is used to compute the dilutive effect of stock-based compensation.</div></div></div></div></div></div></div></div></div></div></div><span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_NewAccountingPronouncementsPolicyPolicyTextBlock', window );">New Accounting Pronouncements, Policy [Policy Text Block]</a></td>
<td class="text"><div style="display: inline; font-family: times new roman; font-size: 10pt"><div style="display: inline; font-family: times new roman; font-size: 10pt"><div style="display: inline; font-family: times new roman; font-size: 10pt"><div style="display: inline; font-family: times new roman; font-size: 10pt"><div style="display: inline; font-family: times new roman; font-size: 10pt"><div style="display: inline; font-family: times new roman; font-size: 10pt"><div style="display: inline; font-family: times new roman; font-size: 10pt"><div style="display: inline; font-family: times new roman; font-size: 10pt"><div style="display: inline; font-family: times new roman; font-size: 10pt"><div style="display: inline; font-family: times new roman; font-size: 10pt"><div style=" font: italic bold 10pt Times New Roman, Times, Serif; margin: 0pt 0">Recently adopted accounting pronouncements</div> <div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">In <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"> May 2014, </div>the FASB issued Accounting Standards Update <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">2014</div>-<div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">09,</div> &#x201c;Revenue from Contracts with Customers&#x201d; (&#x201c;ASC <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">606&#x201d;</div>). ASC <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">606</div> supersedes the revenue recognition requirements in ASC Topic <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">605,</div> &#x201c;Revenue Recognition&#x201d; ("ASC <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">605"</div>) and nearly all other existing revenue recognition guidance under US GAAP. The core principle of ASC <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">606</div> is to recognize revenues when promised goods or services are transferred to customers in an amount that reflects the consideration that is expected to be received for those goods or services. ASC <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">606</div> is effective for annual periods, and interim periods within those annual periods, beginning after <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"> December 15, 2017, </div>which is our fiscal year that began on <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"> February 1, 2018 (</div>fiscal <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">2019</div>). The Company has adopted ASC <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">606</div> in the <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">first</div> quarter of fiscal <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">2019</div> using the cumulative effect method and therefore the comparative information has <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">not</div> been restated and continues to be reported under ASC <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">605.</div> The details of the significant changes and quantitative impact of the changes are set out below.</div> <div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&nbsp;</div><div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"></div> <div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify; text-indent: 0.5in"><div style="display: inline; text-decoration: underline;">Term-based licenses</div></div> <div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0 0pt 0.5in; text-align: justify">Under ASC <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">605,</div> revenue attributable to term-based arrangements was recognized ratably over the term of the arrangement because Vendor Specific Objective Evidence did <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">not</div> exist for the undelivered maintenance and support element of the arrangement. Under ASC <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">606,</div> the Company has deemed the licenses to be distinct from other performance obligations. Revenue allocated to the distinct license based on the SSP is recognized at the time that both the right-to-use the software has commenced for the term and the software has been made available to the customer.</div> <div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&nbsp;</div> <div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify; text-indent: 0.5in"><div style="display: inline; text-decoration: underline;">Costs to obtain a contract</div></div> <div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0 0pt 0.5in; text-align: justify">Under the Company&#x2019;s previous accounting policies, the Company generally expensed commission costs paid to employees or <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">third</div> parties to obtain customer contracts as incurred. Under ASC <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">606,</div> the Company allocates these incremental commission costs to the various performance obligations to which they relate using the relative selling price allocation for bundled commissions. For performance obligations <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">not</div> delivered upfront, the allocated commissions are deferred and amortized over the pattern of transfer of the related performance obligation. If the expected amortization period for all performance obligations in a contract with a customer is <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">one</div> year or less, the commission fee is expensed when incurred. Capitalized costs to obtain a contract are included in other long-term assets on the consolidated balance sheet.</div> <div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&nbsp;</div> <div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">The adoption of ASC <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">606</div> resulted in an increase to contract assets of <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">$0.5</div> million, an increase to other long-term assets of <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">$4.2</div> million, an increase to the liability for deferred income taxes of <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">$1.1</div> million and a decrease to accumulated deficit of <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">$3.6</div> million, as of <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"> February 1, 2018.</div></div> <div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&nbsp;</div> <div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">In <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"> October 2016, </div>the FASB issued Accounting Standards Update <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">2016</div>-<div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">16,</div> &#x201c;Income Taxes (Topic <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">740</div>): Intra-Entity Transfers of Assets Other Than Inventory&#x201d; (&#x201c;ASU <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">2016</div>-<div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">16&#x201d;</div>). ASU <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">2016</div>-<div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">16</div> requires the recognition of the income tax consequences of an intra-entity transfer of an asset other than inventory when the transfer occurs. ASU <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">2016</div>-<div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">16</div> is effective for annual periods, and interim periods within those annual periods, beginning after <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"> December 15, 2017, </div>which is our fiscal year that began on <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"> February 1, 2018 (</div>fiscal <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">2019</div>). The Company adopted this guidance in the <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">first</div> quarter of fiscal <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">2019.</div> As a result of adoption, the balance of unamortized deferred tax charges was written-off and previously unrecognized deferred income tax assets in certain jurisdictions were recognized. The change was applied on a modified retrospective basis, and <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">no</div> prior periods were restated. Accordingly, we have recognized a decrease of <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">$4.0</div> million in accumulated deficit as a result of the adoption of this change in accounting policy, as of <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"> February 1, 2018.</div></div> <div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&nbsp;</div> <div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">In <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"> February 2016, </div>the FASB issued Accounting Standards Update <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">2016</div>-<div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">02,</div> &#x201c;Leases (Topic <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">842</div>)&#x201d; (&#x201c;ASU <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">2016</div>-<div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">02&#x201d;</div>) and issued subsequent amendments to the initial guidance during <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">2018,</div> collectively referred to as &#x201c;ASC <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">842&#x201d;.</div> These updates supersede the lease guidance in ASC Topic <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">840,</div> &#x201c;Leases&#x201d; (&#x201c;ASC <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">840&#x201d;</div>) and require the recognition of lease assets and lease liabilities by lessees for most leases previously classified as operating leases under ASC Topic <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">840.</div> Leases will continue to be classified as either operating or finance. ASC <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">842</div> is effective for annual periods, and interim periods within those annual periods, beginning after <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"> December 15, 2018, </div>which is our fiscal year that began on <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"> February 1, 2019 (</div>fiscal <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">2020</div>). The Company adopted ASC <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">842</div> as of <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"> February 1, 2019 </div>using the cumulative effect method and therefore the comparative information has <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">not</div> been restated and continues to be reported under ASC Topic <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">840.</div></div> <div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&nbsp;</div> <div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">The adoption of ASC <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">842</div> resulted in an increase to ROU assets and lease liabilities of <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">$</div><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">10.4</div> </div>million as of <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"> February 1, 2019. </div>The adoption of ASC <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">842</div> did <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">not</div> have a material impact on either our consolidated statement of operations or our consolidated statement of cash flows.</div> <div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&nbsp;</div> <div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">On adoption of ASC <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">842,</div> we have elected to apply the practical expedient to carry forward our current assessments of whether a contract contains a lease, lease classification, and amounts capitalized as initial direct costs. In addition, we have elected the hindsight practical expedient to determine lease term for existing leases.</div> <div style=" font: italic 10pt Times New Roman, Times, Serif; margin: 0pt 0"><div style="display: inline; font-style: normal; font-weight: normal">&nbsp;</div></div><div style=" font: italic 10pt Times New Roman, Times, Serif; margin: 0pt 0"><div style="display: inline; font-style: normal; font-weight: normal"></div></div> <div style=" font: italic bold 10pt Times New Roman, Times, Serif; margin: 0pt 0">Recently issued accounting pronouncements</div> <div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">In <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"> June 2016, </div>the FASB issued Accounting Standards Update <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">2016</div>-<div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">13,</div> &#x201c;Financial Instruments &#x2013; Credit Losses (Topic <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">326</div>): Measurement of Credit Losses on Financial Instruments&#x201d; (&#x201c;ASU <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">2016</div>-<div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">13&#x201d;</div>) and issued subsequent amendments to the initial guidance during the <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">2019</div> calendar year, collectively referred to as &#x201c;ASC <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">326&#x201d;.</div> ASC <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">326</div> requires the measurement and recognition of expected credit losses for financial assets held at amortized cost. ASC <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">326</div> replaces the existing incurred loss impairment model with an expected loss model which requires the use of forward-looking information to calculate credit loss estimates. These changes will result in earlier recognition of credit losses. ASC <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">326</div> is effective for annual periods, and interim periods within those annual periods, beginning after <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"> December 15, 2019, </div>which will be our fiscal year beginning <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"> February 1, 2020 (</div>fiscal <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">2021</div>). Early adoption is permitted. The Company will adopt this guidance using the cumulative effect method resulting in an adjustment to retained earnings in the <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">first</div> quarter of fiscal <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">2021</div> and will <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">not</div> restate comparative periods. We are currently implementing new credit loss models and updating our processes and controls in preparation for the adoption of ASC <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">326.</div> The effect on our consolidated financial statements is expected to largely depend on the composition and credit quality of our financial assets held at amortized cost and the economic conditions and forecasts at the time of adoption. The adoption of this amendment is <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">not</div> expected to have a material impact on our results of operations or disclosures.</div> <div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&nbsp;</div> <div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">In <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"> January 2017, </div>the FASB issued Accounting Standards Update <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">2017</div>-<div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">04,</div> &#x201c;Intangibles &#x2013; Goodwill and Other (Topic <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">350</div>): Simplifying the Test for Goodwill Impairment&#x201d; (&#x201c;ASU <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">2017</div>-<div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">04&#x201d;</div>). ASU <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">2017</div>-<div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">04</div> simplifies how an entity is required to test goodwill for impairment. ASU <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">2017</div>-<div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">04</div> is effective for annual periods, and interim periods within those annual periods, beginning after <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"> December 15, 2019, </div>which will be our fiscal year beginning <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"> February 1, 2020 (</div>fiscal <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">2021</div>). Early adoption is permitted. The Company will adopt this guidance in the <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">first</div> quarter of fiscal <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">2021.</div> The adoption of this amendment is <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">not</div> expected to have a material impact on our results of operations or disclosures.</div> <div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&nbsp;</div> <div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">In <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"> August 2018, </div>the FASB issued Accounting Standards Update <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">2018</div>-<div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">15,</div> &#x201c;Intangibles &#x2013; Goodwill and Other &#x2013; Internal-Use Software (Subtopic <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">350</div>-<div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">40</div>): Customer&#x2019;s Accounting for Implementation Costs Incurred in a Cloud Computing Arrangement That Is a Service Contract&#x201d; (&#x201c;ASU <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">2018</div>-<div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">15&#x201d;</div>). ASU <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">2018</div>-<div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">15</div> aligns the requirements for capitalizing implementation costs incurred in a hosting arrangement that is a service contract with the requirements for capitalizing implementation costs incurred to develop or obtain internal-use software. ASU <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">2018</div>-<div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">15</div> is effective for annual periods, and interim periods within those annual periods, beginning after <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"> December 15, 2019, </div>which will be our fiscal year beginning <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"> February 1, 2020 (</div>fiscal <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">2021</div>). Early adoption is permitted. The Company will adopt this guidance in the <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">first</div> quarter of fiscal <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">2021.</div> The adoption of this amendment is <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">not</div> expected to have a material impact on our results of operations or disclosures.</div> <div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&nbsp;</div> <div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">In <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"> December 2019, </div>the FASB issued Accounting Standards Update <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">2019</div>-<div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">12,</div> &#x201c;Income Taxes (Topic <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">740</div>): Simplifying the Accounting for Income Taxes&#x201d; (&#x201c;ASU <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">2019</div>-<div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">12&#x201d;</div>). ASU <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">2019</div>-<div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">12</div> simplifies how an entity accounts for income taxes. ASU <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">2019</div>-<div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">12</div> is effective for annual periods, and interim periods within those annual periods, beginning after <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"> December 15, 2020, </div>which will be our fiscal year beginning <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"> February 1, 2021 (</div>fiscal <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">2022</div>). Early adoption is permitted. The Company will adopt this guidance in the <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">first</div> quarter of fiscal <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">2022.</div> We are currently evaluating the impact that the adoption will have on our results of operations, financial position and disclosures.</div></div></div></div></div></div></div></div></div></div></div><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AccountingPoliciesAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AccountingPoliciesAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_BasisOfAccountingPolicyPolicyTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Disclosure of accounting policy for basis of accounting, or basis of presentation, used to prepare the financial statements (for example, US Generally Accepted Accounting Principles, Other Comprehensive Basis of Accounting, IFRS).</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_BasisOfAccountingPolicyPolicyTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>nonnum:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_BusinessCombinationsPolicy">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Disclosure of accounting policy for completed business combinations (purchase method, acquisition method or combination of entities under common control). This accounting policy may include a general discussion of the purchase method or acquisition method of accounting (including for example, the treatment accorded contingent consideration, the identification of assets and liabilities, the purchase price allocation process, how the fair values of acquired assets and liabilities are determined) and the entity's specific application thereof. An entity that acquires another entity in a leveraged buyout transaction generally discloses the accounting policy followed by the acquiring entity in determining the basis used to value its interest in the acquired entity, and the rationale for that accounting policy.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 805<br> -SubTopic 10<br> -Section 05<br> -Paragraph 4<br> -Subparagraph (a)-(d)<br> -URI http://asc.fasb.org/extlink&amp;oid=6909625&amp;loc=d3e227-128457<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -URI http://asc.fasb.org/extlink&amp;oid=84158767&amp;loc=d3e18780-107790<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_BusinessCombinationsPolicy</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>nonnum:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CashAndCashEquivalentsPolicyTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Disclosure of accounting policy for cash and cash equivalents, including the policy for determining which items are treated as cash equivalents. Other information that may be disclosed includes (1) the nature of any restrictions on the entity's use of its cash and cash equivalents, (2) whether the entity's cash and cash equivalents are insured or expose the entity to credit risk, (3) the classification of any negative balance accounts (overdrafts), and (4) the carrying basis of cash equivalents (for example, at cost) and whether the carrying amount of cash equivalents approximates fair value.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -URI http://asc.fasb.org/extlink&amp;oid=98513485&amp;loc=d3e4273-108586<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(1))<br> -URI http://asc.fasb.org/extlink&amp;oid=6877327&amp;loc=d3e13212-122682<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -URI http://asc.fasb.org/extlink&amp;oid=84158767&amp;loc=d3e18780-107790<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CashAndCashEquivalentsPolicyTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>nonnum:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ConsolidationPolicyTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Disclosure of accounting policy regarding (1) the principles it follows in consolidating or combining the separate financial statements, including the principles followed in determining the inclusion or exclusion of subsidiaries or other entities in the consolidated or combined financial statements and (2) its treatment of interests (for example, common stock, a partnership interest or other means of exerting influence) in other entities, for example consolidation or use of the equity or cost methods of accounting.  The accounting policy may also address the accounting treatment for intercompany accounts and transactions, noncontrolling interest, and the income statement treatment in consolidation for issuances of stock by a subsidiary.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 810<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.3A-02)<br> -URI http://asc.fasb.org/extlink&amp;oid=116822174&amp;loc=d3e355033-122828<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 810<br> -SubTopic 10<br> -Section S99<br> -Paragraph 3<br> -Subparagraph (SX 210.3A-03)<br> -URI http://asc.fasb.org/extlink&amp;oid=116822174&amp;loc=d3e355100-122828<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -URI http://asc.fasb.org/extlink&amp;oid=84158767&amp;loc=d3e18780-107790<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 810<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -URI http://asc.fasb.org/extlink&amp;oid=109239629&amp;loc=d3e5614-111684<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ConsolidationPolicyTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>nonnum:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_EarningsPerSharePolicyTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Disclosure of accounting policy for computing basic and diluted earnings or loss per share for each class of common stock and participating security. Addresses all significant policy factors, including any antidilutive items that have been excluded from the computation and takes into account stock dividends, splits and reverse splits that occur after the balance sheet date of the latest reporting period but before the issuance of the financial statements.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (c)<br> -URI http://asc.fasb.org/extlink&amp;oid=6371337&amp;loc=d3e3550-109257<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -URI http://asc.fasb.org/extlink&amp;oid=6371337&amp;loc=d3e3550-109257<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -URI http://asc.fasb.org/extlink&amp;oid=84158767&amp;loc=d3e18780-107790<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -URI http://asc.fasb.org/extlink&amp;oid=6371337&amp;loc=d3e3630-109257<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EarningsPerSharePolicyTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>nonnum:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FairValueOfFinancialInstrumentsPolicy">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Disclosure of accounting policy for determining the fair value of financial instruments.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 820<br> -SubTopic 10<br> -Section 60<br> -Paragraph 1<br> -URI http://asc.fasb.org/extlink&amp;oid=7493716&amp;loc=d3e21868-110260<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 825<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -URI http://asc.fasb.org/extlink&amp;oid=118260190&amp;loc=d3e13279-108611<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -URI http://asc.fasb.org/extlink&amp;oid=84158767&amp;loc=d3e18780-107790<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FairValueOfFinancialInstrumentsPolicy</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>nonnum:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ForeignCurrencyTransactionsAndTranslationsPolicyTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Disclosure of accounting policy for (1) transactions denominated in a currency other than the reporting enterprise's functional currency, (2) translating foreign currency financial statements that are incorporated into the financial statements of the reporting enterprise by consolidation, combination, or the equity method of accounting, and (3) remeasurement of the financial statements of a foreign reporting enterprise in a hyperinflationary economy.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -URI http://asc.fasb.org/extlink&amp;oid=84158767&amp;loc=d3e18780-107790<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 830<br> -SubTopic 30<br> -Section 50<br> -Paragraph 1<br> -URI http://asc.fasb.org/extlink&amp;oid=6450520&amp;loc=d3e32583-110901<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 830<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1<br> -URI http://asc.fasb.org/extlink&amp;oid=6450222&amp;loc=d3e30840-110895<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ForeignCurrencyTransactionsAndTranslationsPolicyTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>nonnum:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_GoodwillAndIntangibleAssetsPolicyTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Disclosure of accounting policy for goodwill and intangible assets. This accounting policy also may address how an entity assesses and measures impairment of goodwill and intangible assets.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -URI http://asc.fasb.org/extlink&amp;oid=84158767&amp;loc=d3e18780-107790<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1<br> -URI http://asc.fasb.org/extlink&amp;oid=108376223&amp;loc=d3e13816-109267<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 30<br> -Section 50<br> -Paragraph 1<br> -URI http://asc.fasb.org/extlink&amp;oid=66006027&amp;loc=d3e16265-109275<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_GoodwillAndIntangibleAssetsPolicyTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>nonnum:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ImpairmentOrDisposalOfLongLivedAssetsIncludingIntangibleAssetsPolicyPolicyTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Disclosure of accounting policy for the impairment and disposal of long-lived assets including goodwill and other intangible assets.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ImpairmentOrDisposalOfLongLivedAssetsIncludingIntangibleAssetsPolicyPolicyTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>nonnum:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncomeTaxPolicyTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Disclosure of accounting policy for income taxes, which may include its accounting policies for recognizing and measuring deferred tax assets and liabilities and related valuation allowances, recognizing investment tax credits, operating loss carryforwards, tax credit carryforwards, and other carryforwards, methodologies for determining its effective income tax rate and the characterization of interest and penalties in the financial statements.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 20<br> -URI http://asc.fasb.org/extlink&amp;oid=84230637&amp;loc=d3e32847-109319<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 954<br> -SubTopic 740<br> -Section 50<br> -Paragraph 1<br> -URI http://asc.fasb.org/extlink&amp;oid=6491622&amp;loc=d3e9504-115650<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -URI http://asc.fasb.org/extlink&amp;oid=84158767&amp;loc=d3e18780-107790<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 17<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=84230637&amp;loc=d3e32809-109319<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -URI http://asc.fasb.org/extlink&amp;oid=116657188&amp;loc=SL116659661-227067<br><br>Reference 6: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 19<br> -URI http://asc.fasb.org/extlink&amp;oid=84230637&amp;loc=d3e32840-109319<br><br>Reference 7: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 45<br> -Paragraph 25<br> -URI http://asc.fasb.org/extlink&amp;oid=116821951&amp;loc=d3e32247-109318<br><br>Reference 8: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 45<br> -Paragraph 28<br> -URI http://asc.fasb.org/extlink&amp;oid=116821951&amp;loc=d3e32280-109318<br><br>Reference 9: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 30<br> -Section 05<br> -Paragraph 1<br> -URI http://asc.fasb.org/extlink&amp;oid=65884525&amp;loc=d3e40913-109327<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncomeTaxPolicyTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>nonnum:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_InventoryPolicyTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Disclosure of inventory accounting policy for inventory classes, including, but not limited to, basis for determining inventory amounts, methods by which amounts are added and removed from inventory classes, loss recognition on impairment of inventories, and situations in which inventories are stated above cost.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 330<br> -SubTopic 10<br> -Section 50<br> -Paragraph 4<br> -URI http://asc.fasb.org/extlink&amp;oid=116847112&amp;loc=d3e4556-108314<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -URI http://asc.fasb.org/extlink&amp;oid=84158767&amp;loc=d3e18780-107790<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -URI http://asc.fasb.org/extlink&amp;oid=6361739&amp;loc=d3e7789-107766<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 270<br> -SubTopic 10<br> -Section 45<br> -Paragraph 6<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=116846552&amp;loc=d3e543-108305<br><br>Reference 5: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 330<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -URI http://asc.fasb.org/extlink&amp;oid=116847112&amp;loc=d3e4492-108314<br><br>Reference 6: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.6(b))<br> -URI http://asc.fasb.org/extlink&amp;oid=6877327&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_InventoryPolicyTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>nonnum:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LesseeLeasesPolicyTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Disclosure of accounting policy for leasing arrangement entered into by lessee.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=77888426&amp;loc=SL77918666-209980<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LesseeLeasesPolicyTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>nonnum:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_NewAccountingPronouncementsPolicyPolicyTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Disclosure of accounting policy pertaining to new accounting pronouncements that may impact the entity's financial reporting. Includes, but is not limited to, quantification of the expected or actual impact.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_NewAccountingPronouncementsPolicyPolicyTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>nonnum:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PropertyPlantAndEquipmentPolicyTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Disclosure of accounting policy for long-lived, physical assets used in the normal conduct of business and not intended for resale. Includes, but is not limited to, basis of assets, depreciation and depletion methods used, including composite deprecation, estimated useful lives, capitalization policy, accounting treatment for costs incurred for repairs and maintenance, capitalized interest and the method it is calculated, disposals and impairments.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.13(a))<br> -URI http://asc.fasb.org/extlink&amp;oid=6877327&amp;loc=d3e13212-122682<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 360<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -URI http://asc.fasb.org/extlink&amp;oid=6391035&amp;loc=d3e2868-110229<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -URI http://asc.fasb.org/extlink&amp;oid=84158767&amp;loc=d3e18780-107790<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PropertyPlantAndEquipmentPolicyTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>nonnum:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ReceivablesTradeAndOtherAccountsReceivableAllowanceForDoubtfulAccountsPolicy">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Disclosure of accounting policy for determining the allowance for doubtful accounts for trade and other accounts receivable balances, and when impairments, charge-offs or recoveries are recognized.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -URI http://asc.fasb.org/extlink&amp;oid=84158767&amp;loc=d3e18780-107790<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(4))<br> -URI http://asc.fasb.org/extlink&amp;oid=6877327&amp;loc=d3e13212-122682<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 310<br> -SubTopic 10<br> -Section 50<br> -Paragraph 9<br> -URI http://asc.fasb.org/extlink&amp;oid=118936363&amp;loc=d3e5144-111524<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ReceivablesTradeAndOtherAccountsReceivableAllowanceForDoubtfulAccountsPolicy</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>nonnum:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ResearchDevelopmentAndComputerSoftwarePolicyTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Disclosure of accounting policy for its research and development and computer software activities including the accounting treatment for costs incurred for (1) research and development activities, (2) development of computer software for internal use, (3) computer software to be sold, leased or otherwise marketed as a separate product or as part of a product or process and (4) in-process research and development acquired in a purchase business combination.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -URI http://asc.fasb.org/extlink&amp;oid=84158767&amp;loc=d3e18780-107790<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 50<br> -Section 25<br> -Paragraph 4<br> -URI http://asc.fasb.org/extlink&amp;oid=16397303&amp;loc=d3e19347-109286<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 985<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1<br> -URI http://asc.fasb.org/extlink&amp;oid=6501960&amp;loc=d3e128462-111756<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 40<br> -Section 30<br> -Paragraph 1<br> -URI http://asc.fasb.org/extlink&amp;oid=118172244&amp;loc=d3e17916-109280<br><br>Reference 5: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.15)<br> -URI http://asc.fasb.org/extlink&amp;oid=6877327&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ResearchDevelopmentAndComputerSoftwarePolicyTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>nonnum:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_RevenueFromContractWithCustomerPolicyTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Disclosure of accounting policy for revenue from contract with customer.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (e)<br> -URI http://asc.fasb.org/extlink&amp;oid=84158767&amp;loc=d3e18823-107790<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 606<br> -URI http://asc.fasb.org/topic&amp;trid=49130388<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RevenueFromContractWithCustomerPolicyTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>nonnum:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationOptionAndIncentivePlansPolicy">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Disclosure of accounting policy for award under share-based payment arrangement. Includes, but is not limited to, methodology and assumption used in measuring cost.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -URI http://asc.fasb.org/extlink&amp;oid=84158767&amp;loc=d3e18780-107790<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (b),(f)<br> -URI http://asc.fasb.org/extlink&amp;oid=116856206&amp;loc=d3e5070-113901<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -URI http://asc.fasb.org/extlink&amp;oid=116856206&amp;loc=d3e5047-113901<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationOptionAndIncentivePlansPolicy</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>nonnum:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_UseOfEstimates">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Disclosure of accounting policy for the use of estimates in the preparation of financial statements in conformity with generally accepted accounting principles.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 275<br> -SubTopic 10<br> -Section 50<br> -Paragraph 12<br> -URI http://asc.fasb.org/extlink&amp;oid=99393423&amp;loc=d3e6191-108592<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 275<br> -SubTopic 10<br> -Section 50<br> -Paragraph 11<br> -URI http://asc.fasb.org/extlink&amp;oid=99393423&amp;loc=d3e6161-108592<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 275<br> -SubTopic 10<br> -Section 50<br> -Paragraph 9<br> -URI http://asc.fasb.org/extlink&amp;oid=99393423&amp;loc=d3e6143-108592<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 275<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=99393423&amp;loc=d3e5967-108592<br><br>Reference 5: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 275<br> -SubTopic 10<br> -Section 50<br> -Paragraph 4<br> -URI http://asc.fasb.org/extlink&amp;oid=99393423&amp;loc=d3e6061-108592<br><br>Reference 6: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 275<br> -SubTopic 10<br> -Section 50<br> -Paragraph 8<br> -URI http://asc.fasb.org/extlink&amp;oid=99393423&amp;loc=d3e6132-108592<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 275<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (c)<br> -URI http://asc.fasb.org/extlink&amp;oid=99393423&amp;loc=d3e5967-108592<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_UseOfEstimates</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>nonnum:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>103
<FILENAME>R100.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.20.1</span><table class="report" border="0" cellspacing="2" id="idp6921623648">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Note 21 - Supplemental Cash Flow Information - Cash Flow Changes in Operating Asset and Liabilities (Details) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th" colspan="3">12 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Jan. 31, 2020</div></th>
<th class="th"><div>Jan. 31, 2019</div></th>
<th class="th"><div>Jan. 31, 2018</div></th>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_IncreaseDecreaseInAccountsReceivable', window );">Trade accounts receivable</a></td>
<td class="nump">$ 3,733<span></span>
</td>
<td class="num">$ (135)<span></span>
</td>
<td class="num">$ (1,963)<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_IncreaseDecreaseInOtherReceivables', window );">Other accounts receivable</a></td>
<td class="num">(2,547)<span></span>
</td>
<td class="num">(451)<span></span>
</td>
<td class="nump">16<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets', window );">Prepaid expenses and other</a></td>
<td class="num">(5,942)<span></span>
</td>
<td class="num">(4,466)<span></span>
</td>
<td class="num">(1,772)<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_IncreaseDecreaseInInventories', window );">Inventory</a></td>
<td class="num">(345)<span></span>
</td>
<td class="nump">74<span></span>
</td>
<td class="nump">52<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_IncreaseDecreaseInAccountsPayable', window );">Accounts payable</a></td>
<td class="nump">1,768<span></span>
</td>
<td class="num">(1,065)<span></span>
</td>
<td class="nump">1,428<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_IncreaseDecreaseInAccruedLiabilities', window );">Accrued liabilities</a></td>
<td class="nump">3,265<span></span>
</td>
<td class="nump">2,570<span></span>
</td>
<td class="num">(592)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_IncreaseDecreaseInIncomeTaxes', window );">Income taxes payable</a></td>
<td class="num">(1,550)<span></span>
</td>
<td class="num">(2,423)<span></span>
</td>
<td class="nump">6,326<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_dsgx_IncreaseDecreaseInOperatingLeaseLiabilities', window );">Operating leases</a></td>
<td class="nump">546<span></span>
</td>
<td class="text"> <span></span>
</td>
<td class="text"> <span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_IncreaseDecreaseInDeferredRevenue', window );">Deferred revenue</a></td>
<td class="num">(4,184)<span></span>
</td>
<td class="nump">2,047<span></span>
</td>
<td class="nump">902<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_IncreaseDecreaseInOperatingCapital', window );">Changes in operating assets and liabilities (Note 21)</a></td>
<td class="num">$ (5,256)<span></span>
</td>
<td class="num">$ (3,849)<span></span>
</td>
<td class="nump">$ 4,397<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dsgx_IncreaseDecreaseInOperatingLeaseLiabilities">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The amount of increase (decrease) in operating lease liabilities.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dsgx_IncreaseDecreaseInOperatingLeaseLiabilities</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dsgx_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncreaseDecreaseInAccountsPayable">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The increase (decrease) during the reporting period in the aggregate amount of liabilities incurred (and for which invoices have typically been received) and payable to vendors for goods and services received that are used in an entity's business.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=118932676&amp;loc=d3e3602-108585<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncreaseDecreaseInAccountsPayable</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncreaseDecreaseInAccountsReceivable">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The increase (decrease) during the reporting period in amount due within one year (or one business cycle) from customers for the credit sale of goods and services.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=118932676&amp;loc=d3e3602-108585<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncreaseDecreaseInAccountsReceivable</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncreaseDecreaseInAccruedLiabilities">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The increase (decrease) during the reporting period in the aggregate amount of expenses incurred but not yet paid.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=118932676&amp;loc=d3e3602-108585<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncreaseDecreaseInAccruedLiabilities</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncreaseDecreaseInDeferredRevenue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of increase (decrease) in deferred income and obligation to transfer product and service to customer for which consideration has been received or is receivable.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=118932676&amp;loc=d3e3602-108585<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncreaseDecreaseInDeferredRevenue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncreaseDecreaseInIncomeTaxes">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The increase (decrease) during the reporting period in the amounts payable to taxing authorities for taxes that are based on the reporting entity's earnings, net of amounts receivable from taxing authorities for refunds of overpayments or recoveries of income taxes, and in deferred and other tax liabilities and assets.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=118932676&amp;loc=d3e3602-108585<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncreaseDecreaseInIncomeTaxes</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncreaseDecreaseInInventories">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The increase (decrease) during the reporting period in the aggregate value of all inventory held by the reporting entity, associated with underlying transactions that are classified as operating activities.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=118932676&amp;loc=d3e3602-108585<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncreaseDecreaseInInventories</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncreaseDecreaseInOperatingCapital">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The increase (decrease) during the reporting period of all assets and liabilities used in operating activities.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=118932676&amp;loc=d3e3602-108585<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncreaseDecreaseInOperatingCapital</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncreaseDecreaseInOtherReceivables">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of increase (decrease) in receivables classified as other.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=118932676&amp;loc=d3e3602-108585<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncreaseDecreaseInOtherReceivables</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of increase (decrease) in prepaid expenses, and assets classified as other.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=118932676&amp;loc=d3e3602-108585<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>104
<FILENAME>R53.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.20.1</span><table class="report" border="0" cellspacing="2" id="idp6939844880">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Note 3 - Acquisitions - Preliminary Purchase Price Allocation for Businesses Acquired (Details)<br> $ in Thousands, $ in Millions</strong></div></th>
<th class="th" colspan="1"></th>
<th class="th" colspan="1"></th>
<th class="th" colspan="1"></th>
<th class="th" colspan="1"></th>
<th class="th" colspan="2"></th>
<th class="th" colspan="1"></th>
<th class="th" colspan="1"></th>
<th class="th" colspan="1"></th>
<th class="th" colspan="1"></th>
<th class="th" colspan="1"></th>
<th class="th" colspan="3">12 Months Ended</th>
</tr>
<tr>
<th class="th">
<div>Aug. 20, 2019 </div>
<div>USD ($)</div>
</th>
<th class="th">
<div>Jun. 27, 2019 </div>
<div>USD ($)</div>
</th>
<th class="th">
<div>May 10, 2019 </div>
<div>USD ($)</div>
</th>
<th class="th">
<div>Feb. 12, 2019 </div>
<div>USD ($)</div>
</th>
<th class="th">
<div>Aug. 21, 2018 </div>
<div>USD ($)</div>
</th>
<th class="th">
<div>Aug. 21, 2018 </div>
<div>CAD ($)</div>
</th>
<th class="th">
<div>Jun. 22, 2018 </div>
<div>USD ($)</div>
</th>
<th class="th">
<div>Feb. 02, 2018 </div>
<div>USD ($)</div>
</th>
<th class="th">
<div>Aug. 14, 2017 </div>
<div>USD ($)</div>
</th>
<th class="th">
<div>Jun. 01, 2017 </div>
<div>USD ($)</div>
</th>
<th class="th">
<div>May 18, 2017 </div>
<div>USD ($)</div>
</th>
<th class="th">
<div>Jan. 31, 2020 </div>
<div>USD ($)</div>
</th>
<th class="th">
<div>Jan. 31, 2019 </div>
<div>USD ($)</div>
</th>
<th class="th">
<div>Jan. 31, 2018 </div>
<div>USD ($)</div>
</th>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_PaymentsToAcquireBusinessesNetOfCashAcquired', window );">Cash, net of cash acquired</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 292,053<span></span>
</td>
<td class="nump">$ 67,932<span></span>
</td>
<td class="nump">$ 111,867<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_Goodwill', window );">Goodwill</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">523,690<span></span>
</td>
<td class="nump">378,178<span></span>
</td>
<td class="nump">350,148<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_PaymentsToAcquireBusinessesNetOfCashAcquired', window );">Cash, net of cash acquired</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">292,053<span></span>
</td>
<td class="nump">67,932<span></span>
</td>
<td class="nump">111,867<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessAcquisitionAxis=dsgx_VisualComplianceMember', window );">Visual Compliance [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_PaymentsToAcquireBusinessesNetOfCashAcquired', window );">Cash, net of cash acquired</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 248,900<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">239,863<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessCombinationConsiderationTransferredEquityInterestsIssuedAndIssuable', window );">Common shares issued</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">9,045<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessCombinationConsiderationTransferredLiabilitiesIncurred', window );">Contingent consideration</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text"> <span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_dsgx_BusinessAcquisitionCostOfAcquiredEntityWorkingCapitalAdjustments', window );">Net working capital adjustments (receivable) / payable</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">1,147<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessCombinationConsiderationTransferred1', window );">Purchase price consideration</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">250,055<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssets', window );">Current assets, excluding cash acquired</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">6,403<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedPropertyPlantAndEquipment', window );">Property and equipment</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">30<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedDeferredTaxAssets', window );">Deferred income tax asset</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">30,924<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_dsgx_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedRightofuseAssets', window );">Right-of-use assets</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">1,188<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilities', window );">Current liabilities</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(840)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesDeferredRevenue', window );">Deferred revenue</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(10,267)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_dsgx_BusinessCombinationRecognizedIdentifiableAssetAcquiredAndLiabilityAssumedOperatingLeaseObligation', window );">Lease obligations</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">1,188<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedDeferredTaxLiabilities', window );">Deferred income tax liability</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(282)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_dsgx_BusinessCombinationRecognizedIdentifiableTangibleAssetsAcquiredAndLiabilitiesAssumedNet', window );">Net tangible assets (liabilities) assumed</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">25,968<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_Goodwill', window );">Goodwill</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">118,785<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_PaymentsToAcquireBusinessesNetOfCashAcquired', window );">Cash, net of cash acquired</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 248,900<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">239,863<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessAcquisitionAxis=dsgx_VisualComplianceMember', window );">Visual Compliance [Member] | Customer Relationships [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles', window );">Finite-lived intangible assets acquired</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">32,186<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessAcquisitionAxis=dsgx_VisualComplianceMember', window );">Visual Compliance [Member] | Existing Technology [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles', window );">Finite-lived intangible assets acquired</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">69,422<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessAcquisitionAxis=dsgx_VisualComplianceMember', window );">Visual Compliance [Member] | Trade Names [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles', window );">Finite-lived intangible assets acquired</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">528<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessAcquisitionAxis=dsgx_VisualComplianceMember', window );">Visual Compliance [Member] | Noncompete Agreements [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles', window );">Finite-lived intangible assets acquired</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">3,166<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessAcquisitionAxis=dsgx_CoreTransportTechnologiesNzLimitedMember', window );">Core Transport Technologies NZ Limited [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_PaymentsToAcquireBusinessesNetOfCashAcquired', window );">Cash, net of cash acquired</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 21,800<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">21,833<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessCombinationConsiderationTransferredEquityInterestsIssuedAndIssuable', window );">Common shares issued</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text"> <span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessCombinationConsiderationTransferredLiabilitiesIncurred', window );">Contingent consideration</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">1,450<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_dsgx_BusinessAcquisitionCostOfAcquiredEntityWorkingCapitalAdjustments', window );">Net working capital adjustments (receivable) / payable</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">62<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessCombinationConsiderationTransferred1', window );">Purchase price consideration</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">23,345<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssets', window );">Current assets, excluding cash acquired</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">689<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedPropertyPlantAndEquipment', window );">Property and equipment</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">2,048<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedDeferredTaxAssets', window );">Deferred income tax asset</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text"> <span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_dsgx_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedRightofuseAssets', window );">Right-of-use assets</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">68<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilities', window );">Current liabilities</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(352)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesDeferredRevenue', window );">Deferred revenue</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(278)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_dsgx_BusinessCombinationRecognizedIdentifiableAssetAcquiredAndLiabilityAssumedOperatingLeaseObligation', window );">Lease obligations</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">68<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedDeferredTaxLiabilities', window );">Deferred income tax liability</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(3,332)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_dsgx_BusinessCombinationRecognizedIdentifiableTangibleAssetsAcquiredAndLiabilitiesAssumedNet', window );">Net tangible assets (liabilities) assumed</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(1,225)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_Goodwill', window );">Goodwill</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">12,670<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_PaymentsToAcquireBusinessesNetOfCashAcquired', window );">Cash, net of cash acquired</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 21,800<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">21,833<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessAcquisitionAxis=dsgx_CoreTransportTechnologiesNzLimitedMember', window );">Core Transport Technologies NZ Limited [Member] | Customer Relationships [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles', window );">Finite-lived intangible assets acquired</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">4,600<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessAcquisitionAxis=dsgx_CoreTransportTechnologiesNzLimitedMember', window );">Core Transport Technologies NZ Limited [Member] | Existing Technology [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles', window );">Finite-lived intangible assets acquired</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">6,800<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessAcquisitionAxis=dsgx_CoreTransportTechnologiesNzLimitedMember', window );">Core Transport Technologies NZ Limited [Member] | Trade Names [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles', window );">Finite-lived intangible assets acquired</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">200<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessAcquisitionAxis=dsgx_CoreTransportTechnologiesNzLimitedMember', window );">Core Transport Technologies NZ Limited [Member] | Noncompete Agreements [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles', window );">Finite-lived intangible assets acquired</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">300<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessAcquisitionAxis=dsgx_StepcomMember', window );">STEPcom [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_PaymentsToAcquireBusinessesNetOfCashAcquired', window );">Cash, net of cash acquired</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 18,600<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">18,639<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessCombinationConsiderationTransferredEquityInterestsIssuedAndIssuable', window );">Common shares issued</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text"> <span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessCombinationConsiderationTransferredLiabilitiesIncurred', window );">Contingent consideration</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text"> <span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_dsgx_BusinessAcquisitionCostOfAcquiredEntityWorkingCapitalAdjustments', window );">Net working capital adjustments (receivable) / payable</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">250<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessCombinationConsiderationTransferred1', window );">Purchase price consideration</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">18,889<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssets', window );">Current assets, excluding cash acquired</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">1,470<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedPropertyPlantAndEquipment', window );">Property and equipment</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">257<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedDeferredTaxAssets', window );">Deferred income tax asset</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text"> <span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_dsgx_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedRightofuseAssets', window );">Right-of-use assets</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">232<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilities', window );">Current liabilities</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(874)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesDeferredRevenue', window );">Deferred revenue</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(813)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_dsgx_BusinessCombinationRecognizedIdentifiableAssetAcquiredAndLiabilityAssumedOperatingLeaseObligation', window );">Lease obligations</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">232<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedDeferredTaxLiabilities', window );">Deferred income tax liability</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(2,316)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_dsgx_BusinessCombinationRecognizedIdentifiableTangibleAssetsAcquiredAndLiabilitiesAssumedNet', window );">Net tangible assets (liabilities) assumed</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(2,276)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_Goodwill', window );">Goodwill</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">10,019<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_PaymentsToAcquireBusinessesNetOfCashAcquired', window );">Cash, net of cash acquired</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 18,600<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">18,639<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessAcquisitionAxis=dsgx_StepcomMember', window );">STEPcom [Member] | Customer Relationships [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles', window );">Finite-lived intangible assets acquired</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">10,839<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessAcquisitionAxis=dsgx_StepcomMember', window );">STEPcom [Member] | Existing Technology [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles', window );">Finite-lived intangible assets acquired</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text"> <span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessAcquisitionAxis=dsgx_StepcomMember', window );">STEPcom [Member] | Trade Names [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles', window );">Finite-lived intangible assets acquired</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">102<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessAcquisitionAxis=dsgx_StepcomMember', window );">STEPcom [Member] | Noncompete Agreements [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles', window );">Finite-lived intangible assets acquired</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">205<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessAcquisitionAxis=dsgx_BesttransportMember', window );">BestTransport [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_PaymentsToAcquireBusinessesNetOfCashAcquired', window );">Cash, net of cash acquired</a></td>
<td class="nump">$ 11,700<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">11,718<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessCombinationConsiderationTransferredEquityInterestsIssuedAndIssuable', window );">Common shares issued</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text"> <span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessCombinationConsiderationTransferredLiabilitiesIncurred', window );">Contingent consideration</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text"> <span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_dsgx_BusinessAcquisitionCostOfAcquiredEntityWorkingCapitalAdjustments', window );">Net working capital adjustments (receivable) / payable</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text"> <span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessCombinationConsiderationTransferred1', window );">Purchase price consideration</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">11,718<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssets', window );">Current assets, excluding cash acquired</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">815<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedPropertyPlantAndEquipment', window );">Property and equipment</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">35<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedDeferredTaxAssets', window );">Deferred income tax asset</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text"> <span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_dsgx_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedRightofuseAssets', window );">Right-of-use assets</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">194<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilities', window );">Current liabilities</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(284)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesDeferredRevenue', window );">Deferred revenue</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(9)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_dsgx_BusinessCombinationRecognizedIdentifiableAssetAcquiredAndLiabilityAssumedOperatingLeaseObligation', window );">Lease obligations</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">194<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedDeferredTaxLiabilities', window );">Deferred income tax liability</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(1,352)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_dsgx_BusinessCombinationRecognizedIdentifiableTangibleAssetsAcquiredAndLiabilitiesAssumedNet', window );">Net tangible assets (liabilities) assumed</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(795)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_Goodwill', window );">Goodwill</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">5,513<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_PaymentsToAcquireBusinessesNetOfCashAcquired', window );">Cash, net of cash acquired</a></td>
<td class="nump">$ 11,700<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">11,718<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessAcquisitionAxis=dsgx_BesttransportMember', window );">BestTransport [Member] | Customer Relationships [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles', window );">Finite-lived intangible assets acquired</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">3,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessAcquisitionAxis=dsgx_BesttransportMember', window );">BestTransport [Member] | Existing Technology [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles', window );">Finite-lived intangible assets acquired</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">3,800<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessAcquisitionAxis=dsgx_BesttransportMember', window );">BestTransport [Member] | Trade Names [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles', window );">Finite-lived intangible assets acquired</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">50<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessAcquisitionAxis=dsgx_BesttransportMember', window );">BestTransport [Member] | Noncompete Agreements [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles', window );">Finite-lived intangible assets acquired</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">150<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessAcquisitionAxis=dsgx_The2020AcquisitionsMember', window );">The 2020 Acquisitions [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_PaymentsToAcquireBusinessesNetOfCashAcquired', window );">Cash, net of cash acquired</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">292,053<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessCombinationConsiderationTransferredEquityInterestsIssuedAndIssuable', window );">Common shares issued</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">9,045<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessCombinationConsiderationTransferredLiabilitiesIncurred', window );">Contingent consideration</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">1,450<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_dsgx_BusinessAcquisitionCostOfAcquiredEntityWorkingCapitalAdjustments', window );">Net working capital adjustments (receivable) / payable</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">1,459<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessCombinationConsiderationTransferred1', window );">Purchase price consideration</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">304,007<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssets', window );">Current assets, excluding cash acquired</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">9,377<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedPropertyPlantAndEquipment', window );">Property and equipment</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">2,370<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedDeferredTaxAssets', window );">Deferred income tax asset</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">30,924<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_dsgx_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedRightofuseAssets', window );">Right-of-use assets</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">1,682<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilities', window );">Current liabilities</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(2,350)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesDeferredRevenue', window );">Deferred revenue</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(11,367)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_dsgx_BusinessCombinationRecognizedIdentifiableAssetAcquiredAndLiabilityAssumedOperatingLeaseObligation', window );">Lease obligations</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">1,682<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedDeferredTaxLiabilities', window );">Deferred income tax liability</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(7,282)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_dsgx_BusinessCombinationRecognizedIdentifiableTangibleAssetsAcquiredAndLiabilitiesAssumedNet', window );">Net tangible assets (liabilities) assumed</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">21,672<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_Goodwill', window );">Goodwill</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">146,987<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_PaymentsToAcquireBusinessesNetOfCashAcquired', window );">Cash, net of cash acquired</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">292,053<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessAcquisitionAxis=dsgx_The2020AcquisitionsMember', window );">The 2020 Acquisitions [Member] | Customer Relationships [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles', window );">Finite-lived intangible assets acquired</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">50,625<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessAcquisitionAxis=dsgx_The2020AcquisitionsMember', window );">The 2020 Acquisitions [Member] | Existing Technology [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles', window );">Finite-lived intangible assets acquired</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">80,022<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessAcquisitionAxis=dsgx_The2020AcquisitionsMember', window );">The 2020 Acquisitions [Member] | Trade Names [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles', window );">Finite-lived intangible assets acquired</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">880<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessAcquisitionAxis=dsgx_The2020AcquisitionsMember', window );">The 2020 Acquisitions [Member] | Noncompete Agreements [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles', window );">Finite-lived intangible assets acquired</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 3,821<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessAcquisitionAxis=dsgx_AljexSoftwareIncMember', window );">Aljex Software, Inc. [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_PaymentsToAcquireBusinessesNetOfCashAcquired', window );">Cash, net of cash acquired</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 32,400<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">32,382<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessCombinationConsiderationTransferredEquityInterestsIssuedAndIssuable', window );">Common shares issued</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text"> <span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessCombinationConsiderationTransferredLiabilitiesIncurred', window );">Contingent consideration</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text"> <span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_dsgx_BusinessAcquisitionCostOfAcquiredEntityWorkingCapitalAdjustments', window );">Net working capital adjustments (receivable) / payable</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(152)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessCombinationConsiderationTransferred1', window );">Purchase price consideration</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">32,230<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssets', window );">Current assets, excluding cash acquired</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">607<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilities', window );">Current liabilities</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(266)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesDeferredRevenue', window );">Deferred revenue</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(1,024)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedDeferredTaxLiabilities', window );">Deferred income tax liability</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(4,200)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_dsgx_BusinessCombinationRecognizedIdentifiableTangibleAssetsAcquiredAndLiabilitiesAssumedNet', window );">Net tangible assets (liabilities) assumed</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(4,883)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_Goodwill', window );">Goodwill</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">18,903<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_PaymentsToAcquireBusinessesNetOfCashAcquired', window );">Cash, net of cash acquired</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 32,400<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">32,382<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOtherNoncurrentAssets', window );">Other long-term assets</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text"> <span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessAcquisitionAxis=dsgx_AljexSoftwareIncMember', window );">Aljex Software, Inc. [Member] | Customer Relationships [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles', window );">Finite-lived intangible assets acquired</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">5,300<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessAcquisitionAxis=dsgx_AljexSoftwareIncMember', window );">Aljex Software, Inc. [Member] | Existing Technology [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles', window );">Finite-lived intangible assets acquired</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">12,400<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessAcquisitionAxis=dsgx_AljexSoftwareIncMember', window );">Aljex Software, Inc. [Member] | Trade Names [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles', window );">Finite-lived intangible assets acquired</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">280<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessAcquisitionAxis=dsgx_AljexSoftwareIncMember', window );">Aljex Software, Inc. [Member] | Noncompete Agreements [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles', window );">Finite-lived intangible assets acquired</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">230<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessAcquisitionAxis=dsgx_VelocityMailMember', window );">Velocity Mail [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_PaymentsToAcquireBusinessesNetOfCashAcquired', window );">Cash, net of cash acquired</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 26,100<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">26,107<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessCombinationConsiderationTransferredEquityInterestsIssuedAndIssuable', window );">Common shares issued</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text"> <span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessCombinationConsiderationTransferredLiabilitiesIncurred', window );">Contingent consideration</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text"> <span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_dsgx_BusinessAcquisitionCostOfAcquiredEntityWorkingCapitalAdjustments', window );">Net working capital adjustments (receivable) / payable</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(102)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessCombinationConsiderationTransferred1', window );">Purchase price consideration</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">26,005<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssets', window );">Current assets, excluding cash acquired</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">1,407<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilities', window );">Current liabilities</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(81)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesDeferredRevenue', window );">Deferred revenue</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(70)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedDeferredTaxLiabilities', window );">Deferred income tax liability</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text"> <span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_dsgx_BusinessCombinationRecognizedIdentifiableTangibleAssetsAcquiredAndLiabilitiesAssumedNet', window );">Net tangible assets (liabilities) assumed</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">1,757<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_Goodwill', window );">Goodwill</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">8,448<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_PaymentsToAcquireBusinessesNetOfCashAcquired', window );">Cash, net of cash acquired</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 26,100<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">26,107<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOtherNoncurrentAssets', window );">Other long-term assets</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">501<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessAcquisitionAxis=dsgx_VelocityMailMember', window );">Velocity Mail [Member] | Customer Relationships [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles', window );">Finite-lived intangible assets acquired</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">7,800<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessAcquisitionAxis=dsgx_VelocityMailMember', window );">Velocity Mail [Member] | Existing Technology [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles', window );">Finite-lived intangible assets acquired</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">7,600<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessAcquisitionAxis=dsgx_VelocityMailMember', window );">Velocity Mail [Member] | Trade Names [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles', window );">Finite-lived intangible assets acquired</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">100<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessAcquisitionAxis=dsgx_VelocityMailMember', window );">Velocity Mail [Member] | Noncompete Agreements [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles', window );">Finite-lived intangible assets acquired</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">300<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessAcquisitionAxis=dsgx_PinPointMember', window );">PinPoint [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_PaymentsToAcquireBusinessesNetOfCashAcquired', window );">Cash, net of cash acquired</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">9,443<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessCombinationConsiderationTransferredEquityInterestsIssuedAndIssuable', window );">Common shares issued</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">1,536<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessCombinationConsiderationTransferredLiabilitiesIncurred', window );">Contingent consideration</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">714<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_dsgx_BusinessAcquisitionCostOfAcquiredEntityWorkingCapitalAdjustments', window );">Net working capital adjustments (receivable) / payable</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">36<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessCombinationConsiderationTransferred1', window );">Purchase price consideration</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 11,000<span></span>
</td>
<td class="nump">$ 14.4<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">11,729<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssets', window );">Current assets, excluding cash acquired</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">599<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilities', window );">Current liabilities</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(559)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesDeferredRevenue', window );">Deferred revenue</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(574)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedDeferredTaxLiabilities', window );">Deferred income tax liability</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(2,077)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_dsgx_BusinessCombinationRecognizedIdentifiableTangibleAssetsAcquiredAndLiabilitiesAssumedNet', window );">Net tangible assets (liabilities) assumed</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(2,611)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_Goodwill', window );">Goodwill</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">6,306<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_PaymentsToAcquireBusinessesNetOfCashAcquired', window );">Cash, net of cash acquired</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">9,443<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOtherNoncurrentAssets', window );">Other long-term assets</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text"> <span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessAcquisitionAxis=dsgx_PinPointMember', window );">PinPoint [Member] | Customer Relationships [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles', window );">Finite-lived intangible assets acquired</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">7,758<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessAcquisitionAxis=dsgx_PinPointMember', window );">PinPoint [Member] | Existing Technology [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles', window );">Finite-lived intangible assets acquired</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text"> <span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessAcquisitionAxis=dsgx_PinPointMember', window );">PinPoint [Member] | Trade Names [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles', window );">Finite-lived intangible assets acquired</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">207<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessAcquisitionAxis=dsgx_PinPointMember', window );">PinPoint [Member] | Noncompete Agreements [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles', window );">Finite-lived intangible assets acquired</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">69<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessAcquisitionAxis=dsgx_The2019AcquisitionsMember', window );">The 2019 Acquisitions [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_PaymentsToAcquireBusinessesNetOfCashAcquired', window );">Cash, net of cash acquired</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">67,932<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessCombinationConsiderationTransferredEquityInterestsIssuedAndIssuable', window );">Common shares issued</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">1,536<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessCombinationConsiderationTransferredLiabilitiesIncurred', window );">Contingent consideration</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">714<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_dsgx_BusinessAcquisitionCostOfAcquiredEntityWorkingCapitalAdjustments', window );">Net working capital adjustments (receivable) / payable</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(218)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessCombinationConsiderationTransferred1', window );">Purchase price consideration</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">69,964<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssets', window );">Current assets, excluding cash acquired</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">2,613<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilities', window );">Current liabilities</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(906)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesDeferredRevenue', window );">Deferred revenue</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(1,668)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedDeferredTaxLiabilities', window );">Deferred income tax liability</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(6,277)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_dsgx_BusinessCombinationRecognizedIdentifiableTangibleAssetsAcquiredAndLiabilitiesAssumedNet', window );">Net tangible assets (liabilities) assumed</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(5,737)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_Goodwill', window );">Goodwill</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">33,657<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_PaymentsToAcquireBusinessesNetOfCashAcquired', window );">Cash, net of cash acquired</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">67,932<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOtherNoncurrentAssets', window );">Other long-term assets</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">501<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessAcquisitionAxis=dsgx_The2019AcquisitionsMember', window );">The 2019 Acquisitions [Member] | Customer Relationships [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles', window );">Finite-lived intangible assets acquired</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">20,858<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessAcquisitionAxis=dsgx_The2019AcquisitionsMember', window );">The 2019 Acquisitions [Member] | Existing Technology [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles', window );">Finite-lived intangible assets acquired</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">20,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessAcquisitionAxis=dsgx_The2019AcquisitionsMember', window );">The 2019 Acquisitions [Member] | Trade Names [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles', window );">Finite-lived intangible assets acquired</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">587<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessAcquisitionAxis=dsgx_The2019AcquisitionsMember', window );">The 2019 Acquisitions [Member] | Noncompete Agreements [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles', window );">Finite-lived intangible assets acquired</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 599<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessAcquisitionAxis=dsgx_ShipRushMember', window );">ShipRush [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_PaymentsToAcquireBusinessesNetOfCashAcquired', window );">Cash, net of cash acquired</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 14,200<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">14,198<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessCombinationConsiderationTransferredEquityInterestsIssuedAndIssuable', window );">Common shares issued</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text"> <span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessCombinationConsiderationTransferredLiabilitiesIncurred', window );">Contingent consideration</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">1,233<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_dsgx_BusinessAcquisitionCostOfAcquiredEntityWorkingCapitalAdjustments', window );">Net working capital adjustments (receivable) / payable</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">88<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessCombinationConsiderationTransferred1', window );">Purchase price consideration</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">15,519<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssets', window );">Current assets, excluding cash acquired</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">461<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilities', window );">Current liabilities</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(266)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesDeferredRevenue', window );">Deferred revenue</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(609)<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_dsgx_BusinessCombinationRecognizedIdentifiableTangibleAssetsAcquiredAndLiabilitiesAssumedNet', window );">Net tangible assets (liabilities) assumed</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(414)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_Goodwill', window );">Goodwill</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">8,603<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_PaymentsToAcquireBusinessesNetOfCashAcquired', window );">Cash, net of cash acquired</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 14,200<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">14,198<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessAcquisitionAxis=dsgx_ShipRushMember', window );">ShipRush [Member] | Customer Relationships [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles', window );">Finite-lived intangible assets acquired</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">2,400<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessAcquisitionAxis=dsgx_ShipRushMember', window );">ShipRush [Member] | Existing Technology [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles', window );">Finite-lived intangible assets acquired</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">4,710<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessAcquisitionAxis=dsgx_ShipRushMember', window );">ShipRush [Member] | In Process Research and Development [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles', window );">Finite-lived intangible assets acquired</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text"> <span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessAcquisitionAxis=dsgx_ShipRushMember', window );">ShipRush [Member] | Trade Names [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles', window );">Finite-lived intangible assets acquired</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">120<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessAcquisitionAxis=dsgx_ShipRushMember', window );">ShipRush [Member] | Noncompete Agreements [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles', window );">Finite-lived intangible assets acquired</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">100<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessAcquisitionAxis=dsgx_PCSTracIncMember', window );">PCSTrac, Inc. [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_PaymentsToAcquireBusinessesNetOfCashAcquired', window );">Cash, net of cash acquired</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 11,500<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">11,492<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessCombinationConsiderationTransferredEquityInterestsIssuedAndIssuable', window );">Common shares issued</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text"> <span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessCombinationConsiderationTransferredLiabilitiesIncurred', window );">Contingent consideration</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text"> <span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_dsgx_BusinessAcquisitionCostOfAcquiredEntityWorkingCapitalAdjustments', window );">Net working capital adjustments (receivable) / payable</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">40<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessCombinationConsiderationTransferred1', window );">Purchase price consideration</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">11,532<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssets', window );">Current assets, excluding cash acquired</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">467<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilities', window );">Current liabilities</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(10)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesDeferredRevenue', window );">Deferred revenue</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text"> <span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_dsgx_BusinessCombinationRecognizedIdentifiableTangibleAssetsAcquiredAndLiabilitiesAssumedNet', window );">Net tangible assets (liabilities) assumed</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">457<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_Goodwill', window );">Goodwill</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">5,815<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_PaymentsToAcquireBusinessesNetOfCashAcquired', window );">Cash, net of cash acquired</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 11,500<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">11,492<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessAcquisitionAxis=dsgx_PCSTracIncMember', window );">PCSTrac, Inc. [Member] | Customer Relationships [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles', window );">Finite-lived intangible assets acquired</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">1,850<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessAcquisitionAxis=dsgx_PCSTracIncMember', window );">PCSTrac, Inc. [Member] | Existing Technology [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles', window );">Finite-lived intangible assets acquired</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">3,270<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessAcquisitionAxis=dsgx_PCSTracIncMember', window );">PCSTrac, Inc. [Member] | In Process Research and Development [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles', window );">Finite-lived intangible assets acquired</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text"> <span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessAcquisitionAxis=dsgx_PCSTracIncMember', window );">PCSTrac, Inc. [Member] | Trade Names [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles', window );">Finite-lived intangible assets acquired</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">60<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessAcquisitionAxis=dsgx_PCSTracIncMember', window );">PCSTrac, Inc. [Member] | Noncompete Agreements [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles', window );">Finite-lived intangible assets acquired</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">80<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessAcquisitionAxis=dsgx_MacroPointLLCMember', window );">MacroPoint LLC [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_PaymentsToAcquireBusinessesNetOfCashAcquired', window );">Cash, net of cash acquired</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">86,177<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessCombinationConsiderationTransferredEquityInterestsIssuedAndIssuable', window );">Common shares issued</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 20,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">20,000<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessCombinationConsiderationTransferredLiabilitiesIncurred', window );">Contingent consideration</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">80,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_dsgx_BusinessAcquisitionCostOfAcquiredEntityWorkingCapitalAdjustments', window );">Net working capital adjustments (receivable) / payable</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">163<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessCombinationConsiderationTransferred1', window );">Purchase price consideration</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 106,200<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">106,340<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssets', window );">Current assets, excluding cash acquired</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">2,127<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilities', window );">Current liabilities</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(1,693)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesDeferredRevenue', window );">Deferred revenue</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(5,787)<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_dsgx_BusinessCombinationRecognizedIdentifiableTangibleAssetsAcquiredAndLiabilitiesAssumedNet', window );">Net tangible assets (liabilities) assumed</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(5,353)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_Goodwill', window );">Goodwill</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">65,213<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_PaymentsToAcquireBusinessesNetOfCashAcquired', window );">Cash, net of cash acquired</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">86,177<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessAcquisitionAxis=dsgx_MacroPointLLCMember', window );">MacroPoint LLC [Member] | Customer Relationships [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles', window );">Finite-lived intangible assets acquired</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">26,030<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessAcquisitionAxis=dsgx_MacroPointLLCMember', window );">MacroPoint LLC [Member] | Existing Technology [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles', window );">Finite-lived intangible assets acquired</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">17,170<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessAcquisitionAxis=dsgx_MacroPointLLCMember', window );">MacroPoint LLC [Member] | In Process Research and Development [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles', window );">Finite-lived intangible assets acquired</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">290<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessAcquisitionAxis=dsgx_MacroPointLLCMember', window );">MacroPoint LLC [Member] | Trade Names [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles', window );">Finite-lived intangible assets acquired</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">570<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessAcquisitionAxis=dsgx_MacroPointLLCMember', window );">MacroPoint LLC [Member] | Noncompete Agreements [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles', window );">Finite-lived intangible assets acquired</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">2,420<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessAcquisitionAxis=dsgx_The2018AcquisitionsMember', window );">The 2018 Acquisitions [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_PaymentsToAcquireBusinessesNetOfCashAcquired', window );">Cash, net of cash acquired</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">111,867<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessCombinationConsiderationTransferredEquityInterestsIssuedAndIssuable', window );">Common shares issued</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">20,000<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessCombinationConsiderationTransferredLiabilitiesIncurred', window );">Contingent consideration</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">1,233<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_dsgx_BusinessAcquisitionCostOfAcquiredEntityWorkingCapitalAdjustments', window );">Net working capital adjustments (receivable) / payable</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">291<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessCombinationConsiderationTransferred1', window );">Purchase price consideration</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">133,391<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssets', window );">Current assets, excluding cash acquired</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">3,055<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilities', window );">Current liabilities</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(1,969)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesDeferredRevenue', window );">Deferred revenue</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(6,396)<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_dsgx_BusinessCombinationRecognizedIdentifiableTangibleAssetsAcquiredAndLiabilitiesAssumedNet', window );">Net tangible assets (liabilities) assumed</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(5,310)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_Goodwill', window );">Goodwill</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">79,631<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_PaymentsToAcquireBusinessesNetOfCashAcquired', window );">Cash, net of cash acquired</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">111,867<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessAcquisitionAxis=dsgx_The2018AcquisitionsMember', window );">The 2018 Acquisitions [Member] | Customer Relationships [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles', window );">Finite-lived intangible assets acquired</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">30,280<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessAcquisitionAxis=dsgx_The2018AcquisitionsMember', window );">The 2018 Acquisitions [Member] | Existing Technology [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles', window );">Finite-lived intangible assets acquired</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">25,150<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessAcquisitionAxis=dsgx_The2018AcquisitionsMember', window );">The 2018 Acquisitions [Member] | In Process Research and Development [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles', window );">Finite-lived intangible assets acquired</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">290<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessAcquisitionAxis=dsgx_The2018AcquisitionsMember', window );">The 2018 Acquisitions [Member] | Trade Names [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles', window );">Finite-lived intangible assets acquired</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">750<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessAcquisitionAxis=dsgx_The2018AcquisitionsMember', window );">The 2018 Acquisitions [Member] | Noncompete Agreements [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles', window );">Finite-lived intangible assets acquired</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 2,600<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dsgx_BusinessAcquisitionCostOfAcquiredEntityWorkingCapitalAdjustments">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Business acquisition cost of acquired entity working capital adjustments.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dsgx_BusinessAcquisitionCostOfAcquiredEntityWorkingCapitalAdjustments</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dsgx_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dsgx_BusinessCombinationRecognizedIdentifiableAssetAcquiredAndLiabilityAssumedOperatingLeaseObligation">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of operating lease obligation assumed in business combination.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dsgx_BusinessCombinationRecognizedIdentifiableAssetAcquiredAndLiabilityAssumedOperatingLeaseObligation</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dsgx_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dsgx_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedRightofuseAssets">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of right-of-use assets acquired at the acquisition date.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dsgx_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedRightofuseAssets</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dsgx_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dsgx_BusinessCombinationRecognizedIdentifiableTangibleAssetsAcquiredAndLiabilitiesAssumedNet">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount recognized as of the acquisition date for the identifiable tangible assets acquired in excess of (less than) the aggregate liabilities assumed.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dsgx_BusinessCombinationRecognizedIdentifiableTangibleAssetsAcquiredAndLiabilitiesAssumedNet</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dsgx_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_BusinessCombinationConsiderationTransferred1">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of consideration transferred, consisting of acquisition-date fair value of assets transferred by the acquirer, liabilities incurred by the acquirer, and equity interest issued by the acquirer.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 805<br> -SubTopic 30<br> -Section 30<br> -Paragraph 8<br> -URI http://asc.fasb.org/extlink&amp;oid=116859721&amp;loc=d3e6613-128477<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 805<br> -SubTopic 30<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=35744584&amp;loc=d3e6927-128479<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 805<br> -SubTopic 30<br> -Section 30<br> -Paragraph 7<br> -URI http://asc.fasb.org/extlink&amp;oid=116859721&amp;loc=d3e6578-128477<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_BusinessCombinationConsiderationTransferred1</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_BusinessCombinationConsiderationTransferredEquityInterestsIssuedAndIssuable">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of equity interests of the acquirer, including instruments or interests issued or issuable in consideration for the business combination.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 805<br> -SubTopic 30<br> -Section 30<br> -Paragraph 8<br> -URI http://asc.fasb.org/extlink&amp;oid=116859721&amp;loc=d3e6613-128477<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 805<br> -SubTopic 30<br> -Section 30<br> -Paragraph 7<br> -URI http://asc.fasb.org/extlink&amp;oid=116859721&amp;loc=d3e6578-128477<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_BusinessCombinationConsiderationTransferredEquityInterestsIssuedAndIssuable</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_BusinessCombinationConsiderationTransferredLiabilitiesIncurred">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of liabilities incurred by the acquirer as part of consideration transferred in a business combination.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 805<br> -SubTopic 30<br> -Section 30<br> -Paragraph 7<br> -URI http://asc.fasb.org/extlink&amp;oid=116859721&amp;loc=d3e6578-128477<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 805<br> -SubTopic 30<br> -Section 25<br> -Paragraph 5<br> -URI http://asc.fasb.org/extlink&amp;oid=6911189&amp;loc=d3e6405-128476<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 805<br> -SubTopic 30<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (b)(3)<br> -URI http://asc.fasb.org/extlink&amp;oid=35744584&amp;loc=d3e6927-128479<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 805<br> -SubTopic 30<br> -Section 30<br> -Paragraph 8<br> -URI http://asc.fasb.org/extlink&amp;oid=116859721&amp;loc=d3e6613-128477<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_BusinessCombinationConsiderationTransferredLiabilitiesIncurred</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssets">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of assets that are expected to be realized or consumed within one year or the normal operating cycle, if longer, acquired at the acquisition date.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 805<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (c)<br> -URI http://asc.fasb.org/extlink&amp;oid=116869197&amp;loc=d3e4845-128472<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssets</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilities">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of liabilities due within one year or within the normal operating cycle, if longer, assumed at the acquisition date.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 805<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (c)<br> -URI http://asc.fasb.org/extlink&amp;oid=116869197&amp;loc=d3e4845-128472<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilities</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesDeferredRevenue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of deferred revenue expected to be recognized as such within one year or the normal operating cycle, if longer, assumed at the acquisition date.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 805<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (c)<br> -URI http://asc.fasb.org/extlink&amp;oid=116869197&amp;loc=d3e4845-128472<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesDeferredRevenue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedDeferredTaxAssets">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of deferred tax asset attributable to deductible temporary differences and carryforwards acquired at the acquisition date.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 805<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (c)<br> -URI http://asc.fasb.org/extlink&amp;oid=116869197&amp;loc=d3e4845-128472<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 45<br> -Paragraph 4<br> -URI http://asc.fasb.org/extlink&amp;oid=116821951&amp;loc=d3e31917-109318<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedDeferredTaxAssets</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedDeferredTaxLiabilities">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of deferred tax liability attributable to taxable temporary differences assumed at the acquisition date.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 45<br> -Paragraph 4<br> -URI http://asc.fasb.org/extlink&amp;oid=116821951&amp;loc=d3e31917-109318<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 805<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (c)<br> -URI http://asc.fasb.org/extlink&amp;oid=116869197&amp;loc=d3e4845-128472<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedDeferredTaxLiabilities</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The amount of identifiable intangible assets recognized as of the acquisition date.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 805<br> -SubTopic 10<br> -Section 55<br> -Paragraph 37<br> -URI http://asc.fasb.org/extlink&amp;oid=116868840&amp;loc=d3e2207-128464<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 805<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (c)<br> -URI http://asc.fasb.org/extlink&amp;oid=116869197&amp;loc=d3e4845-128472<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOtherNoncurrentAssets">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of other assets expected to be realized or consumed after one year or the normal operating cycle, if longer, acquired at the acquisition date.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 805<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (c)<br> -URI http://asc.fasb.org/extlink&amp;oid=116869197&amp;loc=d3e4845-128472<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOtherNoncurrentAssets</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedPropertyPlantAndEquipment">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The amount of property, plant, and equipment recognized as of the acquisition date.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 805<br> -SubTopic 10<br> -Section 55<br> -Paragraph 37<br> -URI http://asc.fasb.org/extlink&amp;oid=116868840&amp;loc=d3e2207-128464<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 805<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (c)<br> -URI http://asc.fasb.org/extlink&amp;oid=116869197&amp;loc=d3e4845-128472<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedPropertyPlantAndEquipment</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_Goodwill">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount after accumulated impairment loss of an asset representing future economic benefits arising from other assets acquired in a business combination that are not individually identified and separately recognized.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 20<br> -Section 45<br> -Paragraph 5<br> -URI http://asc.fasb.org/extlink&amp;oid=77989000&amp;loc=SL49117168-202975<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 20<br> -Section 45<br> -Paragraph 1<br> -URI http://asc.fasb.org/extlink&amp;oid=99380562&amp;loc=d3e13770-109266<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_Goodwill</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PaymentsToAcquireBusinessesNetOfCashAcquired">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The cash outflow associated with the acquisition of a business, net of the cash acquired from the purchase.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 13<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=118932676&amp;loc=d3e3213-108585<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PaymentsToAcquireBusinessesNetOfCashAcquired</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_BusinessAcquisitionAxis=dsgx_VisualComplianceMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_BusinessAcquisitionAxis=dsgx_VisualComplianceMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis=us-gaap_CustomerRelationshipsMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis=us-gaap_CustomerRelationshipsMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis=dsgx_ExistingTechnologyMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis=dsgx_ExistingTechnologyMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis=us-gaap_TradeNamesMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis=us-gaap_TradeNamesMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis=us-gaap_NoncompeteAgreementsMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis=us-gaap_NoncompeteAgreementsMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_BusinessAcquisitionAxis=dsgx_CoreTransportTechnologiesNzLimitedMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_BusinessAcquisitionAxis=dsgx_CoreTransportTechnologiesNzLimitedMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_BusinessAcquisitionAxis=dsgx_StepcomMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_BusinessAcquisitionAxis=dsgx_StepcomMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_BusinessAcquisitionAxis=dsgx_BesttransportMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_BusinessAcquisitionAxis=dsgx_BesttransportMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_BusinessAcquisitionAxis=dsgx_The2020AcquisitionsMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_BusinessAcquisitionAxis=dsgx_The2020AcquisitionsMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_BusinessAcquisitionAxis=dsgx_AljexSoftwareIncMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_BusinessAcquisitionAxis=dsgx_AljexSoftwareIncMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_BusinessAcquisitionAxis=dsgx_VelocityMailMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_BusinessAcquisitionAxis=dsgx_VelocityMailMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_BusinessAcquisitionAxis=dsgx_PinPointMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_BusinessAcquisitionAxis=dsgx_PinPointMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_BusinessAcquisitionAxis=dsgx_The2019AcquisitionsMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_BusinessAcquisitionAxis=dsgx_The2019AcquisitionsMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_BusinessAcquisitionAxis=dsgx_ShipRushMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_BusinessAcquisitionAxis=dsgx_ShipRushMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis=us-gaap_InProcessResearchAndDevelopmentMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis=us-gaap_InProcessResearchAndDevelopmentMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_BusinessAcquisitionAxis=dsgx_PCSTracIncMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_BusinessAcquisitionAxis=dsgx_PCSTracIncMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_BusinessAcquisitionAxis=dsgx_MacroPointLLCMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_BusinessAcquisitionAxis=dsgx_MacroPointLLCMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_BusinessAcquisitionAxis=dsgx_The2018AcquisitionsMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_BusinessAcquisitionAxis=dsgx_The2018AcquisitionsMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>105
<FILENAME>R57.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.20.1</span><table class="report" border="0" cellspacing="2" id="idp6909626736">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Note 4 - Fair Value Measurements (Details Textual) - USD ($)<br> $ / shares in Units, $ in Millions</strong></div></th>
<th class="th" colspan="3">12 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Jan. 31, 2020</div></th>
<th class="th"><div>Jan. 31, 2019</div></th>
<th class="th"><div>Jan. 31, 2018</div></th>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_dsgx_DerivativeInstrumentSharesOfCommonStockHeld', window );">Derivative Instrument, Shares of Common Stock Held</a></td>
<td class="nump">251,422<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_dsgx_DerivativeInstrumentCommonSharesHeldPerShare', window );">Derivative Instrument, Common Shares Held, Per Share</a></td>
<td class="nump">$ 22.37<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_IncomeStatementLocationAxis=us-gaap_GeneralAndAdministrativeExpenseMember', window );">General and Administrative Expense [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DerivativeGainOnDerivative', window );">Derivative, Gain on Derivative</a></td>
<td class="nump">$ 4.0<span></span>
</td>
<td class="nump">$ 1.2<span></span>
</td>
<td class="nump">$ 1.1<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dsgx_DerivativeInstrumentCommonSharesHeldPerShare">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The per share amount of common shares held by certain derivative instruments entered into by the company.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dsgx_DerivativeInstrumentCommonSharesHeldPerShare</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dsgx_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>num:perShareItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dsgx_DerivativeInstrumentSharesOfCommonStockHeld">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The number of shares held by certain derivative instruments entered into by the company.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dsgx_DerivativeInstrumentSharesOfCommonStockHeld</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dsgx_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DerivativeGainOnDerivative">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of increase in the fair value of derivatives recognized in the income statement.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 815<br> -SubTopic 10<br> -Section 50<br> -Paragraph 4A<br> -Subparagraph (b)(1)<br> -URI http://asc.fasb.org/extlink&amp;oid=109980867&amp;loc=SL5618551-113959<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DerivativeGainOnDerivative</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncomeStatementLocationAxis=us-gaap_GeneralAndAdministrativeExpenseMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncomeStatementLocationAxis=us-gaap_GeneralAndAdministrativeExpenseMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>106
<FILENAME>R104.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.20.1</span><table class="report" border="0" cellspacing="2" id="idp6900904352">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>Note 22 - Segmented Information - Long-lived Assets by Geographical Location (Details) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th"><div>Jan. 31, 2020</div></th>
<th class="th"><div>Jan. 31, 2019</div></th>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_NoncurrentAssets', window );">Geograhical long-lived assets</a></td>
<td class="nump">$ 270,687<span></span>
</td>
<td class="nump">$ 188,804<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_srt_StatementGeographicalAxis=country_US', window );">UNITED STATES</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_NoncurrentAssets', window );">Geograhical long-lived assets</a></td>
<td class="nump">114,980<span></span>
</td>
<td class="nump">119,958<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_srt_StatementGeographicalAxis=us-gaap_EMEAMember', window );">EMEA [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_NoncurrentAssets', window );">Geograhical long-lived assets</a></td>
<td class="nump">31,299<span></span>
</td>
<td class="nump">28,433<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_srt_StatementGeographicalAxis=country_CA', window );">CANADA</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_NoncurrentAssets', window );">Geograhical long-lived assets</a></td>
<td class="nump">111,264<span></span>
</td>
<td class="nump">40,413<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_srt_StatementGeographicalAxis=srt_AsiaPacificMember', window );">Asia Pacific [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_NoncurrentAssets', window );">Geograhical long-lived assets</a></td>
<td class="nump">$ 13,144<span></span>
</td>
<td class="text"> <span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_NoncurrentAssets">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Long-lived assets other than financial instruments, long-term customer relationships of a financial institution, mortgage and other servicing rights, deferred policy acquisition costs, and deferred tax assets.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 41<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=115929826&amp;loc=d3e9038-108599<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_NoncurrentAssets</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_StatementGeographicalAxis=country_US">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_StatementGeographicalAxis=country_US</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_StatementGeographicalAxis=us-gaap_EMEAMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_StatementGeographicalAxis=us-gaap_EMEAMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_StatementGeographicalAxis=country_CA">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_StatementGeographicalAxis=country_CA</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_StatementGeographicalAxis=srt_AsiaPacificMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_StatementGeographicalAxis=srt_AsiaPacificMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>107
<FILENAME>R84.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.20.1</span><table class="report" border="0" cellspacing="2" id="idp6899601712">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Note 17 - Stock-based Compensation Plans - Options Outstanding and Options Exercisable (Details)<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th">
<div>Jan. 31, 2020 </div>
<div>$ / shares </div>
<div>shares</div>
</th></tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingOptionsWeightedAverageExercisePriceBeginningBalance1', window );">Weighted Average Exercise Price, Options Outstanding (in dollars per share)</a></td>
<td class="nump">$ 26.82<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeNumberOfOutstandingOptions', window );">Number of Stock Options, Options Outstanding (in shares) | shares</a></td>
<td class="nump">1,127,822<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingOptionsWeightedAverageRemainingContractualTerm2', window );">Weighted Average Remaining Contractual Life, Options Outstanding (Year)</a></td>
<td class="text">4 years 219 days<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeExercisableOptionsWeightedAverageExercisePrice1', window );">Weighted Average Exercise Price, Options Exercisable (in dollars per share)</a></td>
<td class="nump">$ 22.88<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeNumberOfExercisableOptions', window );">Number of Stock Options, Options Exercisable (in shares) | shares</a></td>
<td class="nump">718,169<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeAxis=dsgx_Range1Member', window );">Range 1 [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeLowerRangeLimit', window );">Range of Exercise Prices, Lower Limit (in dollars per share)</a></td>
<td class="nump">$ 11.43<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeUpperRangeLimit', window );">Range of Exercise Prices, Upper Limit (in dollars per share)</a></td>
<td class="nump">11.59<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingOptionsWeightedAverageExercisePriceBeginningBalance1', window );">Weighted Average Exercise Price, Options Outstanding (in dollars per share)</a></td>
<td class="nump">$ 11.57<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeNumberOfOutstandingOptions', window );">Number of Stock Options, Options Outstanding (in shares) | shares</a></td>
<td class="nump">126,500<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingOptionsWeightedAverageRemainingContractualTerm2', window );">Weighted Average Remaining Contractual Life, Options Outstanding (Year)</a></td>
<td class="text">1 year 146 days<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeExercisableOptionsWeightedAverageExercisePrice1', window );">Weighted Average Exercise Price, Options Exercisable (in dollars per share)</a></td>
<td class="nump">$ 11.57<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeNumberOfExercisableOptions', window );">Number of Stock Options, Options Exercisable (in shares) | shares</a></td>
<td class="nump">126,500<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeAxis=dsgx_Range2Member', window );">Range 2 [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeLowerRangeLimit', window );">Range of Exercise Prices, Lower Limit (in dollars per share)</a></td>
<td class="nump">$ 18.71<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeUpperRangeLimit', window );">Range of Exercise Prices, Upper Limit (in dollars per share)</a></td>
<td class="nump">22.57<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingOptionsWeightedAverageExercisePriceBeginningBalance1', window );">Weighted Average Exercise Price, Options Outstanding (in dollars per share)</a></td>
<td class="nump">$ 21.17<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeNumberOfOutstandingOptions', window );">Number of Stock Options, Options Outstanding (in shares) | shares</a></td>
<td class="nump">397,014<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingOptionsWeightedAverageRemainingContractualTerm2', window );">Weighted Average Remaining Contractual Life, Options Outstanding (Year)</a></td>
<td class="text">3 years 292 days<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeExercisableOptionsWeightedAverageExercisePrice1', window );">Weighted Average Exercise Price, Options Exercisable (in dollars per share)</a></td>
<td class="nump">$ 21.08<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeNumberOfExercisableOptions', window );">Number of Stock Options, Options Exercisable (in shares) | shares</a></td>
<td class="nump">357,014<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeAxis=dsgx_Range3Member', window );">Range 3 [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeLowerRangeLimit', window );">Range of Exercise Prices, Lower Limit (in dollars per share)</a></td>
<td class="nump">$ 25.91<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeUpperRangeLimit', window );">Range of Exercise Prices, Upper Limit (in dollars per share)</a></td>
<td class="nump">27.50<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingOptionsWeightedAverageExercisePriceBeginningBalance1', window );">Weighted Average Exercise Price, Options Outstanding (in dollars per share)</a></td>
<td class="nump">$ 27.49<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeNumberOfOutstandingOptions', window );">Number of Stock Options, Options Outstanding (in shares) | shares</a></td>
<td class="nump">247,935<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingOptionsWeightedAverageRemainingContractualTerm2', window );">Weighted Average Remaining Contractual Life, Options Outstanding (Year)</a></td>
<td class="text">5 years 73 days<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeExercisableOptionsWeightedAverageExercisePrice1', window );">Weighted Average Exercise Price, Options Exercisable (in dollars per share)</a></td>
<td class="nump">$ 27.49<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeNumberOfExercisableOptions', window );">Number of Stock Options, Options Exercisable (in shares) | shares</a></td>
<td class="nump">140,461<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeAxis=dsgx_Range4Member', window );">Range 4 [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeLowerRangeLimit', window );">Range of Exercise Prices, Lower Limit (in dollars per share)</a></td>
<td class="nump">$ 38.04<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeUpperRangeLimit', window );">Range of Exercise Prices, Upper Limit (in dollars per share)</a></td>
<td class="nump">39.70<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingOptionsWeightedAverageExercisePriceBeginningBalance1', window );">Weighted Average Exercise Price, Options Outstanding (in dollars per share)</a></td>
<td class="nump">$ 38.07<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeNumberOfOutstandingOptions', window );">Number of Stock Options, Options Outstanding (in shares) | shares</a></td>
<td class="nump">356,373<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingOptionsWeightedAverageRemainingContractualTerm2', window );">Weighted Average Remaining Contractual Life, Options Outstanding (Year)</a></td>
<td class="text">6 years 73 days<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeExercisableOptionsWeightedAverageExercisePrice1', window );">Weighted Average Exercise Price, Options Exercisable (in dollars per share)</a></td>
<td class="nump">$ 38.06<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeNumberOfExercisableOptions', window );">Number of Stock Options, Options Exercisable (in shares) | shares</a></td>
<td class="nump">94,194<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeLowerRangeLimit">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The floor of a customized range of exercise prices for purposes of disclosing shares potentially issuable under outstanding stock option awards on all stock option plans and other required information pertaining to awards in the customized range.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (g)<br> -URI http://asc.fasb.org/extlink&amp;oid=116856206&amp;loc=d3e5070-113901<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeLowerRangeLimit</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>num:perShareItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeNumberOfExercisableOptions">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The number of shares reserved for issuance pertaining to the outstanding exercisable stock options as of the balance sheet date in the customized range of exercise prices for which the market and performance vesting condition has been satisfied.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(iii)<br> -URI http://asc.fasb.org/extlink&amp;oid=116856206&amp;loc=d3e5070-113901<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeNumberOfExercisableOptions</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeNumberOfOutstandingOptions">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The number of shares reserved for issuance pertaining to the outstanding stock options as of the balance sheet date for all option plans in the customized range of exercise prices.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(i)-(ii)<br> -URI http://asc.fasb.org/extlink&amp;oid=116856206&amp;loc=d3e5070-113901<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeNumberOfOutstandingOptions</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeUpperRangeLimit">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The ceiling of a customized range of exercise prices for purposes of disclosing shares potentially issuable under outstanding stock option awards on all stock option plans and other required information pertaining to awards in the customized range.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (g)<br> -URI http://asc.fasb.org/extlink&amp;oid=116856206&amp;loc=d3e5070-113901<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeUpperRangeLimit</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>num:perShareItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeExercisableOptionsWeightedAverageExercisePrice1">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Weighted average exercise price as of the balance sheet date for those equity-based payment arrangements exercisable and outstanding.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(iii)<br> -URI http://asc.fasb.org/extlink&amp;oid=116856206&amp;loc=d3e5070-113901<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeExercisableOptionsWeightedAverageExercisePrice1</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>num:perShareItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingOptionsWeightedAverageExercisePriceBeginningBalance1">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The weighted average price as of the balance sheet date at which grantees could acquire the underlying shares with respect to all outstanding stock options which are in the customized range of exercise prices.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(i)-(ii)<br> -URI http://asc.fasb.org/extlink&amp;oid=116856206&amp;loc=d3e5070-113901<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingOptionsWeightedAverageExercisePriceBeginningBalance1</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>num:perShareItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingOptionsWeightedAverageRemainingContractualTerm2">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Weighted average remaining contractual term of outstanding stock options, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents the reported fact of one year, five months, and thirteen days.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (e)(1)<br> -URI http://asc.fasb.org/extlink&amp;oid=116856206&amp;loc=d3e5070-113901<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingOptionsWeightedAverageRemainingContractualTerm2</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:durationItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeAxis=dsgx_Range1Member">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeAxis=dsgx_Range1Member</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeAxis=dsgx_Range2Member">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeAxis=dsgx_Range2Member</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeAxis=dsgx_Range3Member">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeAxis=dsgx_Range3Member</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeAxis=dsgx_Range4Member">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeAxis=dsgx_Range4Member</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>108
<FILENAME>R74.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.20.1</span><table class="report" border="0" cellspacing="2" id="idp6943946880">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>Note 13 - Leases - Lease Obligations (Details)<br> $ in Thousands</strong></div></th>
<th class="th">
<div>Jan. 31, 2019 </div>
<div>USD ($)</div>
</th>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ContractualObligationDueInNextTwelveMonths', window );">2020</a></td>
<td class="nump">$ 4,678<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ContractualObligationDueInSecondYear', window );">2021</a></td>
<td class="nump">3,048<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ContractualObligationDueInThirdYear', window );">2022</a></td>
<td class="nump">1,979<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ContractualObligationDueInFourthYear', window );">2023</a></td>
<td class="nump">1,470<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ContractualObligationDueInFifthYear', window );">2024</a></td>
<td class="nump">1,038<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_dsgx_ContractualObligationDueInSixthYear', window );">2025</a></td>
<td class="nump">737<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_dsgx_ContractualObligationDueInSeventhYear', window );">2026</a></td>
<td class="nump">733<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_dsgx_ContractualObligationDueInEigthYear', window );">2027</a></td>
<td class="nump">271<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ContractualObligation', window );"></a></td>
<td class="nump">13,954<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_LeaseArrangementTypeAxis=dsgx_OperatingLeasesMember', window );">Operating Leases [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ContractualObligationDueInNextTwelveMonths', window );">2020</a></td>
<td class="nump">4,627<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ContractualObligationDueInSecondYear', window );">2021</a></td>
<td class="nump">3,046<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ContractualObligationDueInThirdYear', window );">2022</a></td>
<td class="nump">1,979<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ContractualObligationDueInFourthYear', window );">2023</a></td>
<td class="nump">1,470<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ContractualObligationDueInFifthYear', window );">2024</a></td>
<td class="nump">1,038<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_dsgx_ContractualObligationDueInSixthYear', window );">2025</a></td>
<td class="nump">737<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_dsgx_ContractualObligationDueInSeventhYear', window );">2026</a></td>
<td class="nump">733<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_dsgx_ContractualObligationDueInEigthYear', window );">2027</a></td>
<td class="nump">271<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ContractualObligation', window );"></a></td>
<td class="nump">13,901<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_LeaseArrangementTypeAxis=dsgx_CapitalLeasesMember', window );">Capital Leases [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ContractualObligationDueInNextTwelveMonths', window );">2020</a></td>
<td class="nump">51<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ContractualObligationDueInSecondYear', window );">2021</a></td>
<td class="nump">2<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ContractualObligation', window );"></a></td>
<td class="nump">$ 53<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dsgx_ContractualObligationDueInEigthYear">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of contractual obligation due in the eighth fiscal year following the latest fiscal year. Excludes interim and annual periods when interim periods are reported on a rolling approach, from latest balance sheet date.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dsgx_ContractualObligationDueInEigthYear</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dsgx_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dsgx_ContractualObligationDueInSeventhYear">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of contractual obligation due in the seventh fiscal year following the latest fiscal year. Excludes interim and annual periods when interim periods are reported on a rolling approach, from latest balance sheet date.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dsgx_ContractualObligationDueInSeventhYear</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dsgx_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dsgx_ContractualObligationDueInSixthYear">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of contractual obligation due in the sixth fiscal year following the latest fiscal year. Excludes interim and annual periods when interim periods are reported on a rolling approach, from latest balance sheet date.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dsgx_ContractualObligationDueInSixthYear</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dsgx_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ContractualObligation">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of contractual obligation, including but not limited to, long-term debt, capital lease obligations, operating lease obligations, purchase obligations, and other commitments.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ContractualObligation</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ContractualObligationDueInFifthYear">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of contractual obligation due in the fifth fiscal year following the latest fiscal year. Excludes interim and annual periods when interim periods are reported on a rolling approach, from latest balance sheet date.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ContractualObligationDueInFifthYear</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ContractualObligationDueInFourthYear">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of contractual obligation due in the fourth fiscal year following the latest fiscal year. Excludes interim and annual periods when interim periods are reported on a rolling approach, from latest balance sheet date.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ContractualObligationDueInFourthYear</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ContractualObligationDueInNextTwelveMonths">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of contractual obligation due in the next fiscal year following the latest fiscal year. Excludes interim and annual periods when interim periods are reported on a rolling approach, from latest balance sheet date.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ContractualObligationDueInNextTwelveMonths</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ContractualObligationDueInSecondYear">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of contractual obligation due in the second fiscal year following the latest fiscal year. Excludes interim and annual periods when interim periods are reported on a rolling approach, from latest balance sheet date.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ContractualObligationDueInSecondYear</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ContractualObligationDueInThirdYear">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of contractual obligation due in the third fiscal year following the latest fiscal year. Excludes interim and annual periods when interim periods are reported on a rolling approach, from latest balance sheet date.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ContractualObligationDueInThirdYear</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LeaseArrangementTypeAxis=dsgx_OperatingLeasesMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LeaseArrangementTypeAxis=dsgx_OperatingLeasesMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LeaseArrangementTypeAxis=dsgx_CapitalLeasesMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LeaseArrangementTypeAxis=dsgx_CapitalLeasesMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>109
<FILENAME>R70.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.20.1</span><table class="report" border="0" cellspacing="2" id="idp6810856400">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>Note 12 - Debt - Schedule of Long-term Debt (Details) - Senior Secured Credit Facility [Member] - Revolving Operating Credit Facility [Member] - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th"><div>Jan. 31, 2020</div></th>
<th class="th"><div>Jan. 31, 2019</div></th>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_LineOfCredit', window );">Credit facility</a></td>
<td class="text"> <span></span>
</td>
<td class="nump">$ 25,464<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_LineOfCreditFacilityRemainingBorrowingCapacity', window );">Available for use</a></td>
<td class="nump">$ 350,000<span></span>
</td>
<td class="nump">$ 324,536<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LineOfCredit">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The carrying value as of the balance sheet date of the current and noncurrent portions of long-term obligations drawn from a line of credit, which is a bank's commitment to make loans up to a specific amount. Examples of items that might be included in the application of this element may consist of letters of credit, standby letters of credit, and revolving credit arrangements, under which borrowings can be made up to a maximum amount as of any point in time conditional on satisfaction of specified terms before, as of and after the date of drawdowns on the line. Includes short-term obligations that would normally be classified as current liabilities but for which (a) postbalance sheet date issuance of a long term obligation to refinance the short term obligation on a long term basis, or (b) the enterprise has entered into a financing agreement that clearly permits the enterprise to refinance the short-term obligation on a long term basis and the following conditions are met (1) the agreement does not expire within 1 year and is not cancelable by the lender except for violation of an objectively determinable provision, (2) no violation exists at the BS date, and (3) the lender has entered into the financing agreement is expected to be financially capable of honoring the agreement.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(22))<br> -URI http://asc.fasb.org/extlink&amp;oid=6877327&amp;loc=d3e13212-122682<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 210<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-03(16))<br> -URI http://asc.fasb.org/extlink&amp;oid=6876686&amp;loc=d3e534808-122878<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 210<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(16))<br> -URI http://asc.fasb.org/extlink&amp;oid=119400593&amp;loc=d3e572229-122910<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LineOfCredit</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LineOfCreditFacilityRemainingBorrowingCapacity">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of borrowing capacity currently available under the credit facility (current borrowing capacity less the amount of borrowings outstanding).</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.19(b),22(b))<br> -URI http://asc.fasb.org/extlink&amp;oid=6877327&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LineOfCreditFacilityRemainingBorrowingCapacity</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DebtInstrumentAxis=dsgx_SeniorSecuredCreditFacilityMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DebtInstrumentAxis=dsgx_SeniorSecuredCreditFacilityMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CreditFacilityAxis=dsgx_RevolvingOperatingCreditFacilityMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CreditFacilityAxis=dsgx_RevolvingOperatingCreditFacilityMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>110
<FILENAME>R80.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.20.1</span><table class="report" border="0" cellspacing="2" id="idp6898120336">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Note 17 - Stock-based Compensation Plans (Details Textual) - USD ($)<br> $ / shares in Units, $ in Thousands</strong></div></th>
<th class="th" colspan="3">12 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Jan. 31, 2020</div></th>
<th class="th"><div>Jan. 31, 2019</div></th>
<th class="th"><div>Jan. 31, 2018</div></th>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsShareBasedCompensationCost', window );">Deferred Tax Assets, Tax Deferred Expense, Compensation and Benefits, Share-based Compensation Cost</a></td>
<td class="nump">$ 700<span></span>
</td>
<td class="nump">$ 600<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_EmployeeServiceShareBasedCompensationTaxBenefitFromExerciseOfStockOptions', window );">Share-based Payment Arrangement, Exercise of Option, Tax Benefit</a></td>
<td class="nump">$ 100<span></span>
</td>
<td class="nump">$ 200<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber', window );">Share-based Compensation Arrangement by Share-based Payment Award, Options, Outstanding, Number, Ending Balance</a></td>
<td class="nump">1,127,822<span></span>
</td>
<td class="nump">879,338<span></span>
</td>
<td class="nump">657,209<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross', window );">Share-based Compensation Arrangement by Share-based Payment Award, Options, Grants in Period, Gross</a></td>
<td class="nump">367,173<span></span>
</td>
<td class="nump">272,144<span></span>
</td>
<td class="nump">274,500<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue', window );">Share-based Compensation Arrangement by Share-based Payment Award, Options, Grants in Period, Weighted Average Grant Date Fair Value</a></td>
<td class="nump">$ 8.99<span></span>
</td>
<td class="nump">$ 7.10<span></span>
</td>
<td class="nump">$ 5.26<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue', window );">Share-based Compensation Arrangement by Share-based Payment Award, Options, Exercises in Period, Intrinsic Value</a></td>
<td class="nump">$ 2,000<span></span>
</td>
<td class="nump">$ 800<span></span>
</td>
<td class="nump">$ 2,500<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AwardTypeAxis=us-gaap_EmployeeStockOptionMember', window );">Share-based Payment Arrangement, Option [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized', window );">Share-based Payment Arrangement, Nonvested Award, Cost Not yet Recognized, Amount, Total</a></td>
<td class="nump">$ 3,500<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1', window );">Share-based Payment Arrangement, Nonvested Award, Cost Not yet Recognized, Period for Recognition</a></td>
<td class="text">2 years 292 days<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedInPeriodFairValue1', window );">Share-based Compensation Arrangement by Share-based Payment Award, Options, Vested in Period, Fair Value</a></td>
<td class="nump">$ 1,900<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AwardTypeAxis=us-gaap_PerformanceSharesMember', window );">Performance Shares [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized', window );">Share-based Payment Arrangement, Nonvested Award, Cost Not yet Recognized, Amount, Total</a></td>
<td class="nump">$ 2,700<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1', window );">Share-based Payment Arrangement, Nonvested Award, Cost Not yet Recognized, Period for Recognition</a></td>
<td class="text">1 year 182 days<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodTotalFairValue', window );">Share-based Compensation Arrangement by Share-based Payment Award, Equity Instruments Other than Options, Vested in Period, Fair Value</a></td>
<td class="nump">$ 2,600<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AwardTypeAxis=us-gaap_RestrictedStockUnitsRSUMember', window );">Restricted Stock Units (RSUs) [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized', window );">Share-based Payment Arrangement, Nonvested Award, Cost Not yet Recognized, Amount, Total</a></td>
<td class="nump">$ 1,300<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1', window );">Share-based Payment Arrangement, Nonvested Award, Cost Not yet Recognized, Period for Recognition</a></td>
<td class="text">1 year 255 days<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodTotalFairValue', window );">Share-based Compensation Arrangement by Share-based Payment Award, Equity Instruments Other than Options, Vested in Period, Fair Value</a></td>
<td class="nump">$ 1,100<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_PlanNameAxis=dsgx_OptionsGrantedOutsideOfShareholderApprovedStockOptionPlanMember', window );">Option Granted Outside of Shareholder-approved Stock Option Plan [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber', window );">Share-based Compensation Arrangement by Share-based Payment Award, Options, Outstanding, Number, Ending Balance</a></td>
<td class="nump">1,021,322<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_PlanNameAxis=dsgx_OptionsGrantedOutsideOfShareholderApprovedStockOptionPlanMember', window );">Option Granted Outside of Shareholder-approved Stock Option Plan [Member] | Share-based Payment Arrangement, Option [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant', window );">Share-based Compensation Arrangement by Share-based Payment Award, Number of Shares Available for Grant</a></td>
<td class="nump">3,661,684<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_PlanNameAxis=dsgx_OutsideOfShareholderapprovedStockOptionPlanMember', window );">Outside of Shareholder-approved Stock Option Plan [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber', window );">Share-based Compensation Arrangement by Share-based Payment Award, Options, Outstanding, Number, Ending Balance</a></td>
<td class="nump">106,500<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_PlanNameAxis=dsgx_DeferredShareUnitPlanMember', window );">Deferred Share Unit Plan [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized', window );">Share-based Payment Arrangement, Nonvested Award, Cost Not yet Recognized, Amount, Total</a></td>
<td class="nump">$ 0<span></span>
</td>
<td class="nump">$ 0<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_dsgx_DeferredShareUnitsOutstandingNumber', window );">Deferred Share Units Outstanding Number</a></td>
<td class="nump">251,422<span></span>
</td>
<td class="nump">277,390<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DeferredCompensationSharebasedArrangementsLiabilityCurrentAndNoncurrent', window );">Deferred Compensation Share-based Arrangements, Liability, Current and Noncurrent</a></td>
<td class="nump">$ 11,300<span></span>
</td>
<td class="nump">$ 8,600<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_dsgx_DeferredShareUnitsGrantsInPeriod', window );">Deferred Share Units Grants In Period</a></td>
<td class="nump">25,373<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_dsgx_DeferredShareUnitsRedeemedAndSettledInCash', window );">Deferred Share Units Redeemed and Settled in Cash</a></td>
<td class="nump">51,341<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_dsgx_DeferredShareUnitsCompensationExpense', window );">Deferred Share Units Compensation Expense</a></td>
<td class="nump">$ 5,000<span></span>
</td>
<td class="nump">2,200<span></span>
</td>
<td class="nump">2,300<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_PlanNameAxis=dsgx_CashsettledRestrictedShareUnitMember', window );">Cash-Settled Restricted Share Unit [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized', window );">Share-based Payment Arrangement, Nonvested Award, Cost Not yet Recognized, Amount, Total</a></td>
<td class="nump">1,100<span></span>
</td>
<td class="nump">800<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DeferredCompensationSharebasedArrangementsLiabilityCurrentAndNoncurrent', window );">Deferred Compensation Share-based Arrangements, Liability, Current and Noncurrent</a></td>
<td class="nump">800<span></span>
</td>
<td class="nump">600<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_dsgx_CashSettledRestrictedShareUnitsCompensationExpense', window );">Cash Settled Restricted Share Units Compensation Expense</a></td>
<td class="nump">$ 900<span></span>
</td>
<td class="nump">$ 800<span></span>
</td>
<td class="nump">$ 1,000<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dsgx_CashSettledRestrictedShareUnitsCompensationExpense">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The cash settled restricted share units compensation expense.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dsgx_CashSettledRestrictedShareUnitsCompensationExpense</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dsgx_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dsgx_DeferredShareUnitsCompensationExpense">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The deferred share units compensation expense.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dsgx_DeferredShareUnitsCompensationExpense</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dsgx_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dsgx_DeferredShareUnitsGrantsInPeriod">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The number of deferred share units granted in period.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dsgx_DeferredShareUnitsGrantsInPeriod</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dsgx_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dsgx_DeferredShareUnitsOutstandingNumber">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Number of outstanding deferred share units as of the reported date.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dsgx_DeferredShareUnitsOutstandingNumber</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dsgx_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dsgx_DeferredShareUnitsRedeemedAndSettledInCash">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Represents the number of deferred share units redeemed and settled in cash.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dsgx_DeferredShareUnitsRedeemedAndSettledInCash</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dsgx_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DeferredCompensationSharebasedArrangementsLiabilityCurrentAndNoncurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Aggregate carrying value as of the balance sheet date of the liabilities for stock option plans and other equity-based compensation arrangements.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DeferredCompensationSharebasedArrangementsLiabilityCurrentAndNoncurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsShareBasedCompensationCost">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount before allocation of valuation allowances of deferred tax asset attributable to deductible temporary differences from share-based compensation.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 25<br> -Paragraph 20<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=117330534&amp;loc=d3e28680-109314<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 8<br> -URI http://asc.fasb.org/extlink&amp;oid=84230637&amp;loc=d3e32632-109319<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 6<br> -URI http://asc.fasb.org/extlink&amp;oid=84230637&amp;loc=d3e32621-109319<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsShareBasedCompensationCost</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of cost not yet recognized for nonvested award under share-based payment arrangement.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (i)<br> -URI http://asc.fasb.org/extlink&amp;oid=116856206&amp;loc=d3e5070-113901<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Weighted-average period over which cost not yet recognized is expected to be recognized for award under share-based payment arrangement, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents reported fact of one year, five months, and thirteen days.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (i)<br> -URI http://asc.fasb.org/extlink&amp;oid=116856206&amp;loc=d3e5070-113901<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:durationItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_EmployeeServiceShareBasedCompensationTaxBenefitFromExerciseOfStockOptions">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of tax benefit from exercise of option under share-based payment arrangement.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2A<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=116856206&amp;loc=SL79508275-113901<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EmployeeServiceShareBasedCompensationTaxBenefitFromExerciseOfStockOptions</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodTotalFairValue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Fair value of share-based awards for which the grantee gained the right by satisfying service and performance requirements, to receive or retain shares or units, other instruments, or cash.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (d)(2)<br> -URI http://asc.fasb.org/extlink&amp;oid=116856206&amp;loc=d3e5070-113901<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodTotalFairValue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The difference between the maximum number of shares (or other type of equity) authorized for issuance under the plan (including the effects of amendments and adjustments), and the sum of: 1) the number of shares (or other type of equity) already issued upon exercise of options or other equity-based awards under the plan; and 2) shares (or other type of equity) reserved for issuance on granting of outstanding awards, net of cancellations and forfeitures, if applicable.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -URI http://asc.fasb.org/extlink&amp;oid=116856206&amp;loc=d3e5070-113901<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of accumulated difference between fair value of underlying shares on dates of exercise and exercise price on options exercised (or share units converted) into shares.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (d)(2)<br> -URI http://asc.fasb.org/extlink&amp;oid=116856206&amp;loc=d3e5070-113901<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Gross number of share options (or share units) granted during the period.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The weighted average grant-date fair value of options granted during the reporting period as calculated by applying the disclosed option pricing methodology.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (d)(1)<br> -URI http://asc.fasb.org/extlink&amp;oid=116856206&amp;loc=d3e5070-113901<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>num:perShareItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Number of options outstanding, including both vested and non-vested options.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -URI http://asc.fasb.org/extlink&amp;oid=116856206&amp;loc=d3e5070-113901<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(i)-(ii)<br> -URI http://asc.fasb.org/extlink&amp;oid=116856206&amp;loc=d3e5070-113901<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedInPeriodFairValue1">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Fair value of options vested. Excludes equity instruments other than options, for example, but not limited to, share units, stock appreciation rights, restricted stock.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)<br> -URI http://asc.fasb.org/extlink&amp;oid=116856206&amp;loc=d3e5070-113901<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedInPeriodFairValue1</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AwardTypeAxis=us-gaap_EmployeeStockOptionMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AwardTypeAxis=us-gaap_EmployeeStockOptionMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AwardTypeAxis=us-gaap_PerformanceSharesMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AwardTypeAxis=us-gaap_PerformanceSharesMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AwardTypeAxis=us-gaap_RestrictedStockUnitsRSUMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AwardTypeAxis=us-gaap_RestrictedStockUnitsRSUMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PlanNameAxis=dsgx_OptionsGrantedOutsideOfShareholderApprovedStockOptionPlanMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PlanNameAxis=dsgx_OptionsGrantedOutsideOfShareholderApprovedStockOptionPlanMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PlanNameAxis=dsgx_OutsideOfShareholderapprovedStockOptionPlanMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PlanNameAxis=dsgx_OutsideOfShareholderapprovedStockOptionPlanMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PlanNameAxis=dsgx_DeferredShareUnitPlanMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PlanNameAxis=dsgx_DeferredShareUnitPlanMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PlanNameAxis=dsgx_CashsettledRestrictedShareUnitMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PlanNameAxis=dsgx_CashsettledRestrictedShareUnitMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>111
<FILENAME>R78.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.20.1</span><table class="report" border="0" cellspacing="2" id="idp6892360880">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Note 16 - Earnings Per Share (Details Textual) - shares<br></strong></div></th>
<th class="th" colspan="3">12 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Jan. 31, 2020</div></th>
<th class="th"><div>Jan. 31, 2019</div></th>
<th class="th"><div>Jan. 31, 2018</div></th>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis=dsgx_StockOptionsTreasuryStockMethodMember', window );">Stock Options, Treasury Stock Method [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount', window );">Antidilutive Securities Excluded from Computation of Earnings Per Share, Amount</a></td>
<td class="nump">5,909<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="nump">2,475<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AwardTypeAxis=us-gaap_EmployeeStockOptionMember', window );">Share-based Payment Arrangement, Option [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount', window );">Antidilutive Securities Excluded from Computation of Earnings Per Share, Amount</a></td>
<td class="nump">350,464<span></span>
</td>
<td class="nump">271,869<span></span>
</td>
<td class="nump">270,525<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Securities (including those issuable pursuant to contingent stock agreements) that could potentially dilute basic earnings per share (EPS) or earnings per unit (EPU) in the future that were not included in the computation of diluted EPS or EPU because to do so would increase EPS or EPU amounts or decrease loss per share or unit amounts for the period presented.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (c)<br> -URI http://asc.fasb.org/extlink&amp;oid=6371337&amp;loc=d3e3550-109257<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis=dsgx_StockOptionsTreasuryStockMethodMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis=dsgx_StockOptionsTreasuryStockMethodMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AwardTypeAxis=us-gaap_EmployeeStockOptionMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AwardTypeAxis=us-gaap_EmployeeStockOptionMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>112
<FILENAME>R88.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.20.1</span><table class="report" border="0" cellspacing="2" id="idp6892265264">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Note 17 - Stock-based Compensation Plans - Summary of CRSU Plan Activity (Details) - shares<br></strong></div></th>
<th class="th" colspan="3">12 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Jan. 31, 2020</div></th>
<th class="th"><div>Jan. 31, 2019</div></th>
<th class="th"><div>Jan. 31, 2018</div></th>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_dsgx_CRSUAwardsOutstandingNumber', window );">Number of Units Outstanding, CRSU (in shares)</a></td>
<td class="nump">45,063<span></span>
</td>
<td class="nump">58,171<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_dsgx_CRSUAwardsWeightedAverageContractualLife', window );">Weighted-Average Remaining Contractual Life, CRSU (Year)</a></td>
<td class="text">1 year 219 days<span></span>
</td>
<td class="text">1 year 219 days<span></span>
</td>
<td class="text">1 year 182 days<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_dsgx_CRSUAwardsGrantsInPeriod', window );">Number of Units Granted, CRSU (in shares)</a></td>
<td class="nump">30,086<span></span>
</td>
<td class="nump">32,261<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_dsgx_CRSUAwardsVestedAndSettledInCash', window );">Number of Units Vested and settled in cash, CRSU (in shares)</a></td>
<td class="num">(32,422)<span></span>
</td>
<td class="num">(45,369)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_dsgx_CRSUAwardsOutstandingNumber', window );">Number of Units Outstanding, CRSU (in shares)</a></td>
<td class="nump">42,727<span></span>
</td>
<td class="nump">45,063<span></span>
</td>
<td class="nump">58,171<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_dsgx_CRSUAwardNonvestedNumber', window );">Non-vested, CRSU (in shares)</a></td>
<td class="nump">42,727<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_dsgx_CRSUAwardNonvestedWeightedAverageContractualLife', window );">Non-vested, Weighted-Average Remaining Contractual Life, CRSU (Year)</a></td>
<td class="text">1 year 219 days<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dsgx_CRSUAwardNonvestedNumber">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The number of nonvested CRSU awards.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dsgx_CRSUAwardNonvestedNumber</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dsgx_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dsgx_CRSUAwardNonvestedWeightedAverageContractualLife">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The weighted average remaining contractual life of nonvested CRSU awards.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dsgx_CRSUAwardNonvestedWeightedAverageContractualLife</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dsgx_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:durationItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dsgx_CRSUAwardsGrantsInPeriod">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The number of CRSU grants in period.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dsgx_CRSUAwardsGrantsInPeriod</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dsgx_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dsgx_CRSUAwardsOutstandingNumber">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The number of CRSU awards outstanding.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dsgx_CRSUAwardsOutstandingNumber</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dsgx_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dsgx_CRSUAwardsVestedAndSettledInCash">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The number of CRSU awards vested and settled in cash.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dsgx_CRSUAwardsVestedAndSettledInCash</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dsgx_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dsgx_CRSUAwardsWeightedAverageContractualLife">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The weighted average remaining contractual life of CRSU awards.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dsgx_CRSUAwardsWeightedAverageContractualLife</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dsgx_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:durationItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>113
<FILENAME>R46.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.20.1</span><table class="report" border="0" cellspacing="2" id="idp6891699520">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Note 18 - Income Taxes (Tables)<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Jan. 31, 2020</div></th></tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_TableTextBlock', window );"><strong>Notes Tables</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ScheduleOfIncomeBeforeIncomeTaxDomesticAndForeignTableTextBlock', window );">Schedule of Income before Income Tax, Domestic and Foreign [Table Text Block]</a></td>
<td class="text"><div style="display: inline; font-family: times new roman; font-size: 10pt"><table cellpadding="0" cellspacing="0" style="border-collapse: collapse; font: 10pt Times New Roman, Times, Serif; min-; min-width: 700px;"> <tr style="vertical-align: bottom; background-color: White"> <td style="font-style: italic">Year Ended</td> <td style="font-weight: bold">&nbsp;</td> <td style="border-top: Black 1pt solid; font-weight: bold; text-align: left">&nbsp;</td> <td style="border-top: Black 1pt solid; font-weight: bold; text-align: right"><div style="display: inline; font-family: Times New Roman, Times, Serif; font-size: 10pt"><div style="display: inline; font-weight: bold;">January 31,</div></div></td> <td style="border-top: Black 1pt solid; white-space: nowrap; font-weight: bold; text-align: left">&nbsp;</td> <td style="border-top: Black 1pt solid">&nbsp;</td> <td style="border-top: Black 1pt solid; text-align: left">&nbsp;</td> <td style="border-top: Black 1pt solid; text-align: right"><div style="display: inline; font-family: Times New Roman, Times, Serif; font-size: 10pt">January 31,</div></td> <td style="border-top: Black 1pt solid; white-space: nowrap; text-align: left">&nbsp;</td> <td style="border-top: Black 1pt solid">&nbsp;</td> <td style="border-top: Black 1pt solid; text-align: left">&nbsp;</td> <td style="border-top: Black 1pt solid; text-align: right"><div style="display: inline; font-family: Times New Roman, Times, Serif; font-size: 10pt">January 31,</div></td> <td style="border-top: Black 1pt solid; white-space: nowrap; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: White"> <td style="padding-bottom: 1pt">&nbsp;</td> <td style="font-weight: bold">&nbsp;</td> <td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: right">2020</td> <td style="white-space: nowrap; border-bottom: Black 1pt solid; font-weight: bold; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid">&nbsp;</td> <td style="border-bottom: Black 1pt solid; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid; text-align: right">2019</td> <td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid">&nbsp;</td> <td style="border-bottom: Black 1pt solid; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid; text-align: right">2018</td> <td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: White"> <td>&nbsp;</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right">&nbsp;</td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right">&nbsp;</td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right">&nbsp;</td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="width: 55%">Canada</td> <td style="width: 2%; font-weight: bold">&nbsp;</td> <td style="width: 1%; font-weight: bold; text-align: left">&nbsp;</td> <td style="width: 11%; font-weight: bold; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">19,557</div></td> <td style="white-space: nowrap; width: 1%; font-weight: bold; text-align: left">&nbsp;</td> <td style="width: 2%">&nbsp;</td> <td style="width: 1%; text-align: left">&nbsp;</td> <td style="width: 11%; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">16,715</div></td> <td style="white-space: nowrap; width: 1%; text-align: left">&nbsp;</td> <td style="width: 2%">&nbsp;</td> <td style="width: 1%; text-align: left">&nbsp;</td> <td style="width: 11%; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">17,964</div></td> <td style="white-space: nowrap; width: 1%; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: White"> <td style="text-align: left">United States</td> <td style="font-weight: bold">&nbsp;</td> <td style="font-weight: bold; text-align: left">&nbsp;</td> <td style="font-weight: bold; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">19,962</div></td> <td style="white-space: nowrap; font-weight: bold; text-align: left">&nbsp;</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">11,077</div></td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">6,203</div></td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="text-align: left; padding-bottom: 1pt">Other countries</td> <td style="font-weight: bold">&nbsp;</td> <td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">8,516</div></td> <td style="white-space: nowrap; border-bottom: Black 1pt solid; font-weight: bold; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid">&nbsp;</td> <td style="border-bottom: Black 1pt solid; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">11,718</div></td> <td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid">&nbsp;</td> <td style="border-bottom: Black 1pt solid; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">10,581</div></td> <td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: White"> <td style="padding-bottom: 1pt">&nbsp;</td> <td style="font-weight: bold">&nbsp;</td> <td style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">48,035</div></td> <td style="border-bottom: Black 1.5pt solid; white-space: nowrap; font-weight: bold; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1.5pt solid">&nbsp;</td> <td style="border-bottom: Black 1.5pt solid; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1.5pt solid; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">39,510</div></td> <td style="border-bottom: Black 1.5pt solid; white-space: nowrap; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1.5pt solid">&nbsp;</td> <td style="border-bottom: Black 1.5pt solid; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1.5pt solid; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">34,748</div></td> <td style="border-bottom: Black 1.5pt solid; white-space: nowrap; text-align: left">&nbsp;</td> </tr> </table></div><span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock', window );">Schedule of Components of Income Tax Expense (Benefit) [Table Text Block]</a></td>
<td class="text"><div style="display: inline; font-family: times new roman; font-size: 10pt"><table cellpadding="0" cellspacing="0" style="border-collapse: collapse; font: 10pt Times New Roman, Times, Serif; min-; min-width: 700px;"> <tr style="vertical-align: bottom; background-color: White"> <td style="font-style: italic">Year Ended</td> <td style="font-weight: bold">&nbsp;</td> <td style="border-top: Black 1pt solid; font-weight: bold; text-align: left">&nbsp;</td> <td style="border-top: Black 1pt solid; font-weight: bold; text-align: right"><div style="display: inline; font-family: Times New Roman, Times, Serif; font-size: 10pt"><div style="display: inline; font-weight: bold;">January 31,</div></div></td> <td style="border-top: Black 1pt solid; white-space: nowrap; font-weight: bold; text-align: left">&nbsp;</td> <td style="border-top: Black 1pt solid">&nbsp;</td> <td style="border-top: Black 1pt solid; text-align: left">&nbsp;</td> <td style="border-top: Black 1pt solid; text-align: right"><div style="display: inline; font-family: Times New Roman, Times, Serif; font-size: 10pt">January 31,</div></td> <td style="border-top: Black 1pt solid; white-space: nowrap; text-align: left">&nbsp;</td> <td style="border-top: Black 1pt solid">&nbsp;</td> <td style="border-top: Black 1pt solid; text-align: left">&nbsp;</td> <td style="border-top: Black 1pt solid; text-align: right"><div style="display: inline; font-family: Times New Roman, Times, Serif; font-size: 10pt">January 31,</div></td> <td style="border-top: Black 1pt solid; white-space: nowrap; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: White"> <td style="padding-bottom: 1pt">&nbsp;</td> <td style="font-weight: bold">&nbsp;</td> <td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: right">2020</td> <td style="white-space: nowrap; border-bottom: Black 1pt solid; font-weight: bold; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid">&nbsp;</td> <td style="border-bottom: Black 1pt solid; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid; text-align: right">2019</td> <td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid">&nbsp;</td> <td style="border-bottom: Black 1pt solid; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid; text-align: right">2018</td> <td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="text-align: left">Current income tax expense</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right">&nbsp;</td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right">&nbsp;</td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right">&nbsp;</td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: White"> <td style="width: 55%; padding-left: 12pt">Canada</td> <td style="width: 2%; font-weight: bold">&nbsp;</td> <td style="width: 1%; font-weight: bold; text-align: left">&nbsp;</td> <td style="width: 11%; font-weight: bold; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">1,020</div></td> <td style="white-space: nowrap; width: 1%; font-weight: bold; text-align: left">&nbsp;</td> <td style="width: 2%">&nbsp;</td> <td style="width: 1%; text-align: left">&nbsp;</td> <td style="width: 11%; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">3,037</div></td> <td style="white-space: nowrap; width: 1%; text-align: left">&nbsp;</td> <td style="width: 2%">&nbsp;</td> <td style="width: 1%; text-align: left">&nbsp;</td> <td style="width: 11%; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">1,243</div></td> <td style="white-space: nowrap; width: 1%; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="text-align: left; padding-left: 12pt">United States</td> <td style="font-weight: bold">&nbsp;</td> <td style="font-weight: bold; text-align: left">&nbsp;</td> <td style="font-weight: bold; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">3,496</div></td> <td style="white-space: nowrap; font-weight: bold; text-align: left">&nbsp;</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">1,298</div></td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">494</div></td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: White"> <td style="text-align: left; padding-bottom: 1pt; padding-left: 12pt">Other countries</td> <td style="font-weight: bold">&nbsp;</td> <td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">779</div></td> <td style="white-space: nowrap; border-bottom: Black 1pt solid; font-weight: bold; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid">&nbsp;</td> <td style="border-bottom: Black 1pt solid; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">1,707</div></td> <td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid">&nbsp;</td> <td style="border-bottom: Black 1pt solid; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">4,835</div></td> <td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="padding-bottom: 1pt">&nbsp;</td> <td style="font-weight: bold">&nbsp;</td> <td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">5,295</div></td> <td style="white-space: nowrap; border-bottom: Black 1pt solid; font-weight: bold; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid">&nbsp;</td> <td style="border-bottom: Black 1pt solid; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">6,042</div></td> <td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid">&nbsp;</td> <td style="border-bottom: Black 1pt solid; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">6,572</div></td> <td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: White"> <td style="text-align: left">Deferred income tax expense (recovery)</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right">&nbsp;</td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right">&nbsp;</td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right">&nbsp;</td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="padding-left: 12pt">Canada</td> <td style="font-weight: bold">&nbsp;</td> <td style="font-weight: bold; text-align: left">&nbsp;</td> <td style="font-weight: bold; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">5,008</div></td> <td style="white-space: nowrap; font-weight: bold; text-align: left">&nbsp;</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">2,531</div></td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">2,051</div></td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: White"> <td style="text-align: left; padding-left: 12pt">United States</td> <td style="font-weight: bold">&nbsp;</td> <td style="font-weight: bold; text-align: left">&nbsp;</td> <td style="font-weight: bold; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">1,390</div></td> <td style="white-space: nowrap; font-weight: bold; text-align: left">&nbsp;</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">67</div></td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">1,876</div></td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="text-align: left; padding-bottom: 1pt; padding-left: 12pt">Other countries</td> <td style="font-weight: bold">&nbsp;</td> <td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">(655</div></td> <td style="white-space: nowrap; border-bottom: Black 1pt solid; font-weight: bold; text-align: left">)</td> <td style="border-bottom: Black 1pt solid">&nbsp;</td> <td style="border-bottom: Black 1pt solid; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">(407</div></td> <td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">)</td> <td style="border-bottom: Black 1pt solid">&nbsp;</td> <td style="border-bottom: Black 1pt solid; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">(2,630</div></td> <td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">)</td> </tr> <tr style="vertical-align: bottom; background-color: White"> <td style="padding-bottom: 1pt">&nbsp;</td> <td style="font-weight: bold">&nbsp;</td> <td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">5,743</div></td> <td style="white-space: nowrap; border-bottom: Black 1pt solid; font-weight: bold; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid">&nbsp;</td> <td style="border-bottom: Black 1pt solid; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">2,191</div></td> <td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid">&nbsp;</td> <td style="border-bottom: Black 1pt solid; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">1,297</div></td> <td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="padding-bottom: 1pt">&nbsp;</td> <td style="font-weight: bold">&nbsp;</td> <td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">11,038</div></td> <td style="white-space: nowrap; border-bottom: Black 1pt solid; font-weight: bold; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid">&nbsp;</td> <td style="border-bottom: Black 1pt solid; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">8,233</div></td> <td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid">&nbsp;</td> <td style="border-bottom: Black 1pt solid; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">7,869</div></td> <td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&nbsp;</td> </tr> </table></div><span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock', window );">Schedule of Deferred Tax Assets and Liabilities [Table Text Block]</a></td>
<td class="text"><div style="display: inline; font-family: times new roman; font-size: 10pt"><table cellpadding="0" cellspacing="0" style="border-collapse: collapse; font: 10pt Times New Roman, Times, Serif; min-; min-width: 700px;"> <tr style="vertical-align: bottom; background-color: White"> <td>&nbsp;</td> <td style="font-weight: bold">&nbsp;</td> <td style="border-top: Black 1pt solid; font-weight: bold; text-align: left">&nbsp;</td> <td style="border-top: Black 1pt solid; font-weight: bold; text-align: right"><div style="display: inline; font-family: Times New Roman, Times, Serif; font-size: 10pt"><div style="display: inline; font-weight: bold;">January 31,</div></div></td> <td style="border-top: Black 1pt solid; white-space: nowrap; font-weight: bold; text-align: left">&nbsp;</td> <td style="border-top: Black 1pt solid">&nbsp;</td> <td style="border-top: Black 1pt solid; text-align: left">&nbsp;</td> <td style="border-top: Black 1pt solid; text-align: right"><div style="display: inline; font-family: Times New Roman, Times, Serif; font-size: 10pt">January 31,</div></td> <td style="border-top: Black 1pt solid; white-space: nowrap; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: White"> <td style="padding-bottom: 1pt">&nbsp;</td> <td style="font-weight: bold">&nbsp;</td> <td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: right">2020</td> <td style="white-space: nowrap; border-bottom: Black 1pt solid; font-weight: bold; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid">&nbsp;</td> <td style="border-bottom: Black 1pt solid; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid; text-align: right">2019</td> <td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td>Assets</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right">&nbsp;</td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right">&nbsp;</td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: White"> <td style="width: 68%; text-align: left; padding-left: 12pt">Accrued liabilities not currently deductible</td> <td style="width: 2%; font-weight: bold">&nbsp;</td> <td style="width: 1%; font-weight: bold; text-align: left">&nbsp;</td> <td style="width: 12%; font-weight: bold; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">14,838</div></td> <td style="white-space: nowrap; width: 1%; font-weight: bold; text-align: left">&nbsp;</td> <td style="width: 2%">&nbsp;</td> <td style="width: 1%; text-align: left">&nbsp;</td> <td style="width: 12%; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">11,483</div></td> <td style="white-space: nowrap; width: 1%; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="text-align: left; padding-left: 12pt">Accumulated net operating losses</td> <td style="font-weight: bold">&nbsp;</td> <td style="font-weight: bold; text-align: left">&nbsp;</td> <td style="font-weight: bold; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">10,579</div></td> <td style="white-space: nowrap; font-weight: bold; text-align: left">&nbsp;</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">11,081</div></td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: White"> <td style="text-align: left; padding-left: 12pt">Difference between tax and accounting basis of property and equipment</td> <td style="font-weight: bold">&nbsp;</td> <td style="font-weight: bold; text-align: left">&nbsp;</td> <td style="font-weight: bold; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">33,929</div></td> <td style="white-space: nowrap; font-weight: bold; text-align: left">&nbsp;</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">&#x2013;</div></td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="text-align: left; padding-bottom: 1pt; padding-left: 12pt">Research and development and other tax credits and expenses</td> <td style="font-weight: bold">&nbsp;</td> <td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">756</div></td> <td style="white-space: nowrap; border-bottom: Black 1pt solid; font-weight: bold; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid">&nbsp;</td> <td style="border-bottom: Black 1pt solid; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">911</div></td> <td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: White"> <td style="text-align: left">Total deferred income tax assets</td> <td style="font-weight: bold">&nbsp;</td> <td style="font-weight: bold; text-align: left">&nbsp;</td> <td style="font-weight: bold; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">60,102</div></td> <td style="white-space: nowrap; font-weight: bold; text-align: left">&nbsp;</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">23,475</div></td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td>Liabilities</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right">&nbsp;</td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right">&nbsp;</td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: White"> <td style="text-align: left; padding-left: 12pt">Difference between tax and accounting basis of intangible assets</td> <td style="font-weight: bold">&nbsp;</td> <td style="font-weight: bold; text-align: left">&nbsp;</td> <td style="font-weight: bold; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">(41,381</div></td> <td style="white-space: nowrap; font-weight: bold; text-align: left">)</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">(23,974</div></td> <td style="white-space: nowrap; text-align: left">)</td> </tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="text-align: left; padding-left: 12.7pt">Difference between tax and accounting basis of property and equipment</td> <td style="font-weight: bold">&nbsp;</td> <td style="font-weight: bold; text-align: left">&nbsp;</td> <td style="font-weight: bold; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">&#x2013;</div></td> <td style="white-space: nowrap; font-weight: bold; text-align: left">&nbsp;</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">(909</div></td> <td style="white-space: nowrap; text-align: left">)</td> </tr> <tr style="vertical-align: bottom; background-color: White"> <td style="text-align: left; padding-bottom: 1pt; padding-left: 12.7pt">Other temporary differences</td> <td style="font-weight: bold">&nbsp;</td> <td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">(1,716</div></td> <td style="white-space: nowrap; border-bottom: Black 1pt solid; font-weight: bold; text-align: left">)</td> <td style="border-bottom: Black 1pt solid">&nbsp;</td> <td style="border-bottom: Black 1pt solid; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">(574</div></td> <td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">)</td> </tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="text-align: left; padding-bottom: 1pt">Total deferred income tax liabilities</td> <td style="font-weight: bold">&nbsp;</td> <td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">(43,097</div></td> <td style="white-space: nowrap; border-bottom: Black 1pt solid; font-weight: bold; text-align: left">)</td> <td style="border-bottom: Black 1pt solid">&nbsp;</td> <td style="border-bottom: Black 1pt solid; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">(25,457</div></td> <td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">)</td> </tr> <tr style="vertical-align: bottom; background-color: White"> <td style="text-align: left">Net deferred income taxes</td> <td style="font-weight: bold">&nbsp;</td> <td style="font-weight: bold; text-align: left">&nbsp;</td> <td style="font-weight: bold; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">17,005</div></td> <td style="white-space: nowrap; font-weight: bold; text-align: left">&nbsp;</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">(1,982</div></td> <td style="white-space: nowrap; text-align: left">)</td> </tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="text-align: left; padding-bottom: 1pt; padding-left: 12pt">Valuation allowance</td> <td style="font-weight: bold">&nbsp;</td> <td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">(10,470</div></td> <td style="white-space: nowrap; border-bottom: Black 1pt solid; font-weight: bold; text-align: left">)</td> <td style="border-bottom: Black 1pt solid">&nbsp;</td> <td style="border-bottom: Black 1pt solid; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">(9,927</div></td> <td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">)</td> </tr> <tr style="vertical-align: bottom; background-color: White"> <td style="text-align: left; padding-bottom: 1pt">Net deferred income taxes, net of valuation allowance</td> <td style="font-weight: bold">&nbsp;</td> <td style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">6,535</div></td> <td style="border-bottom: Black 1.5pt solid; white-space: nowrap; font-weight: bold; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1.5pt solid">&nbsp;</td> <td style="border-bottom: Black 1.5pt solid; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1.5pt solid; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">(11,909</div></td> <td style="border-bottom: Black 1.5pt solid; white-space: nowrap; text-align: left">)</td> </tr> </table></div><span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock', window );">Schedule of Effective Income Tax Rate Reconciliation [Table Text Block]</a></td>
<td class="text"><div style="display: inline; font-family: times new roman; font-size: 10pt"><table cellpadding="0" cellspacing="0" style="border-collapse: collapse; font: 10pt Times New Roman, Times, Serif; min-; min-width: 700px;"> <tr style="vertical-align: bottom; background-color: White"> <td style="font-style: italic">Year Ended</td> <td style="font-weight: bold">&nbsp;</td> <td style="border-top: Black 1pt solid; font-weight: bold; text-align: left">&nbsp;</td> <td style="border-top: Black 1pt solid; font-weight: bold; text-align: right"><div style="display: inline; font-family: Times New Roman, Times, Serif; font-size: 10pt"><div style="display: inline; font-weight: bold;">January 31,</div></div></td> <td style="border-top: Black 1pt solid; white-space: nowrap; font-weight: bold; text-align: left">&nbsp;</td> <td style="border-top: Black 1pt solid">&nbsp;</td> <td style="border-top: Black 1pt solid; text-align: left">&nbsp;</td> <td style="border-top: Black 1pt solid; text-align: right"><div style="display: inline; font-family: Times New Roman, Times, Serif; font-size: 10pt">January 31,</div></td> <td style="border-top: Black 1pt solid; white-space: nowrap; text-align: left">&nbsp;</td> <td style="border-top: Black 1pt solid">&nbsp;</td> <td style="border-top: Black 1pt solid; text-align: left">&nbsp;</td> <td style="border-top: Black 1pt solid; text-align: right"><div style="display: inline; font-family: Times New Roman, Times, Serif; font-size: 10pt">January 31,</div></td> <td style="border-top: Black 1pt solid; white-space: nowrap; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: White"> <td style="padding-bottom: 1pt">&nbsp;</td> <td style="font-weight: bold">&nbsp;</td> <td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: right">2020</td> <td style="white-space: nowrap; border-bottom: Black 1pt solid; font-weight: bold; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid">&nbsp;</td> <td style="border-bottom: Black 1pt solid; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid; text-align: right">2019</td> <td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid">&nbsp;</td> <td style="border-bottom: Black 1pt solid; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid; text-align: right">2018</td> <td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="width: 55%; text-align: left">Income before income taxes</td> <td style="width: 2%; font-weight: bold">&nbsp;</td> <td style="width: 1%; font-weight: bold; text-align: left">&nbsp;</td> <td style="width: 11%; font-weight: bold; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">48,033</div></td> <td style="white-space: nowrap; width: 1%; font-weight: bold; text-align: left">&nbsp;</td> <td style="width: 2%">&nbsp;</td> <td style="width: 1%; text-align: left">&nbsp;</td> <td style="width: 11%; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">39,510</div></td> <td style="white-space: nowrap; width: 1%; text-align: left">&nbsp;</td> <td style="width: 2%">&nbsp;</td> <td style="width: 1%; text-align: left">&nbsp;</td> <td style="width: 11%; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">34,748</div></td> <td style="white-space: nowrap; width: 1%; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: White"> <td>&nbsp;</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right">&nbsp;</td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right">&nbsp;</td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right">&nbsp;</td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="text-align: left">Combined basic Canadian statutory rates</td> <td style="font-weight: bold">&nbsp;</td> <td style="font-weight: bold; text-align: left">&nbsp;</td> <td style="font-weight: bold; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">26.5</div></td> <td style="white-space: nowrap; font-weight: bold; text-align: left">%</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">26.5</div></td> <td style="white-space: nowrap; text-align: left">%</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">26.5</div></td> <td style="white-space: nowrap; text-align: left">%</td> </tr> <tr style="vertical-align: bottom; background-color: White"> <td>&nbsp;</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right">&nbsp;</td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right">&nbsp;</td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right">&nbsp;</td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="text-align: left">Income tax expense based on the above rates</td> <td style="font-weight: bold">&nbsp;</td> <td style="font-weight: bold; text-align: left">&nbsp;</td> <td style="font-weight: bold; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">12,729</div></td> <td style="white-space: nowrap; font-weight: bold; text-align: left">&nbsp;</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">10,470</div></td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">9,207</div></td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: White"> <td style="text-align: left">Increase (decrease) in income taxes resulting from:</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right">&nbsp;</td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right">&nbsp;</td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right">&nbsp;</td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="text-align: left; padding-left: 12pt">Permanent differences including amortization of intangible assets</td> <td style="font-weight: bold">&nbsp;</td> <td style="font-weight: bold; text-align: left">&nbsp;</td> <td style="font-weight: bold; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">(673</div></td> <td style="white-space: nowrap; font-weight: bold; text-align: left">)</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">(133</div></td> <td style="white-space: nowrap; text-align: left">)</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">(1,870</div></td> <td style="white-space: nowrap; text-align: left">)</td> </tr> <tr style="vertical-align: bottom; background-color: White"> <td style="text-align: left; padding-left: 12pt">Effect of differences between Canadian and foreign tax rates</td> <td style="font-weight: bold">&nbsp;</td> <td style="font-weight: bold; text-align: left">&nbsp;</td> <td style="font-weight: bold; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">(274</div></td> <td style="white-space: nowrap; font-weight: bold; text-align: left">)</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">(172</div></td> <td style="white-space: nowrap; text-align: left">)</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">595</div></td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="text-align: left; padding-left: 12pt">Effect of rate changes on current year timing differences</td> <td style="font-weight: bold">&nbsp;</td> <td style="font-weight: bold; text-align: left">&nbsp;</td> <td style="font-weight: bold; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">(609</div></td> <td style="white-space: nowrap; font-weight: bold; text-align: left">)</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">(245</div></td> <td style="white-space: nowrap; text-align: left">)</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">(571</div></td> <td style="white-space: nowrap; text-align: left">)</td> </tr> <tr style="vertical-align: bottom; background-color: White"> <td style="text-align: left; padding-left: 12pt">Adjustments relating to previous periods</td> <td style="font-weight: bold">&nbsp;</td> <td style="font-weight: bold; text-align: left">&nbsp;</td> <td style="font-weight: bold; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">94</div></td> <td style="white-space: nowrap; font-weight: bold; text-align: left">&nbsp;</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">(973</div></td> <td style="white-space: nowrap; text-align: left">)</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">(152</div></td> <td style="white-space: nowrap; text-align: left">)</td> </tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="text-align: left; padding-left: 12pt">Increase (decrease) in accruals for uncertain tax positions</td> <td style="font-weight: bold">&nbsp;</td> <td style="font-weight: bold; text-align: left">&nbsp;</td> <td style="font-weight: bold; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">(1,042</div></td> <td style="white-space: nowrap; font-weight: bold; text-align: left">)</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">(515</div></td> <td style="white-space: nowrap; text-align: left">)</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">1,954</div></td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: White"> <td style="text-align: left; padding-left: 12pt">Valuation allowance</td> <td style="font-weight: bold">&nbsp;</td> <td style="font-weight: bold; text-align: left">&nbsp;</td> <td style="font-weight: bold; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">692</div></td> <td style="white-space: nowrap; font-weight: bold; text-align: left">&nbsp;</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">(344</div></td> <td style="white-space: nowrap; text-align: left">)</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">(1,564</div></td> <td style="white-space: nowrap; text-align: left">)</td> </tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="text-align: left; padding-left: 12pt">Stock based compensation</td> <td style="font-weight: bold">&nbsp;</td> <td style="font-weight: bold; text-align: left">&nbsp;</td> <td style="font-weight: bold; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">352</div></td> <td style="white-space: nowrap; font-weight: bold; text-align: left">&nbsp;</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">231</div></td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">(135</div></td> <td style="white-space: nowrap; text-align: left">)</td> </tr> <tr style="vertical-align: bottom; background-color: White"> <td style="text-align: left; padding-left: 12pt">Deferred tax charges</td> <td style="font-weight: bold">&nbsp;</td> <td style="font-weight: bold; text-align: left">&nbsp;</td> <td style="font-weight: bold; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">&#x2013;</div></td> <td style="white-space: nowrap; font-weight: bold; text-align: left">&nbsp;</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">&#x2013;</div></td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">179</div></td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="text-align: left; padding-bottom: 1pt; padding-left: 12pt">Other, including foreign exchange</td> <td style="font-weight: bold">&nbsp;</td> <td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">(231</div></td> <td style="white-space: nowrap; border-bottom: Black 1pt solid; font-weight: bold; text-align: left">)</td> <td style="border-bottom: Black 1pt solid">&nbsp;</td> <td style="border-bottom: Black 1pt solid; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">(86</div></td> <td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">)</td> <td style="border-bottom: Black 1pt solid">&nbsp;</td> <td style="border-bottom: Black 1pt solid; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">226</div></td> <td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: White"> <td style="text-align: left; padding-bottom: 1pt">Income tax expense</td> <td style="font-weight: bold">&nbsp;</td> <td style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">11,038</div></td> <td style="border-bottom: Black 1.5pt solid; white-space: nowrap; font-weight: bold; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1.5pt solid">&nbsp;</td> <td style="border-bottom: Black 1.5pt solid; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1.5pt solid; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">8,233</div></td> <td style="border-bottom: Black 1.5pt solid; white-space: nowrap; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1.5pt solid">&nbsp;</td> <td style="border-bottom: Black 1.5pt solid; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1.5pt solid; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">7,869</div></td> <td style="border-bottom: Black 1.5pt solid; white-space: nowrap; text-align: left">&nbsp;</td> </tr> </table></div><span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_SummaryOfOperatingLossCarryforwardsTextBlock', window );">Summary of Operating Loss Carryforwards [Table Text Block]</a></td>
<td class="text"><div style="display: inline; font-family: times new roman; font-size: 10pt"><table cellpadding="0" cellspacing="0" style="border-collapse: collapse; font: 10pt Times New Roman, Times, Serif; min-; min-width: 700px;"> <tr style="vertical-align: bottom; background-color: White"> <td style="font-style: italic; text-align: left; padding-bottom: 1pt; padding-left: 9pt">Expiry year</td> <td style="font-weight: bold">&nbsp;</td> <td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; font-weight: bold; text-align: left">&nbsp;</td> <td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; font-weight: bold; text-align: right"><div style="display: inline; font-family: Times New Roman, Times, Serif; font-size: 10pt"><div style="display: inline; font-weight: bold;">Canada</div></div></td> <td style="border-top: Black 1pt solid; white-space: nowrap; border-bottom: Black 1pt solid; font-weight: bold; text-align: left">&nbsp;</td> <td style="border-top: Black 1pt solid; font-weight: bold; border-bottom: Black 1pt solid">&nbsp;</td> <td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; font-weight: bold; text-align: left">&nbsp;</td> <td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; font-weight: bold; text-align: right"><div style="display: inline; font-family: Times New Roman, Times, Serif; font-size: 10pt"><div style="display: inline; font-weight: bold;">United States</div></div></td> <td style="border-top: Black 1pt solid; white-space: nowrap; border-bottom: Black 1pt solid; font-weight: bold; text-align: left">&nbsp;</td> <td style="border-top: Black 1pt solid; font-weight: bold; border-bottom: Black 1pt solid">&nbsp;</td> <td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; font-weight: bold; text-align: left">&nbsp;</td> <td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; font-weight: bold; text-align: right"><div style="display: inline; font-family: Times New Roman, Times, Serif; font-size: 10pt"><div style="display: inline; font-weight: bold;">EMEA</div></div></td> <td style="border-top: Black 1pt solid; white-space: nowrap; border-bottom: Black 1pt solid; font-weight: bold; text-align: left">&nbsp;</td> <td style="border-top: Black 1pt solid; font-weight: bold; border-bottom: Black 1pt solid">&nbsp;</td> <td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; font-weight: bold; text-align: left">&nbsp;</td> <td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; font-weight: bold; text-align: right"><div style="display: inline; font-family: Times New Roman, Times, Serif; font-size: 10pt"><div style="display: inline; font-weight: bold;">Asia Pacific</div></div></td> <td style="border-top: Black 1pt solid; white-space: nowrap; border-bottom: Black 1pt solid; font-weight: bold; text-align: left">&nbsp;</td> <td style="border-top: Black 1pt solid; font-weight: bold; border-bottom: Black 1pt solid">&nbsp;</td> <td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; font-weight: bold; text-align: left">&nbsp;</td> <td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; font-weight: bold; text-align: right"><div style="display: inline; font-family: Times New Roman, Times, Serif; font-size: 10pt"><div style="display: inline; font-weight: bold;">Total</div></div></td> <td style="border-top: Black 1pt solid; white-space: nowrap; border-bottom: Black 1pt solid; font-weight: bold; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="width: 45%; text-align: left; padding-left: 9pt">2021</td> <td style="width: 1%">&nbsp;</td> <td style="width: 1%; text-align: left">&nbsp;</td> <td style="width: 8%; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">&#x2013;</div></td> <td style="white-space: nowrap; width: 1%; text-align: left">&nbsp;</td> <td style="width: 1%">&nbsp;</td> <td style="width: 1%; text-align: left">&nbsp;</td> <td style="width: 8%; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">&#x2013;</div></td> <td style="white-space: nowrap; width: 1%; text-align: left">&nbsp;</td> <td style="width: 1%">&nbsp;</td> <td style="width: 1%; text-align: left">&nbsp;</td> <td style="width: 8%; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">&#x2013;</div></td> <td style="white-space: nowrap; width: 1%; text-align: left">&nbsp;</td> <td style="width: 1%">&nbsp;</td> <td style="width: 1%; text-align: left">&nbsp;</td> <td style="width: 8%; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">585</div></td> <td style="white-space: nowrap; width: 1%; text-align: left">&nbsp;</td> <td style="width: 1%; font-weight: bold">&nbsp;</td> <td style="width: 1%; font-weight: bold; text-align: left">&nbsp;</td> <td style="width: 8%; font-weight: bold; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">585</div></td> <td style="white-space: nowrap; width: 1%; font-weight: bold; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: White"> <td style="text-align: left; padding-left: 9pt">2022</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">&#x2013;</div></td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">245</div></td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">&#x2013;</div></td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">264</div></td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> <td style="font-weight: bold">&nbsp;</td> <td style="font-weight: bold; text-align: left">&nbsp;</td> <td style="font-weight: bold; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">509</div></td> <td style="white-space: nowrap; font-weight: bold; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="text-align: left; padding-left: 9pt">2023</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">&#x2013;</div></td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">253</div></td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">651</div></td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">46</div></td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> <td style="font-weight: bold">&nbsp;</td> <td style="font-weight: bold; text-align: left">&nbsp;</td> <td style="font-weight: bold; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">950</div></td> <td style="white-space: nowrap; font-weight: bold; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: White"> <td style="text-align: left; padding-left: 9pt">2024</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">&#x2013;</div></td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">245</div></td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">126</div></td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">171</div></td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> <td style="font-weight: bold">&nbsp;</td> <td style="font-weight: bold; text-align: left">&nbsp;</td> <td style="font-weight: bold; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">542</div></td> <td style="white-space: nowrap; font-weight: bold; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="text-align: left; padding-left: 9pt">2025</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">&#x2013;</div></td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">245</div></td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">&#x2013;</div></td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">&#x2013;</div></td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> <td style="font-weight: bold">&nbsp;</td> <td style="font-weight: bold; text-align: left">&nbsp;</td> <td style="font-weight: bold; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">245</div></td> <td style="white-space: nowrap; font-weight: bold; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: White"> <td style="text-align: left; padding-bottom: 1pt; padding-left: 9pt">Thereafter</td> <td>&nbsp;</td> <td style="border-bottom: Black 1pt solid; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">1,609</div></td> <td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid">&nbsp;</td> <td style="border-bottom: Black 1pt solid; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">5,026</div></td> <td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid">&nbsp;</td> <td style="border-bottom: Black 1pt solid; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">42,865</div></td> <td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid">&nbsp;</td> <td style="border-bottom: Black 1pt solid; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">3,070</div></td> <td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&nbsp;</td> <td style="font-weight: bold; border-bottom: Black 1pt solid">&nbsp;</td> <td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">52,570</div></td> <td style="white-space: nowrap; border-bottom: Black 1pt solid; font-weight: bold; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="text-align: left; padding-bottom: 1pt; padding-left: 9pt">&nbsp;</td> <td style="font-weight: bold">&nbsp;</td> <td style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">1,609</div></td> <td style="border-bottom: Black 1.5pt solid; white-space: nowrap; font-weight: bold; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1.5pt solid; font-weight: bold">&nbsp;</td> <td style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">6,014</div></td> <td style="border-bottom: Black 1.5pt solid; white-space: nowrap; font-weight: bold; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1.5pt solid; font-weight: bold">&nbsp;</td> <td style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">43,642</div></td> <td style="border-bottom: Black 1.5pt solid; white-space: nowrap; font-weight: bold; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1.5pt solid; font-weight: bold">&nbsp;</td> <td style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">4,136</div></td> <td style="border-bottom: Black 1.5pt solid; white-space: nowrap; font-weight: bold; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1.5pt solid; font-weight: bold">&nbsp;</td> <td style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">55,401</div></td> <td style="border-bottom: Black 1.5pt solid; white-space: nowrap; font-weight: bold; text-align: left">&nbsp;</td> </tr> </table></div><span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ScheduleOfUnrecognizedTaxBenefitsRollForwardTableTextBlock', window );">Schedule of Unrecognized Tax Benefits Roll Forward [Table Text Block]</a></td>
<td class="text"><div style="display: inline; font-family: times new roman; font-size: 10pt"><table style="border-collapse: collapse; font: 10pt Times New Roman, Times, Serif; min-; min-width: 700px;" cellspacing="0" cellpadding="0"> <tr style="vertical-align: bottom; background-color: White"> <td>&nbsp;</td> <td style="font-weight: bold">&nbsp;</td> <td style="border-top: Black 1pt solid; font-weight: bold; text-align: left">&nbsp;</td> <td style="border-top: Black 1pt solid; font-weight: bold; text-align: right"><div style="display: inline; font-family: Times New Roman, Times, Serif; font-size: 10pt"><div style="display: inline; font-weight: bold;">January 31,</div></div></td> <td style="border-top: Black 1pt solid; white-space: nowrap; font-weight: bold; text-align: left">&nbsp;</td> <td style="border-top: Black 1pt solid">&nbsp;</td> <td style="border-top: Black 1pt solid; text-align: left">&nbsp;</td> <td style="border-top: Black 1pt solid; text-align: right"><div style="display: inline; font-family: Times New Roman, Times, Serif; font-size: 10pt">January 31,</div></td> <td style="border-top: Black 1pt solid; white-space: nowrap; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: White"> <td style="padding-bottom: 1pt">&nbsp;</td> <td style="font-weight: bold">&nbsp;</td> <td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: right">2020</td> <td style="white-space: nowrap; border-bottom: Black 1pt solid; font-weight: bold; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid">&nbsp;</td> <td style="border-bottom: Black 1pt solid; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid; text-align: right">2019</td> <td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="width: 68%; text-align: left">Liability, beginning of year</td> <td style="width: 2%; font-weight: bold">&nbsp;</td> <td style="width: 1%; font-weight: bold; text-align: left">&nbsp;</td> <td style="width: 12%; font-weight: bold; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">7,824</div></td> <td style="white-space: nowrap; width: 1%; font-weight: bold; text-align: left">&nbsp;</td> <td style="width: 2%">&nbsp;</td> <td style="width: 1%; text-align: left">&nbsp;</td> <td style="width: 12%; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">8,977</div></td> <td style="white-space: nowrap; width: 1%; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: White"> <td style="text-align: left; padding-left: 12pt">Gross increases &#x2013; current period</td> <td style="font-weight: bold">&nbsp;</td> <td style="font-weight: bold; text-align: left">&nbsp;</td> <td style="font-weight: bold; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">139</div></td> <td style="white-space: nowrap; font-weight: bold; text-align: left">&nbsp;</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">493</div></td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="text-align: left; padding-bottom: 1pt; padding-left: 12pt">Lapsing due to statutes of limitations</td> <td style="font-weight: bold">&nbsp;</td> <td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">(1,313</div></td> <td style="white-space: nowrap; border-bottom: Black 1pt solid; font-weight: bold; text-align: left">)</td> <td style="border-bottom: Black 1pt solid">&nbsp;</td> <td style="border-bottom: Black 1pt solid; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">(1,646</div></td> <td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">)</td> </tr> <tr style="vertical-align: bottom; background-color: White"> <td style="text-align: left; padding-bottom: 1pt">Liability, end of year</td> <td style="font-weight: bold">&nbsp;</td> <td style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">6,650</div></td> <td style="border-bottom: Black 1.5pt solid; white-space: nowrap; font-weight: bold; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1.5pt solid">&nbsp;</td> <td style="border-bottom: Black 1.5pt solid; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1.5pt solid; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">7,824</div></td> <td style="border-bottom: Black 1.5pt solid; white-space: nowrap; text-align: left">&nbsp;</td> </tr> </table></div><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of the components of income tax expense attributable to continuing operations for each year presented including, but not limited to: current tax expense (benefit), deferred tax expense (benefit), investment tax credits, government grants, the benefits of operating loss carryforwards, tax expense that results from allocating certain tax benefits either directly to contributed capital or to reduce goodwill or other noncurrent intangible assets of an acquired entity, adjustments of a deferred tax liability or asset for enacted changes in tax laws or rates or a change in the tax status of the entity, and adjustments of the beginning-of-the-year balances of a valuation allowance because of a change in circumstances that causes a change in judgment about the realizability of the related deferred tax asset in future years.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 9<br> -URI http://asc.fasb.org/extlink&amp;oid=84230637&amp;loc=d3e32639-109319<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>nonnum:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of the components of net deferred tax asset or liability recognized in an entity's statement of financial position, including the following: the total of all deferred tax liabilities, the total of all deferred tax assets, the total valuation allowance recognized for deferred tax assets.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -URI http://asc.fasb.org/extlink&amp;oid=84230637&amp;loc=d3e32537-109319<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>nonnum:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of the reconciliation using percentage or dollar amounts of the reported amount of income tax expense attributable to continuing operations for the year to the amount of income tax expense that would result from applying domestic federal statutory tax rates to pretax income from continuing operations.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 12<br> -URI http://asc.fasb.org/extlink&amp;oid=84230637&amp;loc=d3e32687-109319<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>nonnum:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ScheduleOfIncomeBeforeIncomeTaxDomesticAndForeignTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of income before income tax between domestic and foreign jurisdictions.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08.(h)(1)(i))<br> -URI http://asc.fasb.org/extlink&amp;oid=26873400&amp;loc=d3e23780-122690<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ScheduleOfIncomeBeforeIncomeTaxDomesticAndForeignTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>nonnum:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ScheduleOfUnrecognizedTaxBenefitsRollForwardTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of the change in unrecognized tax benefits.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 55<br> -Paragraph 217<br> -URI http://asc.fasb.org/extlink&amp;oid=117331294&amp;loc=d3e36027-109320<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 15A<br> -URI http://asc.fasb.org/extlink&amp;oid=84230637&amp;loc=SL6600010-109319<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ScheduleOfUnrecognizedTaxBenefitsRollForwardTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>nonnum:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_SummaryOfOperatingLossCarryforwardsTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of pertinent information, such as tax authority, amounts, and expiration dates, of net operating loss carryforwards, including an assessment of the likelihood of utilization.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -URI http://asc.fasb.org/extlink&amp;oid=84230637&amp;loc=d3e32559-109319<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_SummaryOfOperatingLossCarryforwardsTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>nonnum:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_TableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_TableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>114
<FILENAME>R42.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.20.1</span><table class="report" border="0" cellspacing="2" id="idp6911698176">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Note 13 - Leases (Tables)<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Jan. 31, 2020</div></th></tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_TableTextBlock', window );"><strong>Notes Tables</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_LeaseCostTableTextBlock', window );">Lease, Cost [Table Text Block]</a></td>
<td class="text"><div style="display: inline; font-family: times new roman; font-size: 10pt"><table cellpadding="0" cellspacing="0" style="border-collapse: collapse; font: 10pt Times New Roman, Times, Serif; min-; min-width: 700px;"> <tr style="vertical-align: bottom; background-color: White"> <td style="padding-bottom: 1pt"><div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"><div style="display: inline; font-style: italic;">Year Ended</div></div></td> <td style="font-weight: bold">&nbsp;</td> <td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; font-weight: bold; text-align: left">&nbsp;</td> <td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; font-weight: bold; text-align: right"><div style="display: inline; font-family: Times New Roman, Times, Serif; font-size: 10pt"><div style="display: inline; font-weight: bold;">January 31, 2020</div></div></td> <td style="border-top: Black 1pt solid; white-space: nowrap; border-bottom: Black 1pt solid; font-weight: bold; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="width: 84%; text-align: left">Operating lease cost</td> <td style="width: 2%; font-weight: bold">&nbsp;</td> <td style="width: 1%; font-weight: bold; text-align: left">&nbsp;</td> <td style="width: 12%; font-weight: bold; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">4,902</div></td> <td style="white-space: nowrap; width: 1%; font-weight: bold; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: White"> <td style="text-align: left; padding-bottom: 1pt">Short-term lease cost</td> <td style="font-weight: bold">&nbsp;</td> <td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">866</div></td> <td style="white-space: nowrap; border-bottom: Black 1pt solid; font-weight: bold; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="text-align: left; padding-bottom: 1pt">Total operating lease cost</td> <td style="font-weight: bold">&nbsp;</td> <td style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">5,768</div></td> <td style="border-bottom: Black 1.5pt solid; white-space: nowrap; font-weight: bold; text-align: left">&nbsp;</td> </tr> </table></div><div style="display: inline; font-family: times new roman; font-size: 10pt"><table cellpadding="0" cellspacing="0" style="border-collapse: collapse; font: 10pt Times New Roman, Times, Serif; min-; min-width: 700px;"> <tr style="vertical-align: bottom; background-color: White"> <td style="font-style: italic; padding-bottom: 1pt">Year Ended</td> <td style="font-weight: bold">&nbsp;</td> <td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; font-weight: bold; text-align: left">&nbsp;</td> <td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; font-weight: bold; text-align: right"><div style="display: inline; font-family: Times New Roman, Times, Serif; font-size: 10pt"><div style="display: inline; font-weight: bold;">January 31, 2020</div></div></td> <td style="border-top: Black 1pt solid; white-space: nowrap; border-bottom: Black 1pt solid; font-weight: bold; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="width: 84%; text-align: left">Operating cash outflows from operating leases included in measurement of lease liabilities</td> <td style="width: 2%; font-weight: bold">&nbsp;</td> <td style="width: 1%; font-weight: bold; text-align: left">&nbsp;</td> <td style="width: 12%; font-weight: bold; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">4,150</div></td> <td style="white-space: nowrap; width: 1%; font-weight: bold; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: White"> <td style="text-align: left">Increase in ROU asset from non-cash activities, including lease modifications and new leases</td> <td style="font-weight: bold">&nbsp;</td> <td style="font-weight: bold; text-align: left">&nbsp;</td> <td style="font-weight: bold; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">6,439</div></td> <td style="white-space: nowrap; font-weight: bold; text-align: left">&nbsp;</td> </tr> </table></div><div style="display: inline; font-family: times new roman; font-size: 10pt"><table cellpadding="0" cellspacing="0" style="border-collapse: collapse; font: 10pt Times New Roman, Times, Serif; min-; min-width: 700px;"> <tr style="vertical-align: bottom; background-color: White"> <td style="padding-bottom: 1pt">&nbsp;</td> <td style="font-weight: bold">&nbsp;</td> <td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; font-weight: bold; text-align: left">&nbsp;</td> <td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; font-weight: bold; text-align: right"><div style="display: inline; font-family: Times New Roman, Times, Serif; font-size: 10pt"><div style="display: inline; font-weight: bold;">January 31, 2020</div></div></td> <td style="border-top: Black 1pt solid; white-space: nowrap; border-bottom: Black 1pt solid; font-weight: bold; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="width: 84%; text-align: left">Weighted average remaining lease term (years)</td> <td style="width: 2%; font-weight: bold">&nbsp;</td> <td style="width: 1%; font-weight: bold; text-align: left">&nbsp;</td> <td style="width: 12%; font-weight: bold; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">4.3</div></td> <td style="white-space: nowrap; width: 1%; font-weight: bold; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: White"> <td>Weighted average discount rate (%)</td> <td style="font-weight: bold">&nbsp;</td> <td style="font-weight: bold; text-align: left">&nbsp;</td> <td style="font-weight: bold; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">2.8</div></td> <td style="white-space: nowrap; font-weight: bold; text-align: left">&nbsp;</td> </tr> </table></div><span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_LesseeOperatingLeaseLiabilityMaturityTableTextBlock', window );">Lessee, Operating Lease, Liability, Maturity [Table Text Block]</a></td>
<td class="text"><div style="display: inline; font-family: times new roman; font-size: 10pt"><table cellpadding="0" cellspacing="0" style="border-collapse: collapse; font: 10pt Times New Roman, Times, Serif; min-; min-width: 700px;"> <tr style="vertical-align: bottom; background-color: White"> <td style="text-align: left; padding-bottom: 1pt">Years Ended January 31,</td> <td style="font-weight: bold">&nbsp;</td> <td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; font-weight: bold; text-align: left">&nbsp;</td> <td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; font-weight: bold; text-align: right"><div style="display: inline; font-family: Times New Roman, Times, Serif; font-size: 10pt"><div style="display: inline; font-weight: bold;">Operating Leases</div></div></td> <td style="border-top: Black 1pt solid; white-space: nowrap; border-bottom: Black 1pt solid; font-weight: bold; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="width: 84%; text-align: left; padding-left: 12pt">2021</td> <td style="width: 2%; font-weight: bold">&nbsp;</td> <td style="width: 1%; font-weight: bold; text-align: left">&nbsp;</td> <td style="width: 12%; font-weight: bold; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">4,343</div></td> <td style="white-space: nowrap; width: 1%; font-weight: bold; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: White"> <td style="text-align: left; padding-left: 12pt">2022</td> <td style="font-weight: bold">&nbsp;</td> <td style="font-weight: bold; text-align: left">&nbsp;</td> <td style="font-weight: bold; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">3,283</div></td> <td style="white-space: nowrap; font-weight: bold; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="text-align: left; padding-left: 12pt">2023</td> <td style="font-weight: bold">&nbsp;</td> <td style="font-weight: bold; text-align: left">&nbsp;</td> <td style="font-weight: bold; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">2,508</div></td> <td style="white-space: nowrap; font-weight: bold; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: White"> <td style="text-align: left; padding-left: 12pt">2024</td> <td style="font-weight: bold">&nbsp;</td> <td style="font-weight: bold; text-align: left">&nbsp;</td> <td style="font-weight: bold; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">1,924</div></td> <td style="white-space: nowrap; font-weight: bold; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="text-align: left; padding-left: 12pt">2025</td> <td style="font-weight: bold">&nbsp;</td> <td style="font-weight: bold; text-align: left">&nbsp;</td> <td style="font-weight: bold; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">1,252</div></td> <td style="white-space: nowrap; font-weight: bold; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: White"> <td style="text-align: left; padding-bottom: 1pt; padding-left: 12pt">2026 and thereafter</td> <td style="font-weight: bold">&nbsp;</td> <td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">1,049</div></td> <td style="white-space: nowrap; border-bottom: Black 1pt solid; font-weight: bold; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="text-align: left">Total lease payments</td> <td style="font-weight: bold">&nbsp;</td> <td style="font-weight: bold; text-align: left">&nbsp;</td> <td style="font-weight: bold; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">14,359</div></td> <td style="white-space: nowrap; font-weight: bold; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: White"> <td style="text-align: left; padding-bottom: 1pt; padding-left: 10.5pt">Less: imputed interest</td> <td style="font-weight: bold">&nbsp;</td> <td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">(954</div></td> <td style="white-space: nowrap; border-bottom: Black 1pt solid; font-weight: bold; text-align: left">)</td> </tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="text-align: left; padding-bottom: 1pt">Total lease obligations</td> <td style="font-weight: bold">&nbsp;</td> <td style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">13,405</div></td> <td style="border-bottom: Black 1.5pt solid; white-space: nowrap; font-weight: bold; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: White"> <td style="text-align: left; padding-left: 10.5pt">Current</td> <td style="font-weight: bold">&nbsp;</td> <td style="font-weight: bold; text-align: left">&nbsp;</td> <td style="font-weight: bold; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">3,928</div></td> <td style="white-space: nowrap; font-weight: bold; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="text-align: left; padding-bottom: 1pt; padding-left: 10.5pt">Long-term</td> <td style="font-weight: bold">&nbsp;</td> <td style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">9,477</div></td> <td style="border-bottom: Black 1.5pt solid; white-space: nowrap; font-weight: bold; text-align: left">&nbsp;</td> </tr> </table></div><span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_dsgx_ScheduleOfFutureMinimumRentalPaymentsForLeasesTableTextBlock', window );">Schedule of Future Minimum Rental Payments for Leases [Table Text Block]</a></td>
<td class="text"><div style="display: inline; font-family: times new roman; font-size: 10pt"><table cellpadding="0" cellspacing="0" style="border-collapse: collapse; font: 10pt Times New Roman, Times, Serif; min-; min-width: 700px;"> <tr style="vertical-align: bottom; background-color: White"> <td style="text-align: left; padding-bottom: 1pt">Years Ended January 31,</td> <td style="font-weight: bold">&nbsp;</td> <td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; font-weight: bold; text-align: left">&nbsp;</td> <td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; font-weight: bold; text-align: right"><div style="display: inline; font-family: Times New Roman, Times, Serif; font-size: 10pt"><div style="display: inline; font-weight: bold;">Operating Leases</div></div></td> <td style="border-top: Black 1pt solid; white-space: nowrap; border-bottom: Black 1pt solid; font-weight: bold; text-align: left">&nbsp;</td> <td style="border-top: Black 1pt solid; font-weight: bold; border-bottom: Black 1pt solid">&nbsp;</td> <td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; font-weight: bold; text-align: left">&nbsp;</td> <td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; font-weight: bold; text-align: right"><div style="display: inline; font-family: Times New Roman, Times, Serif; font-size: 10pt"><div style="display: inline; font-weight: bold;">Capital Leases</div></div></td> <td style="border-top: Black 1pt solid; white-space: nowrap; border-bottom: Black 1pt solid; font-weight: bold; text-align: left">&nbsp;</td> <td style="border-top: Black 1pt solid; font-weight: bold; border-bottom: Black 1pt solid">&nbsp;</td> <td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; font-weight: bold; text-align: left">&nbsp;</td> <td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; font-weight: bold; text-align: right"><div style="display: inline; font-family: Times New Roman, Times, Serif; font-size: 10pt"><div style="display: inline; font-weight: bold;">Total</div></div></td> <td style="border-top: Black 1pt solid; white-space: nowrap; border-bottom: Black 1pt solid; font-weight: bold; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="width: 58%; text-align: left; padding-left: 12pt">2020</td> <td style="width: 2%">&nbsp;</td> <td style="width: 1%; text-align: left">&nbsp;</td> <td style="width: 10%; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">4,627</div></td> <td style="white-space: nowrap; width: 1%; text-align: left">&nbsp;</td> <td style="width: 2%">&nbsp;</td> <td style="width: 1%; text-align: left">&nbsp;</td> <td style="width: 10%; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">51</div></td> <td style="white-space: nowrap; width: 1%; text-align: left">&nbsp;</td> <td style="width: 2%">&nbsp;</td> <td style="width: 1%; text-align: left">&nbsp;</td> <td style="width: 10%; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">4,678</div></td> <td style="white-space: nowrap; width: 1%; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: White"> <td style="text-align: left; padding-left: 12pt">2021</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">3,046</div></td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">2</div></td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">3,048</div></td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="text-align: left; padding-left: 12pt">2022</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">1,979</div></td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">&#x2013;</div></td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">1,979</div></td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: White"> <td style="text-align: left; padding-left: 12pt">2023</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">1,470</div></td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">&#x2013;</div></td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">1,470</div></td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="text-align: left; padding-left: 12pt">2024</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">1,038</div></td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">&#x2013;</div></td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">1,038</div></td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: White"> <td style="text-align: left; padding-left: 12pt">2025</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">737</div></td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">&#x2013;</div></td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">737</div></td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="text-align: left; padding-left: 12pt">2026</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">733</div></td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">&#x2013;</div></td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">733</div></td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: White"> <td style="text-align: left; padding-bottom: 1pt; padding-left: 12pt">2027</td> <td>&nbsp;</td> <td style="border-bottom: Black 1pt solid; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">271</div></td> <td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid">&nbsp;</td> <td style="border-bottom: Black 1pt solid; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">&#x2013;</div></td> <td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid">&nbsp;</td> <td style="border-bottom: Black 1pt solid; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">271</div></td> <td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="text-align: left; padding-bottom: 1pt">&nbsp;</td> <td>&nbsp;</td> <td style="border-bottom: Black 1pt solid; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">13,901</div></td> <td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid">&nbsp;</td> <td style="border-bottom: Black 1pt solid; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">53</div></td> <td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid">&nbsp;</td> <td style="border-bottom: Black 1pt solid; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">13,954</div></td> <td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&nbsp;</td> </tr> </table></div><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dsgx_ScheduleOfFutureMinimumRentalPaymentsForLeasesTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of future minimum payments required in the aggregate and for each of the five succeeding fiscal years for operating and capital leases having initial or remaining noncancelable lease terms in excess of one year and the total minimum rentals to be received in the future under noncancelable subleases as of the balance sheet date.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dsgx_ScheduleOfFutureMinimumRentalPaymentsForLeasesTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dsgx_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>nonnum:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LeaseCostTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of lessee's lease cost. Includes, but is not limited to, interest expense for finance lease, amortization of right-of-use asset for finance lease, operating lease cost, short-term lease cost, variable lease cost and sublease income.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 20<br> -Section 50<br> -Paragraph 4<br> -URI http://asc.fasb.org/extlink&amp;oid=77888426&amp;loc=SL77918686-209980<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LeaseCostTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>nonnum:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LesseeOperatingLeaseLiabilityMaturityTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of undiscounted cash flows of lessee's operating lease liability. Includes, but is not limited to, reconciliation of undiscounted cash flows to operating lease liability recognized in statement of financial position.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 20<br> -Section 50<br> -Paragraph 6<br> -URI http://asc.fasb.org/extlink&amp;oid=77888426&amp;loc=SL77918701-209980<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LesseeOperatingLeaseLiabilityMaturityTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>nonnum:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_TableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_TableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>115
<FILENAME>report.css
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
/* Updated 2009-11-04 */
/* v2.2.0.24 */

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

..report .outerFootnotes {
	font-size: 1em;
}
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>116
<FILENAME>Show.js
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
// Edgar(tm) Renderer was created by staff of the U.S. Securities and Exchange Commission.  Data and content created by government employees within the scope of their employment are not subject to domestic copyright protection. 17 U.S.C. 105.
var Show={};Show.LastAR=null,Show.showAR=function(a,r,w){if(Show.LastAR)Show.hideAR();var e=a;while(e&&e.nodeName!='TABLE')e=e.nextSibling;if(!e||e.nodeName!='TABLE'){var ref=((window)?w.document:document).getElementById(r);if(ref){e=ref.cloneNode(!0);
e.removeAttribute('id');a.parentNode.appendChild(e)}}
if(e)e.style.display='block';Show.LastAR=e};Show.hideAR=function(){Show.LastAR.style.display='none'};Show.toggleNext=function(a){var e=a;while(e.nodeName!='DIV')e=e.nextSibling;if(!e.style){}else if(!e.style.display){}else{var d,p_;if(e.style.display=='none'){d='block';p='-'}else{d='none';p='+'}
e.style.display=d;if(a.textContent){a.textContent=p+a.textContent.substring(1)}else{a.innerText=p+a.innerText.substring(1)}}}
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>117
<FILENAME>R99.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.20.1</span><table class="report" border="0" cellspacing="2" id="idp6899164368">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Note 20 - Other Charges - Other Charges Included in Consolidated Statements of Operations (Details) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th" colspan="4">12 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Feb. 01, 2020</div></th>
<th class="th"><div>Jan. 31, 2020</div></th>
<th class="th"><div>Jan. 31, 2019</div></th>
<th class="th"><div>Jan. 31, 2018</div></th>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessCombinationAcquisitionRelatedCosts', window );">Acquisition-related costs</a></td>
<td class="nump">$ 3,797<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 3,778<span></span>
</td>
<td class="nump">$ 3,471<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_RestructuringCharges', window );">Restructuring plans</a></td>
<td class="text"> <span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">20<span></span>
</td>
<td class="nump">523<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_OtherNonoperatingExpense', window );"></a></td>
<td class="nump">$ 3,797<span></span>
</td>
<td class="nump">$ 3,797<span></span>
</td>
<td class="nump">$ 3,798<span></span>
</td>
<td class="nump">$ 3,994<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_BusinessCombinationAcquisitionRelatedCosts">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>This element represents acquisition-related costs incurred to effect a business combination which costs have been expensed during the period. Such costs include finder's fees; advisory, legal, accounting, valuation, and other professional or consulting fees; general administrative costs, including the costs of maintaining an internal acquisitions department; and may include costs of registering and issuing debt and equity securities.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 805<br> -SubTopic 10<br> -Section 25<br> -Paragraph 23<br> -URI http://asc.fasb.org/extlink&amp;oid=116868678&amp;loc=d3e1043-128460<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_BusinessCombinationAcquisitionRelatedCosts</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OtherNonoperatingExpense">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of expense related to nonoperating activities, classified as other.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03.9)<br> -URI http://asc.fasb.org/extlink&amp;oid=116634182&amp;loc=SL114868664-224227<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OtherNonoperatingExpense</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_RestructuringCharges">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of expenses associated with exit or disposal activities pursuant to an authorized plan. Excludes expenses related to a discontinued operation or an asset retirement obligation.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 420<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB Topic 5.P.3)<br> -URI http://asc.fasb.org/extlink&amp;oid=115931487&amp;loc=d3e140864-122747<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 420<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=6394359&amp;loc=d3e17939-110869<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=118932676&amp;loc=d3e3602-108585<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 420<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SAB Topic 5.P.4(b))<br> -URI http://asc.fasb.org/extlink&amp;oid=115931487&amp;loc=d3e140904-122747<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RestructuringCharges</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>118
<FILENAME>R69.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.20.1</span><table class="report" border="0" cellspacing="2" id="idp6923608736">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>Note 12 - Debt (Details Textual) - USD ($)<br> $ in Millions</strong></div></th>
<th class="th"><div>Jan. 25, 2019</div></th>
<th class="th"><div>Jan. 31, 2020</div></th>
<th class="th"><div>Jan. 31, 2019</div></th>
<th class="th"><div>Jan. 24, 2019</div></th>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_LettersOfCreditOutstandingAmount', window );">Letters of Credit Outstanding, Amount</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 0.2<span></span>
</td>
<td class="nump">$ 0.2<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_CreditFacilityAxis=dsgx_RevolvingOperatingCreditFacilityMember', window );">Revolving Operating Credit Facility [Member] | Senior Secured Credit Facility [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity', window );">Line of Credit Facility, Maximum Borrowing Capacity</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 150.0<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_CreditFacilityAxis=dsgx_RevolvingOperatingCreditFacilityMember', window );">Revolving Operating Credit Facility [Member] | Senior Secured Credit Facility [Member] | Minimum [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity', window );">Line of Credit Facility, Maximum Borrowing Capacity</a></td>
<td class="nump">$ 350.0<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_CreditFacilityAxis=dsgx_RevolvingOperatingCreditFacilityMember', window );">Revolving Operating Credit Facility [Member] | Senior Secured Credit Facility [Member] | Maximum [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity', window );">Line of Credit Facility, Maximum Borrowing Capacity</a></td>
<td class="nump">$ 500.0<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_CreditFacilityAxis=dsgx_LineOfCreditBorrowingsToSupportForeignExchangeAndInterestRateHedgingMember', window );">Line of Credit Borrowings to Support Foreign Exchange and Interest Rate Hedging [Member] | Senior Secured Credit Facility [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DebtInstrumentTerm', window );">Debt Instrument, Term</a></td>
<td class="text">5 years<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_CreditFacilityAxis=dsgx_SeniorSecuredCreditFacilityMember', window );">Senior Secured Credit Facility [Member] | Minimum [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_LineOfCreditFacilityUnusedCapacityCommitmentFeePercentage', window );">Line of Credit Facility, Unused Capacity, Commitment Fee Percentage</a></td>
<td class="nump">0.20%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_CreditFacilityAxis=dsgx_SeniorSecuredCreditFacilityMember', window );">Senior Secured Credit Facility [Member] | Minimum [Member] | Canada or US Prime Rate, BA, or LIBOR [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DebtInstrumentBasisSpreadOnVariableRate1', window );">Debt Instrument, Basis Spread on Variable Rate</a></td>
<td class="nump">0.00%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_CreditFacilityAxis=dsgx_SeniorSecuredCreditFacilityMember', window );">Senior Secured Credit Facility [Member] | Maximum [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_LineOfCreditFacilityUnusedCapacityCommitmentFeePercentage', window );">Line of Credit Facility, Unused Capacity, Commitment Fee Percentage</a></td>
<td class="nump">0.40%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_CreditFacilityAxis=dsgx_SeniorSecuredCreditFacilityMember', window );">Senior Secured Credit Facility [Member] | Maximum [Member] | Canada or US Prime Rate, BA, or LIBOR [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DebtInstrumentBasisSpreadOnVariableRate1', window );">Debt Instrument, Basis Spread on Variable Rate</a></td>
<td class="nump">2.50%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DebtInstrumentBasisSpreadOnVariableRate1">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Percentage points added to the reference rate to compute the variable rate on the debt instrument.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DebtInstrumentBasisSpreadOnVariableRate1</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>num:percentItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DebtInstrumentTerm">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Period of time between issuance and maturity of debt instrument, in PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents the reported fact of one year, five months, and thirteen days.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DebtInstrumentTerm</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:durationItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LettersOfCreditOutstandingAmount">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The total amount of the contingent obligation under letters of credit outstanding as of the reporting date.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LettersOfCreditOutstandingAmount</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Maximum borrowing capacity under the credit facility without consideration of any current restrictions on the amount that could be borrowed or the amounts currently outstanding under the facility.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.19(b),22(b))<br> -URI http://asc.fasb.org/extlink&amp;oid=6877327&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LineOfCreditFacilityUnusedCapacityCommitmentFeePercentage">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The fee, expressed as a percentage of the line of credit facility, for available but unused credit capacity under the credit facility.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LineOfCreditFacilityUnusedCapacityCommitmentFeePercentage</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>num:percentItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CreditFacilityAxis=dsgx_RevolvingOperatingCreditFacilityMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CreditFacilityAxis=dsgx_RevolvingOperatingCreditFacilityMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DebtInstrumentAxis=dsgx_SeniorSecuredCreditFacilityMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DebtInstrumentAxis=dsgx_SeniorSecuredCreditFacilityMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_RangeAxis=srt_MinimumMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_RangeAxis=srt_MinimumMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_RangeAxis=srt_MaximumMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_RangeAxis=srt_MaximumMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CreditFacilityAxis=dsgx_LineOfCreditBorrowingsToSupportForeignExchangeAndInterestRateHedgingMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CreditFacilityAxis=dsgx_LineOfCreditBorrowingsToSupportForeignExchangeAndInterestRateHedgingMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CreditFacilityAxis=dsgx_SeniorSecuredCreditFacilityMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CreditFacilityAxis=dsgx_SeniorSecuredCreditFacilityMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_VariableRateAxis=dsgx_CanadaOrUsPrimeRateBaOrLiborMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_VariableRateAxis=dsgx_CanadaOrUsPrimeRateBaOrLiborMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>119
<FILENAME>R91.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.20.1</span><table class="report" border="0" cellspacing="2" id="idp6892439088">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Note 18 - Income Taxes - Income Tax Expense (Recovery) Incurred by Jurisdictions (Details) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th" colspan="4">12 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Feb. 01, 2020</div></th>
<th class="th"><div>Jan. 31, 2020</div></th>
<th class="th"><div>Jan. 31, 2019</div></th>
<th class="th"><div>Jan. 31, 2018</div></th>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_CurrentIncomeTaxExpenseBenefit', window );">Current income tax expense</a></td>
<td class="nump">$ 5,295<span></span>
</td>
<td class="nump">$ 5,295<span></span>
</td>
<td class="nump">$ 6,042<span></span>
</td>
<td class="nump">$ 6,572<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DeferredIncomeTaxExpenseBenefit', window );">Deferred tax expense</a></td>
<td class="nump">5,743<span></span>
</td>
<td class="nump">5,743<span></span>
</td>
<td class="nump">2,191<span></span>
</td>
<td class="nump">1,297<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_IncomeTaxExpenseBenefit', window );">Income tax expense</a></td>
<td class="nump">11,038<span></span>
</td>
<td class="nump">$ 11,038<span></span>
</td>
<td class="nump">8,233<span></span>
</td>
<td class="nump">7,869<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_IncomeTaxAuthorityAxis=country_CA', window );">CANADA</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_CurrentIncomeTaxExpenseBenefit', window );">Current income tax expense</a></td>
<td class="nump">1,020<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">3,037<span></span>
</td>
<td class="nump">1,243<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DeferredIncomeTaxExpenseBenefit', window );">Deferred tax expense</a></td>
<td class="nump">5,008<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">2,531<span></span>
</td>
<td class="nump">2,051<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_IncomeTaxAuthorityAxis=country_US', window );">UNITED STATES</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_CurrentIncomeTaxExpenseBenefit', window );">Current income tax expense</a></td>
<td class="nump">3,496<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">1,298<span></span>
</td>
<td class="nump">494<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DeferredIncomeTaxExpenseBenefit', window );">Deferred tax expense</a></td>
<td class="nump">1,390<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">67<span></span>
</td>
<td class="nump">1,876<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_IncomeTaxAuthorityAxis=dsgx_OtherCountriesMember', window );">Other Countries [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_CurrentIncomeTaxExpenseBenefit', window );">Current income tax expense</a></td>
<td class="nump">779<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">1,707<span></span>
</td>
<td class="nump">4,835<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DeferredIncomeTaxExpenseBenefit', window );">Deferred tax expense</a></td>
<td class="num">$ (655)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="num">$ (407)<span></span>
</td>
<td class="num">$ (2,630)<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CurrentIncomeTaxExpenseBenefit">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of current income tax expense (benefit) pertaining to taxable income (loss) from continuing operations.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB Topic 6.I.7)<br> -URI http://asc.fasb.org/extlink&amp;oid=116825942&amp;loc=d3e330036-122817<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 9<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=84230637&amp;loc=d3e32639-109319<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(h))<br> -URI http://asc.fasb.org/extlink&amp;oid=26873400&amp;loc=d3e23780-122690<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CurrentIncomeTaxExpenseBenefit</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DeferredIncomeTaxExpenseBenefit">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of deferred income tax expense (benefit) pertaining to income (loss) from continuing operations.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB Topic 6.I.7)<br> -URI http://asc.fasb.org/extlink&amp;oid=116825942&amp;loc=d3e330036-122817<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(h))<br> -URI http://asc.fasb.org/extlink&amp;oid=26873400&amp;loc=d3e23780-122690<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=118932676&amp;loc=d3e3602-108585<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 9<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=84230637&amp;loc=d3e32639-109319<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DeferredIncomeTaxExpenseBenefit</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncomeTaxExpenseBenefit">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of current income tax expense (benefit) and deferred income tax expense (benefit) pertaining to continuing operations.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 22<br> -Subparagraph (h)<br> -URI http://asc.fasb.org/extlink&amp;oid=115929826&amp;loc=d3e8736-108599<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(h))<br> -URI http://asc.fasb.org/extlink&amp;oid=26873400&amp;loc=d3e23780-122690<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 20<br> -Section 45<br> -Paragraph 2<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=109238882&amp;loc=d3e38679-109324<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncomeTaxExpenseBenefit</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncomeTaxAuthorityAxis=country_CA">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncomeTaxAuthorityAxis=country_CA</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncomeTaxAuthorityAxis=country_US">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncomeTaxAuthorityAxis=country_US</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncomeTaxAuthorityAxis=dsgx_OtherCountriesMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncomeTaxAuthorityAxis=dsgx_OtherCountriesMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>120
<FILENAME>R61.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.20.1</span><table class="report" border="0" cellspacing="2" id="idp6891820592">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>Note 6 - Other Receivables (Details Textual) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th"><div>Jan. 31, 2020</div></th>
<th class="th"><div>Jan. 31, 2019</div></th>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_dsgx_AmountsRecoverableFromFundsHeldInEscrow', window );">Amounts Recoverable from Funds Held in Escrow</a></td>
<td class="nump">$ 0<span></span>
</td>
<td class="nump">$ 100<span></span>
</td>
</tr>
</table>
<div style="display: none;"><table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dsgx_AmountsRecoverableFromFundsHeldInEscrow">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount recoverable from funds held In escrow related to acquisitions.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dsgx_AmountsRecoverableFromFundsHeldInEscrow</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dsgx_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table></div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>121
<FILENAME>R65.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.20.1</span><table class="report" border="0" cellspacing="2" id="idp6913822096">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>Note 9 - Intangible Assets (Details Textual) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th"><div>Jan. 31, 2020</div></th>
<th class="th"><div>Jan. 31, 2019</div></th>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsNet', window );">Finite-Lived Intangible Assets, Net, Ending Balance</a></td>
<td class="nump">$ 256,956<span></span>
</td>
<td class="nump">$ 176,192<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths', window );">Finite-Lived Intangible Assets, Amortization Expense, Next Twelve Months</a></td>
<td class="nump">52,700<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo', window );">Finite-Lived Intangible Assets, Amortization Expense, Year Two</a></td>
<td class="nump">48,300<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearThree', window );">Finite-Lived Intangible Assets, Amortization Expense, Year Three</a></td>
<td class="nump">40,700<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFour', window );">Finite-Lived Intangible Assets, Amortization Expense, Year Four</a></td>
<td class="nump">28,900<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFive', window );">Finite-Lived Intangible Assets, Amortization Expense, Year Five</a></td>
<td class="nump">25,900<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseAfterYearFive', window );">Finite-Lived Intangible Assets, Amortization Expense, after Year Five</a></td>
<td class="nump">$ 60,500<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseAfterYearFive">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of amortization expense for assets, excluding financial assets and goodwill, lacking physical substance with a finite life expected to be recognized after the fifth fiscal year following the latest fiscal year. Excludes interim and annual periods when interim periods are reported on a rolling approach, from latest balance sheet date.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseAfterYearFive</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of amortization expense for assets, excluding financial assets and goodwill, lacking physical substance with a finite life expected to be recognized during the next fiscal year following the latest fiscal year. Excludes interim and annual periods when interim periods are reported on a rolling approach, from latest balance sheet date.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 30<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)(3)<br> -URI http://asc.fasb.org/extlink&amp;oid=66006027&amp;loc=d3e16323-109275<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFive">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of amortization expense for assets, excluding financial assets and goodwill, lacking physical substance with a finite life expected to be recognized during the fifth fiscal year following the latest fiscal year. Excludes interim and annual periods when interim periods are reported on a rolling approach, from latest balance sheet date.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 30<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)(3)<br> -URI http://asc.fasb.org/extlink&amp;oid=66006027&amp;loc=d3e16323-109275<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFive</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFour">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of amortization expense for assets, excluding financial assets and goodwill, lacking physical substance with a finite life expected to be recognized during the fourth fiscal year following the latest fiscal year. Excludes interim and annual periods when interim periods are reported on a rolling approach, from latest balance sheet date.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 30<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)(3)<br> -URI http://asc.fasb.org/extlink&amp;oid=66006027&amp;loc=d3e16323-109275<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFour</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearThree">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of amortization expense for assets, excluding financial assets and goodwill, lacking physical substance with a finite life expected to be recognized during the third fiscal year following the latest fiscal year. Excludes interim and annual periods when interim periods are reported on a rolling approach, from latest balance sheet date.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 30<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)(3)<br> -URI http://asc.fasb.org/extlink&amp;oid=66006027&amp;loc=d3e16323-109275<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearThree</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of amortization expense for assets, excluding financial assets and goodwill, lacking physical substance with a finite life expected to be recognized during the second fiscal year following the latest fiscal year. Excludes interim and annual periods when interim periods are reported on a rolling approach, from latest balance sheet date.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 30<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)(3)<br> -URI http://asc.fasb.org/extlink&amp;oid=66006027&amp;loc=d3e16323-109275<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FiniteLivedIntangibleAssetsNet">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount after amortization of assets, excluding financial assets and goodwill, lacking physical substance with a finite life.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 30<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)(1)<br> -URI http://asc.fasb.org/extlink&amp;oid=66006027&amp;loc=d3e16323-109275<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FiniteLivedIntangibleAssetsNet</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>122
<FILENAME>R95.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.20.1</span><table class="report" border="0" cellspacing="2" id="idp6810109904">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Note 18 - Income Taxes - Reconciliation of the Total Estimated Liability Associated With Uncertain Tax Provisions (Details) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th" colspan="2">12 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Jan. 31, 2020</div></th>
<th class="th"><div>Jan. 31, 2019</div></th>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_UnrecognizedTaxBenefits', window );">Liability, beginning of year</a></td>
<td class="nump">$ 7,824<span></span>
</td>
<td class="nump">$ 8,977<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_UnrecognizedTaxBenefitsIncreasesResultingFromCurrentPeriodTaxPositions', window );">Gross increases &#8211; current period</a></td>
<td class="nump">139<span></span>
</td>
<td class="nump">493<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_UnrecognizedTaxBenefitsReductionsResultingFromLapseOfApplicableStatuteOfLimitations', window );">Lapsing due to statutes of limitations</a></td>
<td class="num">(1,313)<span></span>
</td>
<td class="num">(1,646)<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_UnrecognizedTaxBenefits', window );">Liability, end of year</a></td>
<td class="nump">$ 6,650<span></span>
</td>
<td class="nump">$ 7,824<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_UnrecognizedTaxBenefits">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of unrecognized tax benefits.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 45<br> -Paragraph 10B<br> -URI http://asc.fasb.org/extlink&amp;oid=116821951&amp;loc=SL37586934-109318<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 15A<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=84230637&amp;loc=SL6600010-109319<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_UnrecognizedTaxBenefits</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_UnrecognizedTaxBenefitsIncreasesResultingFromCurrentPeriodTaxPositions">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of increase in unrecognized tax benefits resulting from tax positions that have been or will be taken in current period tax return.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 15A<br> -Subparagraph (a)(2)<br> -URI http://asc.fasb.org/extlink&amp;oid=84230637&amp;loc=SL6600010-109319<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_UnrecognizedTaxBenefitsIncreasesResultingFromCurrentPeriodTaxPositions</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_UnrecognizedTaxBenefitsReductionsResultingFromLapseOfApplicableStatuteOfLimitations">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of decrease in unrecognized tax benefits resulting from lapses of applicable statutes of limitations.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 15A<br> -Subparagraph (a)(4)<br> -URI http://asc.fasb.org/extlink&amp;oid=84230637&amp;loc=SL6600010-109319<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_UnrecognizedTaxBenefitsReductionsResultingFromLapseOfApplicableStatuteOfLimitations</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>123
<FILENAME>R4.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.20.1</span><table class="report" border="0" cellspacing="2" id="idp6913096400">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Consolidated Statements of Operations - USD ($)<br> shares in Thousands, $ in Thousands</strong></div></th>
<th class="th" colspan="3">12 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Jan. 31, 2020</div></th>
<th class="th"><div>Jan. 31, 2019</div></th>
<th class="th"><div>Jan. 31, 2018</div></th>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax', window );">REVENUES</a></td>
<td class="nump">$ 325,791<span></span>
</td>
<td class="nump">$ 275,171<span></span>
</td>
<td class="nump">$ 237,439<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_CostOfGoodsAndServicesSold', window );">COST OF REVENUES</a></td>
<td class="nump">85,721<span></span>
</td>
<td class="nump">74,994<span></span>
</td>
<td class="nump">63,704<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_GrossProfit', window );">GROSS MARGIN</a></td>
<td class="nump">240,070<span></span>
</td>
<td class="nump">200,177<span></span>
</td>
<td class="nump">173,735<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_CostsAndExpensesAbstract', window );"><strong>EXPENSES</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_SellingAndMarketingExpense', window );">Sales and marketing</a></td>
<td class="nump">40,389<span></span>
</td>
<td class="nump">36,873<span></span>
</td>
<td class="nump">33,128<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ResearchAndDevelopmentExpense', window );">Research and development</a></td>
<td class="nump">53,513<span></span>
</td>
<td class="nump">47,872<span></span>
</td>
<td class="nump">41,804<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_GeneralAndAdministrativeExpense', window );">General and administrative</a></td>
<td class="nump">34,628<span></span>
</td>
<td class="nump">30,012<span></span>
</td>
<td class="nump">25,448<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_OtherNonoperatingExpense', window );">Other charges (Note 20)</a></td>
<td class="nump">3,797<span></span>
</td>
<td class="nump">3,798<span></span>
</td>
<td class="nump">3,994<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AmortizationOfIntangibleAssets', window );">Amortization of intangible assets</a></td>
<td class="nump">55,485<span></span>
</td>
<td class="nump">40,179<span></span>
</td>
<td class="nump">33,477<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_OperatingExpenses', window );"></a></td>
<td class="nump">187,812<span></span>
</td>
<td class="nump">158,734<span></span>
</td>
<td class="nump">137,851<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_OperatingIncomeLoss', window );">INCOME FROM OPERATIONS</a></td>
<td class="nump">52,258<span></span>
</td>
<td class="nump">41,443<span></span>
</td>
<td class="nump">35,884<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_InterestExpense', window );">INTEREST EXPENSE</a></td>
<td class="num">(4,416)<span></span>
</td>
<td class="num">(2,128)<span></span>
</td>
<td class="num">(1,297)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_InvestmentIncomeNet', window );">INVESTMENT INCOME</a></td>
<td class="nump">193<span></span>
</td>
<td class="nump">195<span></span>
</td>
<td class="nump">161<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesMinorityInterestAndIncomeLossFromEquityMethodInvestments', window );">INCOME BEFORE INCOME TAXES</a></td>
<td class="nump">48,033<span></span>
</td>
<td class="nump">39,510<span></span>
</td>
<td class="nump">34,748<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_IncomeTaxExpenseBenefitContinuingOperationsAbstract', window );"><strong>INCOME TAX EXPENSE (Note 18)</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_CurrentIncomeTaxExpenseBenefit', window );">Current</a></td>
<td class="nump">5,295<span></span>
</td>
<td class="nump">6,042<span></span>
</td>
<td class="nump">6,572<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DeferredIncomeTaxExpenseBenefit', window );">Deferred</a></td>
<td class="nump">5,743<span></span>
</td>
<td class="nump">2,191<span></span>
</td>
<td class="nump">1,297<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_IncomeTaxExpenseBenefit', window );"></a></td>
<td class="nump">11,038<span></span>
</td>
<td class="nump">8,233<span></span>
</td>
<td class="nump">7,869<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_NetIncomeLoss', window );">NET INCOME</a></td>
<td class="nump">$ 36,997<span></span>
</td>
<td class="nump">$ 31,277<span></span>
</td>
<td class="nump">$ 26,879<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_EarningsPerShareAbstract', window );"><strong>Earnings per share</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_EarningsPerShareBasic', window );">Basic (in dollars per share)</a></td>
<td class="nump">$ 0.45<span></span>
</td>
<td class="nump">$ 0.41<span></span>
</td>
<td class="nump">$ 0.35<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_EarningsPerShareDiluted', window );">Diluted (in dollars per share)</a></td>
<td class="nump">$ 0.45<span></span>
</td>
<td class="nump">$ 0.40<span></span>
</td>
<td class="nump">$ 0.35<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_WeightedAverageNumberOfSharesOutstandingAbstract', window );"><strong>WEIGHTED AVERAGE SHARES OUTSTANDING (thousands)</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_WeightedAverageNumberOfSharesOutstandingBasic', window );">Basic (in shares)</a></td>
<td class="nump">81,659<span></span>
</td>
<td class="nump">76,832<span></span>
</td>
<td class="nump">76,324<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding', window );">Diluted (in shares)</a></td>
<td class="nump">82,867<span></span>
</td>
<td class="nump">77,791<span></span>
</td>
<td class="nump">77,112<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AmortizationOfIntangibleAssets">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The aggregate expense charged against earnings to allocate the cost of intangible assets (nonphysical assets not used in production) in a systematic and rational manner to the periods expected to benefit from such assets. As a noncash expense, this element is added back to net income when calculating cash provided by or used in operations using the indirect method.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=118932676&amp;loc=d3e3602-108585<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 30<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)(2)<br> -URI http://asc.fasb.org/extlink&amp;oid=66006027&amp;loc=d3e16323-109275<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 30<br> -Section 45<br> -Paragraph 2<br> -URI http://asc.fasb.org/extlink&amp;oid=6388964&amp;loc=d3e16225-109274<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AmortizationOfIntangibleAssets</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CostOfGoodsAndServicesSold">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The aggregate costs related to goods produced and sold and services rendered by an entity during the reporting period. This excludes costs incurred during the reporting period related to financial services rendered and other revenue generating activities.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03.2(a),(d))<br> -URI http://asc.fasb.org/extlink&amp;oid=116634182&amp;loc=SL114868664-224227<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CostOfGoodsAndServicesSold</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CostsAndExpensesAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CostsAndExpensesAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CurrentIncomeTaxExpenseBenefit">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of current income tax expense (benefit) pertaining to taxable income (loss) from continuing operations.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB Topic 6.I.7)<br> -URI http://asc.fasb.org/extlink&amp;oid=116825942&amp;loc=d3e330036-122817<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 9<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=84230637&amp;loc=d3e32639-109319<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(h))<br> -URI http://asc.fasb.org/extlink&amp;oid=26873400&amp;loc=d3e23780-122690<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CurrentIncomeTaxExpenseBenefit</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DeferredIncomeTaxExpenseBenefit">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of deferred income tax expense (benefit) pertaining to income (loss) from continuing operations.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB Topic 6.I.7)<br> -URI http://asc.fasb.org/extlink&amp;oid=116825942&amp;loc=d3e330036-122817<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(h))<br> -URI http://asc.fasb.org/extlink&amp;oid=26873400&amp;loc=d3e23780-122690<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=118932676&amp;loc=d3e3602-108585<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 9<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=84230637&amp;loc=d3e32639-109319<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DeferredIncomeTaxExpenseBenefit</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_EarningsPerShareAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EarningsPerShareAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_EarningsPerShareBasic">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The amount of net income (loss) for the period per each share of common stock or unit outstanding during the reporting period.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 220<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(19))<br> -URI http://asc.fasb.org/extlink&amp;oid=116637232&amp;loc=SL114874131-224263<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 45<br> -Paragraph 7<br> -URI http://asc.fasb.org/extlink&amp;oid=117326831&amp;loc=d3e1337-109256<br><br>Reference 3: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 55<br> -Paragraph 52<br> -URI http://asc.fasb.org/extlink&amp;oid=117327953&amp;loc=d3e4984-109258<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(21))<br> -URI http://asc.fasb.org/extlink&amp;oid=116634182&amp;loc=SL114868664-224227<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 11<br> -URI http://asc.fasb.org/extlink&amp;oid=109234566&amp;loc=d3e22694-107794<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=6371337&amp;loc=d3e3550-109257<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 45<br> -Paragraph 2<br> -URI http://asc.fasb.org/extlink&amp;oid=117326831&amp;loc=d3e1252-109256<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 220<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-04(23))<br> -URI http://asc.fasb.org/extlink&amp;oid=116637391&amp;loc=SL114874048-224260<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 45<br> -Paragraph 60B<br> -Subparagraph (d)<br> -URI http://asc.fasb.org/extlink&amp;oid=117326831&amp;loc=SL5780133-109256<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EarningsPerShareBasic</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>num:perShareItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_EarningsPerShareDiluted">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The amount of net income (loss) for the period available to each share of common stock or common unit outstanding during the reporting period and to each share or unit that would have been outstanding assuming the issuance of common shares or units for all dilutive potential common shares or units outstanding during the reporting period.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 55<br> -Paragraph 52<br> -URI http://asc.fasb.org/extlink&amp;oid=117327953&amp;loc=d3e4984-109258<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 45<br> -Paragraph 2<br> -URI http://asc.fasb.org/extlink&amp;oid=117326831&amp;loc=d3e1252-109256<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=6371337&amp;loc=d3e3550-109257<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 220<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-04(23))<br> -URI http://asc.fasb.org/extlink&amp;oid=116637391&amp;loc=SL114874048-224260<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 11<br> -URI http://asc.fasb.org/extlink&amp;oid=109234566&amp;loc=d3e22694-107794<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 45<br> -Paragraph 7<br> -URI http://asc.fasb.org/extlink&amp;oid=117326831&amp;loc=d3e1337-109256<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(21))<br> -URI http://asc.fasb.org/extlink&amp;oid=116634182&amp;loc=SL114868664-224227<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 45<br> -Paragraph 60B<br> -Subparagraph (d)<br> -URI http://asc.fasb.org/extlink&amp;oid=117326831&amp;loc=SL5780133-109256<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 220<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(19))<br> -URI http://asc.fasb.org/extlink&amp;oid=116637232&amp;loc=SL114874131-224263<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EarningsPerShareDiluted</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>num:perShareItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_GeneralAndAdministrativeExpense">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The aggregate total of expenses of managing and administering the affairs of an entity, including affiliates of the reporting entity, which are not directly or indirectly associated with the manufacture, sale or creation of a product or product line.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03.4)<br> -URI http://asc.fasb.org/extlink&amp;oid=116634182&amp;loc=SL114868664-224227<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_GeneralAndAdministrativeExpense</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_GrossProfit">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Aggregate revenue less cost of goods and services sold or operating expenses directly attributable to the revenue generation activity.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03.1,2)<br> -URI http://asc.fasb.org/extlink&amp;oid=116634182&amp;loc=SL114868664-224227<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_GrossProfit</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesMinorityInterestAndIncomeLossFromEquityMethodInvestments">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of income (loss) from continuing operations before deduction of income tax expense (benefit) and income (loss) attributable to noncontrolling interest, and addition of income (loss) from equity method investments.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08.(h)(1)(i))<br> -URI http://asc.fasb.org/extlink&amp;oid=26873400&amp;loc=d3e23780-122690<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesMinorityInterestAndIncomeLossFromEquityMethodInvestments</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncomeTaxExpenseBenefit">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of current income tax expense (benefit) and deferred income tax expense (benefit) pertaining to continuing operations.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 22<br> -Subparagraph (h)<br> -URI http://asc.fasb.org/extlink&amp;oid=115929826&amp;loc=d3e8736-108599<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(h))<br> -URI http://asc.fasb.org/extlink&amp;oid=26873400&amp;loc=d3e23780-122690<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 20<br> -Section 45<br> -Paragraph 2<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=109238882&amp;loc=d3e38679-109324<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncomeTaxExpenseBenefit</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncomeTaxExpenseBenefitContinuingOperationsAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncomeTaxExpenseBenefitContinuingOperationsAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_InterestExpense">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of the cost of borrowed funds accounted for as interest expense.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 835<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=6450988&amp;loc=d3e26243-108391<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 835<br> -SubTopic 30<br> -Section 45<br> -Paragraph 3<br> -URI http://asc.fasb.org/extlink&amp;oid=114775744&amp;loc=d3e28555-108399<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 22<br> -Subparagraph (d)<br> -URI http://asc.fasb.org/extlink&amp;oid=115929826&amp;loc=d3e8736-108599<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (210.5-03(11))<br> -URI http://asc.fasb.org/extlink&amp;oid=116634182&amp;loc=SL114868664-224227<br><br>Reference 5: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 220<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-04.9)<br> -URI http://asc.fasb.org/extlink&amp;oid=116637391&amp;loc=SL114874048-224260<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_InterestExpense</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_InvestmentIncomeNet">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount after accretion (amortization) of discount (premium), and investment expense, of interest income and dividend income on nonoperating securities.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03.9)<br> -URI http://asc.fasb.org/extlink&amp;oid=116634182&amp;loc=SL114868664-224227<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03.7(a),(b))<br> -URI http://asc.fasb.org/extlink&amp;oid=116634182&amp;loc=SL114868664-224227<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03.8)<br> -URI http://asc.fasb.org/extlink&amp;oid=116634182&amp;loc=SL114868664-224227<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_InvestmentIncomeNet</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_NetIncomeLoss">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The portion of profit or loss for the period, net of income taxes, which is attributable to the parent.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 45<br> -Paragraph 1A<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=118930883&amp;loc=SL7669619-108580<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 220<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-04(22))<br> -URI http://asc.fasb.org/extlink&amp;oid=116637391&amp;loc=SL114874048-224260<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 45<br> -Paragraph 1B<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=118930883&amp;loc=SL7669625-108580<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 220<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(18))<br> -URI http://asc.fasb.org/extlink&amp;oid=116637232&amp;loc=SL114874131-224263<br><br>Reference 5: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(20))<br> -URI http://asc.fasb.org/extlink&amp;oid=116634182&amp;loc=SL114868664-224227<br><br>Reference 6: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 28<br> -URI http://asc.fasb.org/extlink&amp;oid=118932676&amp;loc=d3e3602-108585<br><br>Reference 7: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -URI http://asc.fasb.org/extlink&amp;oid=6371337&amp;loc=d3e3550-109257<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_NetIncomeLoss</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OperatingExpenses">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Generally recurring costs associated with normal operations except for the portion of these expenses which can be clearly related to production and included in cost of sales or services. Includes selling, general and administrative expense.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OperatingExpenses</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OperatingIncomeLoss">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The net result for the period of deducting operating expenses from operating revenues.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OperatingIncomeLoss</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OtherNonoperatingExpense">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of expense related to nonoperating activities, classified as other.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03.9)<br> -URI http://asc.fasb.org/extlink&amp;oid=116634182&amp;loc=SL114868664-224227<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OtherNonoperatingExpense</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ResearchAndDevelopmentExpense">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The aggregate costs incurred (1) in a planned search or critical investigation aimed at discovery of new knowledge with the hope that such knowledge will be useful in developing a new product or service, a new process or technique, or in bringing about a significant improvement to an existing product or process; or (2) to translate research findings or other knowledge into a plan or design for a new product or process or for a significant improvement to an existing product or process whether intended for sale or the entity's use, during the reporting period charged to research and development projects, including the costs of developing computer software up to the point in time of achieving technological feasibility, and costs allocated in accounting for a business combination to in-process projects deemed to have no alternative future use.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 985<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1<br> -URI http://asc.fasb.org/extlink&amp;oid=6501960&amp;loc=d3e128462-111756<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 730<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -URI http://asc.fasb.org/extlink&amp;oid=6420194&amp;loc=d3e21568-108373<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ResearchAndDevelopmentExpense</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount, including tax collected from customer, of revenue from satisfaction of performance obligation by transferring promised good or service to customer. Tax collected from customer is tax assessed by governmental authority that is both imposed on and concurrent with specific revenue-producing transaction, including, but not limited to, sales, use, value-added and excise.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 606<br> -SubTopic 10<br> -Section 50<br> -Paragraph 5<br> -URI http://asc.fasb.org/extlink&amp;oid=118956577&amp;loc=SL49130545-203045<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 606<br> -SubTopic 10<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=118956577&amp;loc=SL49130543-203045<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_SellingAndMarketingExpense">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The aggregate total amount of expenses directly related to the marketing or selling of products or services.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_SellingAndMarketingExpense</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The average number of shares or units issued and outstanding that are used in calculating diluted EPS or earnings per unit (EPU), determined based on the timing of issuance of shares or units in the period.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=6371337&amp;loc=d3e3550-109257<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 45<br> -Paragraph 16<br> -URI http://asc.fasb.org/extlink&amp;oid=117326831&amp;loc=d3e1505-109256<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_WeightedAverageNumberOfSharesOutstandingAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_WeightedAverageNumberOfSharesOutstandingAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_WeightedAverageNumberOfSharesOutstandingBasic">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Number of [basic] shares or units, after adjustment for contingently issuable shares or units and other shares or units not deemed outstanding, determined by relating the portion of time within a reporting period that common shares or units have been outstanding to the total time in that period.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 45<br> -Paragraph 10<br> -URI http://asc.fasb.org/extlink&amp;oid=117326831&amp;loc=d3e1448-109256<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=6371337&amp;loc=d3e3550-109257<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_WeightedAverageNumberOfSharesOutstandingBasic</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>124
<FILENAME>R8.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.20.1</span><table class="report" border="0" cellspacing="2" id="idp6912984448">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Consolidated Statements of Cash Flows - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th" colspan="3">12 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Jan. 31, 2020</div></th>
<th class="th"><div>Jan. 31, 2019</div></th>
<th class="th"><div>Jan. 31, 2018</div></th>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract', window );"><strong>OPERATING ACTIVITIES</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_NetIncomeLoss', window );">Net income</a></td>
<td class="nump">$ 36,997<span></span>
</td>
<td class="nump">$ 31,277<span></span>
</td>
<td class="nump">$ 26,879<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract', window );"><strong>Adjustments to reconcile net income to cash provided by operating activities:</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_Depreciation', window );">Depreciation</a></td>
<td class="nump">6,037<span></span>
</td>
<td class="nump">4,544<span></span>
</td>
<td class="nump">4,101<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AmortizationOfIntangibleAssets', window );">Amortization of intangible assets</a></td>
<td class="nump">55,485<span></span>
</td>
<td class="nump">40,179<span></span>
</td>
<td class="nump">33,477<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensation', window );">Stock-based compensation expense (Note 17)</a></td>
<td class="nump">4,909<span></span>
</td>
<td class="nump">3,710<span></span>
</td>
<td class="nump">2,807<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_OtherNoncashIncomeExpense', window );">Other non-cash operating activities</a></td>
<td class="nump">337<span></span>
</td>
<td class="nump">71<span></span>
</td>
<td class="num">(784)<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DeferredIncomeTaxExpenseBenefit', window );">Deferred tax expense</a></td>
<td class="nump">5,743<span></span>
</td>
<td class="nump">2,191<span></span>
</td>
<td class="nump">1,297<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_dsgx_DeferredTaxCharges', window );">Deferred tax charge</a></td>
<td class="text"> <span></span>
</td>
<td class="num">(49)<span></span>
</td>
<td class="num">(31)<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_IncreaseDecreaseInOperatingCapital', window );">Changes in operating assets and liabilities (Note 21)</a></td>
<td class="num">(5,256)<span></span>
</td>
<td class="num">(3,849)<span></span>
</td>
<td class="nump">4,397<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_NetCashProvidedByUsedInOperatingActivities', window );">Cash provided by operating activities</a></td>
<td class="nump">104,252<span></span>
</td>
<td class="nump">78,074<span></span>
</td>
<td class="nump">72,143<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_NetCashProvidedByUsedInInvestingActivitiesContinuingOperationsAbstract', window );"><strong>INVESTING ACTIVITIES</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_PaymentsToAcquirePropertyPlantAndEquipment', window );">Additions to property and equipment</a></td>
<td class="num">(4,900)<span></span>
</td>
<td class="num">(5,244)<span></span>
</td>
<td class="num">(5,086)<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_PaymentsToAcquireBusinessesNetOfCashAcquired', window );">Acquisition of subsidiaries, net of cash acquired (Note 3)</a></td>
<td class="num">(292,053)<span></span>
</td>
<td class="num">(67,932)<span></span>
</td>
<td class="num">(111,867)<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_NetCashProvidedByUsedInInvestingActivities', window );">Cash used in investing activities</a></td>
<td class="num">(296,953)<span></span>
</td>
<td class="num">(73,176)<span></span>
</td>
<td class="num">(116,953)<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_NetCashProvidedByUsedInFinancingActivitiesContinuingOperationsAbstract', window );"><strong>FINANCING ACTIVITIES</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ProceedsFromLinesOfCredit', window );">Proceeds from borrowing on the credit facility</a></td>
<td class="nump">297,015<span></span>
</td>
<td class="nump">68,468<span></span>
</td>
<td class="nump">80,000<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_RepaymentsOfDebt', window );">Credit facility repayments</a></td>
<td class="num">(322,634)<span></span>
</td>
<td class="num">(78,659)<span></span>
</td>
<td class="num">(43,000)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_PaymentsOfDebtIssuanceCosts', window );">Payment of debt issuance costs</a></td>
<td class="num">(1,400)<span></span>
</td>
<td class="text"> <span></span>
</td>
<td class="text"> <span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ProceedsFromIssuanceOfCommonStock', window );">Issuance of common shares for cash, net of issuance costs (Note 15)</a></td>
<td class="nump">237,973<span></span>
</td>
<td class="nump">345<span></span>
</td>
<td class="nump">1,003<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_PaymentForContingentConsiderationLiabilityFinancingActivities', window );">Payment of contingent consideration</a></td>
<td class="num">(785)<span></span>
</td>
<td class="num">(1,531)<span></span>
</td>
<td class="text"> <span></span>
</td>
</tr>
<tr class="rou">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_NetCashProvidedByUsedInFinancingActivities', window );">Cash provided by (used in) financing activities</a></td>
<td class="nump">210,169<span></span>
</td>
<td class="num">(11,377)<span></span>
</td>
<td class="nump">38,003<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_EffectOfExchangeRateOnCashAndCashEquivalents', window );">Effect of foreign exchange rate changes on cash</a></td>
<td class="num">(363)<span></span>
</td>
<td class="num">(1,368)<span></span>
</td>
<td class="nump">3,817<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_CashAndCashEquivalentsPeriodIncreaseDecrease', window );">Increase (decrease) in cash</a></td>
<td class="nump">17,105<span></span>
</td>
<td class="num">(7,847)<span></span>
</td>
<td class="num">(2,990)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_CashAndCashEquivalentsAtCarryingValue', window );">Cash, beginning of year</a></td>
<td class="nump">27,298<span></span>
</td>
<td class="nump">35,145<span></span>
</td>
<td class="nump">38,135<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_CashAndCashEquivalentsAtCarryingValue', window );">Cash, end of year</a></td>
<td class="nump">44,403<span></span>
</td>
<td class="nump">27,298<span></span>
</td>
<td class="nump">35,145<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_SupplementalCashFlowInformationAbstract', window );"><strong>Supplemental disclosure of cash flow information:</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_InterestPaidNet', window );">Cash paid during the year for interest</a></td>
<td class="nump">3,516<span></span>
</td>
<td class="nump">1,712<span></span>
</td>
<td class="nump">680<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_IncomeTaxesPaidNet', window );">Cash paid during the year for income taxes</a></td>
<td class="nump">$ 8,946<span></span>
</td>
<td class="nump">$ 7,862<span></span>
</td>
<td class="nump">$ 3,887<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dsgx_DeferredTaxCharges">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Represents the amount of deferred tax charges recorded during the period.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dsgx_DeferredTaxCharges</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dsgx_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AmortizationOfIntangibleAssets">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The aggregate expense charged against earnings to allocate the cost of intangible assets (nonphysical assets not used in production) in a systematic and rational manner to the periods expected to benefit from such assets. As a noncash expense, this element is added back to net income when calculating cash provided by or used in operations using the indirect method.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=118932676&amp;loc=d3e3602-108585<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 30<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)(2)<br> -URI http://asc.fasb.org/extlink&amp;oid=66006027&amp;loc=d3e16323-109275<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 30<br> -Section 45<br> -Paragraph 2<br> -URI http://asc.fasb.org/extlink&amp;oid=6388964&amp;loc=d3e16225-109274<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AmortizationOfIntangibleAssets</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CashAndCashEquivalentsAtCarryingValue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of currency on hand as well as demand deposits with banks or financial institutions. Includes other kinds of accounts that have the general characteristics of demand deposits. Also includes short-term, highly liquid investments that are both readily convertible to known amounts of cash and so near their maturity that they present insignificant risk of changes in value because of changes in interest rates. Excludes cash and cash equivalents within disposal group and discontinued operation.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 4<br> -URI http://asc.fasb.org/extlink&amp;oid=118932676&amp;loc=d3e3044-108585<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section 45<br> -Paragraph 1<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=118951113&amp;loc=d3e6676-107765<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.1)<br> -URI http://asc.fasb.org/extlink&amp;oid=6877327&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CashAndCashEquivalentsAtCarryingValue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CashAndCashEquivalentsPeriodIncreaseDecrease">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of increase (decrease) in cash and cash equivalents. Cash and cash equivalents are the amount of currency on hand as well as demand deposits with banks or financial institutions. Includes other kinds of accounts that have the general characteristics of demand deposits. Also includes short-term, highly liquid investments that are both readily convertible to known amounts of cash and so near their maturity that they present insignificant risk of changes in value because of changes in interest rates. Includes effect from exchange rate changes.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CashAndCashEquivalentsPeriodIncreaseDecrease</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DeferredIncomeTaxExpenseBenefit">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of deferred income tax expense (benefit) pertaining to income (loss) from continuing operations.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB Topic 6.I.7)<br> -URI http://asc.fasb.org/extlink&amp;oid=116825942&amp;loc=d3e330036-122817<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(h))<br> -URI http://asc.fasb.org/extlink&amp;oid=26873400&amp;loc=d3e23780-122690<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=118932676&amp;loc=d3e3602-108585<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 9<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=84230637&amp;loc=d3e32639-109319<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DeferredIncomeTaxExpenseBenefit</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_Depreciation">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The amount of expense recognized in the current period that reflects the allocation of the cost of tangible assets over the assets' useful lives. Includes production and non-production related depreciation.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 360<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=6391035&amp;loc=d3e2868-110229<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=118932676&amp;loc=d3e3602-108585<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_Depreciation</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_EffectOfExchangeRateOnCashAndCashEquivalents">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of increase (decrease) from the effect of exchange rate changes on cash and cash equivalent balances held in foreign currencies.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 830<br> -SubTopic 230<br> -Section 45<br> -Paragraph 1<br> -URI http://asc.fasb.org/extlink&amp;oid=98513438&amp;loc=d3e33268-110906<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EffectOfExchangeRateOnCashAndCashEquivalents</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncomeTaxesPaidNet">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The amount of cash paid during the current period to foreign, federal, state, and local authorities as taxes on income, net of any cash received during the current period as refunds for the overpayment of taxes.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -URI http://asc.fasb.org/extlink&amp;oid=98513485&amp;loc=d3e4297-108586<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncomeTaxesPaidNet</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncreaseDecreaseInOperatingCapital">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The increase (decrease) during the reporting period of all assets and liabilities used in operating activities.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=118932676&amp;loc=d3e3602-108585<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncreaseDecreaseInOperatingCapital</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_InterestPaidNet">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of cash paid for interest, excluding capitalized interest, classified as operating activity. Includes, but is not limited to, payment to settle zero-coupon bond for accreted interest of debt discount and debt instrument with insignificant coupon interest rate in relation to effective interest rate of borrowing attributable to accreted interest of debt discount.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -URI http://asc.fasb.org/extlink&amp;oid=98513485&amp;loc=d3e4297-108586<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 17<br> -Subparagraph (d)<br> -URI http://asc.fasb.org/extlink&amp;oid=118932676&amp;loc=d3e3367-108585<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 25<br> -Subparagraph (e)<br> -URI http://asc.fasb.org/extlink&amp;oid=118932676&amp;loc=d3e3536-108585<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_InterestPaidNet</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_NetCashProvidedByUsedInFinancingActivities">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of cash inflow (outflow) from financing activities, including discontinued operations. Financing activity cash flows include obtaining resources from owners and providing them with a return on, and a return of, their investment; borrowing money and repaying amounts borrowed, or settling the obligation; and obtaining and paying for other resources obtained from creditors on long-term credit.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 24<br> -URI http://asc.fasb.org/extlink&amp;oid=118932676&amp;loc=d3e3521-108585<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_NetCashProvidedByUsedInFinancingActivities</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_NetCashProvidedByUsedInFinancingActivitiesContinuingOperationsAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_NetCashProvidedByUsedInFinancingActivitiesContinuingOperationsAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_NetCashProvidedByUsedInInvestingActivities">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of cash inflow (outflow) from investing activities, including discontinued operations. Investing activity cash flows include making and collecting loans and acquiring and disposing of debt or equity instruments and property, plant, and equipment and other productive assets.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 24<br> -URI http://asc.fasb.org/extlink&amp;oid=118932676&amp;loc=d3e3521-108585<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_NetCashProvidedByUsedInInvestingActivities</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_NetCashProvidedByUsedInInvestingActivitiesContinuingOperationsAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_NetCashProvidedByUsedInInvestingActivitiesContinuingOperationsAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_NetCashProvidedByUsedInOperatingActivities">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of cash inflow (outflow) from operating activities, including discontinued operations. Operating activity cash flows include transactions, adjustments, and changes in value not defined as investing or financing activities.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 25<br> -URI http://asc.fasb.org/extlink&amp;oid=118932676&amp;loc=d3e3536-108585<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 24<br> -URI http://asc.fasb.org/extlink&amp;oid=118932676&amp;loc=d3e3521-108585<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 28<br> -URI http://asc.fasb.org/extlink&amp;oid=118932676&amp;loc=d3e3602-108585<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_NetCashProvidedByUsedInOperatingActivities</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_NetIncomeLoss">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The portion of profit or loss for the period, net of income taxes, which is attributable to the parent.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 45<br> -Paragraph 1A<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=118930883&amp;loc=SL7669619-108580<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 220<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-04(22))<br> -URI http://asc.fasb.org/extlink&amp;oid=116637391&amp;loc=SL114874048-224260<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 45<br> -Paragraph 1B<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=118930883&amp;loc=SL7669625-108580<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 220<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(18))<br> -URI http://asc.fasb.org/extlink&amp;oid=116637232&amp;loc=SL114874131-224263<br><br>Reference 5: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(20))<br> -URI http://asc.fasb.org/extlink&amp;oid=116634182&amp;loc=SL114868664-224227<br><br>Reference 6: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 28<br> -URI http://asc.fasb.org/extlink&amp;oid=118932676&amp;loc=d3e3602-108585<br><br>Reference 7: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -URI http://asc.fasb.org/extlink&amp;oid=6371337&amp;loc=d3e3550-109257<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_NetIncomeLoss</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OtherNoncashIncomeExpense">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of income (expense) included in net income that results in no cash inflow (outflow), classified as other.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 28<br> -URI http://asc.fasb.org/extlink&amp;oid=118932676&amp;loc=d3e3602-108585<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OtherNoncashIncomeExpense</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PaymentForContingentConsiderationLiabilityFinancingActivities">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of cash outflow, not made soon after acquisition date of business combination, to settle contingent consideration liability up to amount recognized at acquisition date, including, but not limited to, measurement period adjustment and less amount paid soon after acquisition date.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 15<br> -Subparagraph (f)<br> -URI http://asc.fasb.org/extlink&amp;oid=118932676&amp;loc=d3e3291-108585<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PaymentForContingentConsiderationLiabilityFinancingActivities</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PaymentsOfDebtIssuanceCosts">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The cash outflow paid to third parties in connection with debt origination, which will be amortized over the remaining maturity period of the associated long-term debt.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 15<br> -Subparagraph (e)<br> -URI http://asc.fasb.org/extlink&amp;oid=118932676&amp;loc=d3e3291-108585<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PaymentsOfDebtIssuanceCosts</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PaymentsToAcquireBusinessesNetOfCashAcquired">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The cash outflow associated with the acquisition of a business, net of the cash acquired from the purchase.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 13<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=118932676&amp;loc=d3e3213-108585<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PaymentsToAcquireBusinessesNetOfCashAcquired</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PaymentsToAcquirePropertyPlantAndEquipment">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The cash outflow associated with the acquisition of long-lived, physical assets that are used in the normal conduct of business to produce goods and services and not intended for resale; includes cash outflows to pay for construction of self-constructed assets.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 13<br> -Subparagraph (c)<br> -URI http://asc.fasb.org/extlink&amp;oid=118932676&amp;loc=d3e3213-108585<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PaymentsToAcquirePropertyPlantAndEquipment</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ProceedsFromIssuanceOfCommonStock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The cash inflow from the additional capital contribution to the entity.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 14<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=118932676&amp;loc=d3e3255-108585<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ProceedsFromIssuanceOfCommonStock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ProceedsFromLinesOfCredit">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of cash inflow from contractual arrangement with the lender, including but not limited to, letter of credit, standby letter of credit and revolving credit arrangements.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 14<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=118932676&amp;loc=d3e3255-108585<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08.(f))<br> -URI http://asc.fasb.org/extlink&amp;oid=26873400&amp;loc=d3e23780-122690<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ProceedsFromLinesOfCredit</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_RepaymentsOfDebt">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The cash outflow during the period from the repayment of aggregate short-term and long-term debt. Excludes payment of capital lease obligations.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 15<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=118932676&amp;loc=d3e3291-108585<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RepaymentsOfDebt</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensation">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of noncash expense for share-based payment arrangement.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=118932676&amp;loc=d3e3602-108585<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensation</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_SupplementalCashFlowInformationAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_SupplementalCashFlowInformationAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>125
<FILENAME>R23.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.20.1</span><table class="report" border="0" cellspacing="2" id="idp6891924000">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Note 15 - Share Capital<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Jan. 31, 2020</div></th></tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DisclosureTextBlockAbstract', window );"><strong>Notes to Financial Statements</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_dsgx_ShareCapitalTextBlock', window );">Share Capital [Text Block]</a></td>
<td class="text"><div style="display: inline; font-family: times new roman; font-size: 10pt"><div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"><div style="display: inline; font-weight: bold;">Note <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">15</div> &#x2013; Share Capital</div></div> <div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"><div style="display: inline; font-weight: bold;">&nbsp;</div></div> <div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">On <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"> June 6, 2018, </div>we filed a final short-form base shelf prospectus (the &#x201c;Base Shelf Prospectus&#x201d;), allowing us to offer and issue the following securities: (i) common shares; (ii) preferred shares; (iii) senior or subordinated unsecured debt securities; (iv) subscription receipts; (v) warrants; and (vi) securities comprised of more than <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">one</div> of the aforementioned common shares, preferred shares, debt securities, subscription receipts and/ or warrants offered together as a unit. These securities <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"> may </div>be offered separately or together, in separate series, in amounts, at prices and on terms to be set forth in <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">one</div> or more shelf prospectus supplements. The aggregate initial offering price of securities that <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"> may </div>be sold by us (or certain of our current or future shareholders) pursuant to the Base Shelf Prospectus during the <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">25</div>-month period that the Base Shelf Prospectus, including any amendments thereto, remains valid was limited to an aggregate of <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">$750</div> million.</div> <div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&nbsp;</div> <div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">On <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"> June 10, 2019, </div>we completed a public offering of common shares in the United States and Canada at a price of <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">$35.50</div> per common share pursuant to the <div style="display: inline; color: black">short-form base shelf prospectus and related prospectus supplement filed in connection with the offering (the &#x201c;Offering&#x201d;)</div>. The total offering of <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">6,900,000</div> common shares included the exercise in full by the underwriters of the <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">15%</div> over-allotment option, for aggregate gross proceeds to Descartes of <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">$245.0</div> million. Net proceeds to Descartes were approximately <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">$236.6</div> million once expenses associated with the Offering were deducted inclusive of the related deferred tax benefit on share issuance costs. As a result of the Offering, the aggregate balance of securities that <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"> may </div>be sold by us pursuant to the Base Shelf Prospectus has been reduced to an aggregate of <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">$505.0</div> million.</div> <div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&nbsp;</div> <div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"></div> <!-- Field: Page; Sequence: 28 -->   <div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"></div> <div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">The following table sets forth the common shares outstanding (number of shares in thousands):</div> <div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&nbsp;</div> <div> <table cellpadding="0" cellspacing="0" style="border-collapse: collapse; font: 10pt Times New Roman, Times, Serif; min-width: 700px;">  <tr style="vertical-align: bottom; background-color: White"> <td>&nbsp;</td> <td style="font-weight: bold">&nbsp;</td> <td style="border-top: Black 1pt solid; font-weight: bold; text-align: left">&nbsp;</td> <td style="border-top: Black 1pt solid; font-weight: bold; text-align: right"><div style="display: inline; font-family: Times New Roman, Times, Serif; font-size: 10pt"><div style="display: inline; font-weight: bold;">January 31,</div></div></td> <td style="border-top: Black 1pt solid; white-space: nowrap; font-weight: bold; text-align: left">&nbsp;</td> <td style="border-top: Black 1pt solid">&nbsp;</td> <td style="border-top: Black 1pt solid; text-align: left">&nbsp;</td> <td style="border-top: Black 1pt solid; text-align: right"><div style="display: inline; font-family: Times New Roman, Times, Serif; font-size: 10pt">January 31,</div></td> <td style="border-top: Black 1pt solid; white-space: nowrap; text-align: left">&nbsp;</td> <td style="border-top: Black 1pt solid">&nbsp;</td> <td style="border-top: Black 1pt solid; text-align: left">&nbsp;</td> <td style="border-top: Black 1pt solid; text-align: right"><div style="display: inline; font-family: Times New Roman, Times, Serif; font-size: 10pt">January 31,</div></td> <td style="border-top: Black 1pt solid; white-space: nowrap; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: White"> <td style="font-style: italic; padding-bottom: 1pt">(thousands of shares)</td> <td style="font-weight: bold">&nbsp;</td> <td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: right">2020</td> <td style="white-space: nowrap; border-bottom: Black 1pt solid; font-weight: bold; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid">&nbsp;</td> <td style="border-bottom: Black 1pt solid; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid; text-align: right">2019</td> <td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid">&nbsp;</td> <td style="border-bottom: Black 1pt solid; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid; text-align: right">2018</td> <td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="width: 58%; text-align: left">Balance, beginning of year</td> <td style="width: 2%; font-weight: bold">&nbsp;</td> <td style="width: 1%; font-weight: bold; text-align: left">&nbsp;</td> <td style="width: 10%; font-weight: bold; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">76,865</div></td> <td style="white-space: nowrap; width: 1%; font-weight: bold; text-align: left">&nbsp;</td> <td style="width: 2%">&nbsp;</td> <td style="width: 1%; text-align: left">&nbsp;</td> <td style="width: 10%; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">76,773</div></td> <td style="white-space: nowrap; width: 1%; text-align: left">&nbsp;</td> <td style="width: 2%">&nbsp;</td> <td style="width: 1%; text-align: left">&nbsp;</td> <td style="width: 10%; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">75,875</div></td> <td style="white-space: nowrap; width: 1%; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: White"> <td style="padding-left: 12pt">Shares issued:</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right">&nbsp;</td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right">&nbsp;</td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right">&nbsp;</td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="text-align: left; padding-left: 16.5pt">Stock options and share units exercised</td> <td style="font-weight: bold">&nbsp;</td> <td style="font-weight: bold; text-align: left">&nbsp;</td> <td style="font-weight: bold; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">95</div></td> <td style="white-space: nowrap; font-weight: bold; text-align: left">&nbsp;</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">46</div></td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">141</div></td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: White"> <td style="padding-left: 16.5pt">Issuance of common shares</td> <td style="font-weight: bold">&nbsp;</td> <td style="font-weight: bold; text-align: left">&nbsp;</td> <td style="font-weight: bold; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">6,900</div></td> <td style="white-space: nowrap; font-weight: bold; text-align: left">&nbsp;</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">&#x2013;</div></td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">&#x2013;</div></td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="text-align: left; padding-bottom: 1pt; padding-left: 16.5pt">Acquisitions (Note 3)</td> <td style="font-weight: bold">&nbsp;</td> <td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">296</div></td> <td style="white-space: nowrap; border-bottom: Black 1pt solid; font-weight: bold; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid">&nbsp;</td> <td style="border-bottom: Black 1pt solid; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">46</div></td> <td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid">&nbsp;</td> <td style="border-bottom: Black 1pt solid; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">757</div></td> <td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: White"> <td style="text-align: left; padding-bottom: 1pt">Balance, end of year</td> <td style="font-weight: bold">&nbsp;</td> <td style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">84,156</div></td> <td style="border-bottom: Black 1.5pt solid; white-space: nowrap; font-weight: bold; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1.5pt solid">&nbsp;</td> <td style="border-bottom: Black 1.5pt solid; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1.5pt solid; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">76,865</div></td> <td style="border-bottom: Black 1.5pt solid; white-space: nowrap; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1.5pt solid">&nbsp;</td> <td style="border-bottom: Black 1.5pt solid; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1.5pt solid; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">76,773</div></td> <td style="border-bottom: Black 1.5pt solid; white-space: nowrap; text-align: left">&nbsp;</td> </tr>  </table> </div> <div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&nbsp;</div> <div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">Cash flows provided from stock options and share units exercised <div style="display: inline; color: black">during <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">2020,</div> <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">2019</div> and <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">2018</div> were approximately <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">$1.5</div> million, <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">$0.5</div> million and <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">$1.0</div> million, respectively.</div></div></div><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dsgx_ShareCapitalTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Disclosure and information regarding share capital.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dsgx_ShareCapitalTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dsgx_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>nonnum:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DisclosureTextBlockAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DisclosureTextBlockAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>126
<FILENAME>R27.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.20.1</span><table class="report" border="0" cellspacing="2" id="idp6891821072">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Note 19 - Contract Balances, Performance Obligations and Contract Costs<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Jan. 31, 2020</div></th></tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DisclosureTextBlockAbstract', window );"><strong>Notes to Financial Statements</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerTextBlock', window );">Revenue from Contract with Customer [Text Block]</a></td>
<td class="text"><div style="display: inline; font-family: times new roman; font-size: 10pt"><div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><div style="display: inline; font-weight: bold;">Note <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">19</div> &#x2013; Contract Balances, Performance Obligations and Contract Costs</div></div> <div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0">&nbsp;</div> <div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"><div style="display: inline; text-decoration: underline;">Deferred Revenue</div></div> <div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0">The following table presents the changes in the deferred revenue balance as follows:</div> <div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0">&nbsp;</div> <div> <table style="border-collapse: collapse; font: 10pt Times New Roman, Times, Serif; min-width: 700px;" cellspacing="0" cellpadding="0">  <tr style="vertical-align: bottom; background-color: White"> <td style="padding-bottom: 1pt">&nbsp;</td> <td style="font-weight: bold">&nbsp;</td> <td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; font-weight: bold; text-align: left">&nbsp;</td> <td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; font-weight: bold; text-align: right"><div style="display: inline; font-family: Times New Roman, Times, Serif; font-size: 10pt"><div style="display: inline; font-weight: bold;">Deferred Revenue</div></div></td> <td style="border-top: Black 1pt solid; white-space: nowrap; border-bottom: Black 1pt solid; font-weight: bold; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="width: 84%; text-indent: -0.5in; padding-left: 0.5in">Balance at January 31, 2018</td> <td style="width: 2%">&nbsp;</td> <td style="width: 1%; text-align: left">&nbsp;</td> <td style="width: 12%; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">32,113</div></td> <td style="white-space: nowrap; width: 1%; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: White"> <td style="text-align: left; padding-left: 15pt">Recognition of previously deferred revenue</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">(27,252</div></td> <td style="white-space: nowrap; text-align: left">)</td> </tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="padding-left: 15pt">Deferral of revenue</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">29,423</div></td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: White"> <td style="text-align: left; padding-left: 15pt">Increases from business combinations, net</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">1,789</div></td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="text-align: left; padding-bottom: 1pt; padding-left: 15pt">Effect of movements in foreign exchange</td> <td>&nbsp;</td> <td style="border-bottom: Black 1pt solid; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">(982</div></td> <td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">)</td> </tr> <tr style="vertical-align: bottom; background-color: White"> <td style="text-indent: -0.5in; padding-left: 0.5in">Balance at January 31, 2019</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">35,091</div></td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="text-align: left; padding-left: 15pt">Recognition of previously deferred revenue</td> <td style="font-weight: bold">&nbsp;</td> <td style="font-weight: bold; text-align: left">&nbsp;</td> <td style="font-weight: bold; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">(30,580</div></td> <td style="white-space: nowrap; font-weight: bold; text-align: left">)</td> </tr> <tr style="vertical-align: bottom; background-color: White"> <td style="padding-left: 15pt">Deferral of revenue</td> <td style="font-weight: bold">&nbsp;</td> <td style="font-weight: bold; text-align: left">&nbsp;</td> <td style="font-weight: bold; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">37,408</div></td> <td style="white-space: nowrap; font-weight: bold; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="text-align: left; padding-left: 15pt">Increases from business combinations, net</td> <td style="font-weight: bold">&nbsp;</td> <td style="font-weight: bold; text-align: left">&nbsp;</td> <td style="font-weight: bold; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">551</div></td> <td style="white-space: nowrap; font-weight: bold; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: White"> <td style="text-align: left; padding-bottom: 1pt; padding-left: 15pt">Effect of movements in foreign exchange</td> <td style="font-weight: bold">&nbsp;</td> <td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">(407</div></td> <td style="white-space: nowrap; border-bottom: Black 1pt solid; font-weight: bold; text-align: left">)</td> </tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="padding-bottom: 1pt; text-indent: -15pt; padding-left: 15pt">Balance at January 31, 2020</td> <td style="font-weight: bold">&nbsp;</td> <td style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">42,063</div></td> <td style="border-bottom: Black 1.5pt solid; white-space: nowrap; font-weight: bold; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: White"> <td style="padding-left: 15pt">Current</td> <td style="font-weight: bold">&nbsp;</td> <td style="font-weight: bold; text-align: left">&nbsp;</td> <td style="font-weight: bold; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">41,143</div></td> <td style="white-space: nowrap; font-weight: bold; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="padding-bottom: 1pt; padding-left: 15pt">Long-term</td> <td style="font-weight: bold">&nbsp;</td> <td style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">920</div></td> <td style="border-bottom: Black 1.5pt solid; white-space: nowrap; font-weight: bold; text-align: left">&nbsp;</td> </tr>  </table> </div> <div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0">&nbsp;</div> <div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"><div style="display: inline; text-decoration: underline;">Performance Obligations</div></div> <div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">As of <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"> January 31, 2020, </div>approximately <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">$216.9</div> million of revenue is expected to be recognized in the future related to performance obligations that are unsatisfied (or partially unsatisfied) at the end of the reporting period. We expect to recognize revenue on approximately <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">80%</div> of these remaining performance obligations over the next <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">24</div> months with the balance recognized thereafter.</div> <div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&nbsp;</div> <div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><div style="display: inline; text-decoration: underline;">Contract Assets</div></div> <div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0">The following table presents the changes in the contract assets balance as follows:</div> <div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&nbsp;</div> <div> <table cellpadding="0" cellspacing="0" style="border-collapse: collapse; font: 10pt Times New Roman, Times, Serif; min-width: 700px;">  <tr style="vertical-align: bottom; background-color: White"> <td style="padding-bottom: 1pt">&nbsp;</td> <td style="font-weight: bold">&nbsp;</td> <td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; font-weight: bold; text-align: left">&nbsp;</td> <td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; font-weight: bold; text-align: right"><div style="display: inline; font-family: Times New Roman, Times, Serif; font-size: 10pt"><div style="display: inline; font-weight: bold;">Contract Assets</div></div></td> <td style="border-top: Black 1pt solid; white-space: nowrap; border-bottom: Black 1pt solid; font-weight: bold; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="text-indent: -0.5in; padding-left: 0.5in">Balance at January 31, 2018</td> <td style="font-weight: bold">&nbsp;</td> <td style="font-weight: bold; text-align: left">&nbsp;</td> <td style="font-weight: bold; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">&#x2013;</div></td> <td style="white-space: nowrap; font-weight: bold; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: White"> <td style="width: 84%; text-align: left; padding-bottom: 1pt; padding-left: 15pt">Adjustment for adoption of ASC 606</td> <td style="width: 2%">&nbsp;</td> <td style="width: 1%; border-bottom: Black 1pt solid; text-align: left">&nbsp;</td> <td style="width: 12%; border-bottom: Black 1pt solid; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">495</div></td> <td style="white-space: nowrap; width: 1%; border-bottom: Black 1pt solid; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="text-indent: -0.5in; padding-left: 0.5in">Balance at February 1, 2018</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">495</div></td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: White"> <td style="text-align: left; padding-left: 15pt">Transfers to trade receivables from contract assets</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">(266</div></td> <td style="white-space: nowrap; text-align: left">)</td> </tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="text-align: left; padding-left: 15pt">Increases as a result of delivered term licenses recognized as revenue during the period, net of amounts transferred to trade receivables</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">606</div></td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: White"> <td style="text-align: left; padding-bottom: 1pt; padding-left: 15pt">Effect of movements in foreign exchange</td> <td>&nbsp;</td> <td style="border-bottom: Black 1pt solid; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">(23</div></td> <td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">)</td> </tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="text-indent: -0.5in; padding-left: 0.5in">Balance at January 31, 2019</td> <td>&nbsp;</td> <td style="text-align: left">&nbsp;</td> <td style="text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">812</div></td> <td style="white-space: nowrap; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: White"> <td style="text-align: left; padding-left: 15pt">Transfers to trade receivables from contract assets</td> <td style="font-weight: bold">&nbsp;</td> <td style="font-weight: bold; text-align: left">&nbsp;</td> <td style="font-weight: bold; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">(490</div></td> <td style="white-space: nowrap; font-weight: bold; text-align: left">)</td> </tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="text-align: left; padding-left: 15pt">Increases as a result of delivered term licenses recognized as revenue during the period, net of amounts transferred to trade receivables</td> <td style="font-weight: bold">&nbsp;</td> <td style="font-weight: bold; text-align: left">&nbsp;</td> <td style="font-weight: bold; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">791</div></td> <td style="white-space: nowrap; font-weight: bold; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: White"> <td style="text-align: left; padding-bottom: 1pt; padding-left: 15pt">Effect of movements in foreign exchange</td> <td style="font-weight: bold">&nbsp;</td> <td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">(6</div></td> <td style="white-space: nowrap; border-bottom: Black 1pt solid; font-weight: bold; text-align: left">)</td> </tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="padding-bottom: 1pt; text-indent: -15pt; padding-left: 15pt">Balance at January 31, 2020</td> <td style="font-weight: bold">&nbsp;</td> <td style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">1,107</div></td> <td style="border-bottom: Black 1.5pt solid; white-space: nowrap; font-weight: bold; text-align: left">&nbsp;</td> </tr>  </table> </div> <div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&nbsp;</div> <div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"></div> <!-- Field: Page; Sequence: 38 -->   <!-- Field: /Page --> <div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&nbsp;</div> <div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><div style="display: inline; text-decoration: underline;">Contract Costs</div></div> <div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">Capitalized contract costs net of accumulated amortization is <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">$9.8</div> million at <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"> January 31, 2020 (</div><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">$7.3</div> million at <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"> January 31, 2019). </div>Capitalized contract costs are amortized consistent with the pattern of transfer to the customer for the goods and services to which the asset relates. <div style="display: inline; color: black">The total contract cost amortization included in sales and marketing expenses was <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">$2.5</div> million and <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">$1.8</div> million for the years ended <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"> January 31, 2020 </div>and <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"> January 31, 2019, </div>respectively. There was <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"></div><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">no</div> </div>impairment loss in relation to the costs capitalized during the years ended <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"> January 31, 2020 </div>and <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"> January 31, 2019, </div>respectively.</div></div></div><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DisclosureTextBlockAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DisclosureTextBlockAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_RevenueFromContractWithCustomerTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The entire disclosure of revenue from contract with customer to transfer good or service and to transfer nonfinancial asset. Includes, but is not limited to, disaggregation of revenue, credit loss recognized from contract with customer, judgment and change in judgment related to contract with customer, and asset recognized from cost incurred to obtain or fulfill contract with customer. Excludes insurance and lease contracts.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 606<br> -URI http://asc.fasb.org/topic&amp;trid=49130388<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RevenueFromContractWithCustomerTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>nonnum:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
</SEC-DOCUMENT>
