<?xml version="1.0" encoding="utf-8"?>
<group	
		xmlns="http://www.xbrl.org/us/aicpa-us-gaap-ci-00-04-04"
		xmlns:gpsi="http://www.xbrl.org/sample/TaxonomyCustom.xsd"
		
		id="XXXXXXXXXX-AB" 
		entity="NASDAQ:GPSI" 
		period="1999-05-31" 
		schemaLocation="http://www.xbrl.org/sample/TaxonomyCustom.xsd" 
		scaleFactor="3" 
		precision="9" 
		type="USGAAP:Financial" 
		unit="ISO4217:USD" 
		decimalPattern="" 
		formatName="">
		
		
	<!--SECTION:  DocumentInformation -->

	<group type="gpsi:statements.documentInformation" period="1999-05-31">
		<item type="gpsi:documentInformation.documentId">XXXXXXXXXX-AB</item>
		<item type="gpsi:documentInformation.dateLastRevised">1999-10-01</item>
		<item type="gpsi:security.securityKey">XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX</item>
		<item type="gpsi:security.certificateAuthority">Verisign (Demo only)</item>
		<item type="gpsi:security.certificateWebSite">http://www.verisign.com/</item>
		<item type="gpsi:dublinCore.title">1999 Financial Statement</item>
		<item type="gpsi:dublinCore.creator">Xxxxxxxxx Xxxxxxxxxxxxxxxx, CPA</item>
		<item type="gpsi:dublinCore.subject">Financial,Great Plains, Current Financial Statement</item>
		<item type="gpsi:dublinCore.description">Financial statement for Great Plains as of May 31, 1999, and for the Year then ended.</item>
		<item type="gpsi:dublinCore.publisher">XXXXXXXXXXXXXXXX</item>
		<item type="gpsi:dublinCore.contributor">NA</item>
		<item type="gpsi:dublinCore.date">1999-10-01</item>
		<item type="gpsi:dublinCore.type">Financial statement</item>
		<item type="gpsi:dublinCore.format">XML 1.0</item>
		<item type="gpsi:dublinCore.identifier">XXXXXXXXXX-AB</item>
		<item type="gpsi:dublinCore.source">NA</item>
		<item type="gpsi:dublinCore.language">English</item>
		<item type="gpsi:dublinCore.relation">NA</item>
		<item type="gpsi:dublinCore.coverage">NA</item>
		<item type="gpsi:dublinCore.rights">Public Domain</item>
		<item type="gpsi:revision.revisionDate">1999-10-01</item>
		<item type="gpsi:revision.revisionBy">Charles Hoffman</item>
		<item type="gpsi:revision.revisionDescription">Document created</item>
		<item type="gpsi:userDefined.partnerName">John Doe, CPA</item>
		<item type="gpsi:userDefined.office">New York</item>
	</group>


	<!--SECTION:  CompanyInformation -->
	
	<group type="statements.company" period="1999-05-31">
		<item type="identifiers.name">Great Plains Software, Inc.</item>
		<item type="mailAddress.street1">1701 38TH ST S W</item>
		<item type="mailAddress.city">Fargo</item>
		<item type="mailAddress.stateOrProvince">ND</item>
		<item type="mailAddress.zipOrPostalCode">58103</item>
		<item type="physicalLocation.street1">1701 38TH ST S W</item>
		<item type="physicalLocation.city">Fargo</item>
		<item type="physicalLocation.stateOrProvince">ND</item>
		<item type="physicalLocation.zipOrPostalCode">58103</item>
		<item type="contact.phoneNumber">701-281-0550</item>
		<item type="contact.companyWebSite">http://www.greatplains.com</item>
		<item type="company.businessDescription">
			Great Plains Software, Inc. provides fully integrated front office/back office 
			business management software solutions for the midmarket. These include 
			financial, distribution, enterprise reporting, project accounting, electronic 
			business, human resources and payroll, manufacturing, service management, sales 
			and marketing, and customer service and support applications. Our solutions are 
			sold and implemented by a worldwide network of independent partner organizations 
			that share our commitment to lasting customer relationships.
		</item>
		<item type="businessDescription.industry">High-tech</item>
		<item type="businessDescription.sector">High-tech</item>
		<item type="businessDescription.industryClassification"></item>
		<item type="industryClassification.authority">SIC</item>
		<item type="industryClassification.code">7372</item>
		<item type="industryClassification.description">SERVICES-PREPACKAGED SOFTWARE</item>
		<item type="identifiers.taxId">450374871</item>
		<item type="security.exchange">NASDAQ</item>
		<item type="security.ticker">GPSI</item>
		<item type="gpsi:edgarInformation.conformedName">GREAT PLAINS SOFTWARE INC</item>
		<item type="gpsi:edgarInformation.cik">0000758540</item>
		<item type="gpsi:edgarInformation.stateOfIncorporation">MN</item>
		<item type="gpsi:edgarInformation.act">1934</item>
		<item type="gpsi:edgarInformation.filingInformation"></item>
		<item type="gpsi:edgarInformation.accessionNumber">0001047469-99-031017</item>
		<item type="gpsi:edgarInformation.filingType">10-K</item>
		<item type="gpsi:edgarInformation.publicDocumentCount">10</item>
		<item type="gpsi:edgarInformation.period">19990531</item>
		<item type="gpsi:edgarInformation.filingDate">19990811</item>
		<item type="gpsi:otherInformation.fiscalYearEnd">0531</item>
		<item type="gpsi:otherInformation.cfoName">Tami L. Reller</item>
		<item type="gpsi:otherInformation.ceoName">Douglas J. Burgum</item>
	</group>
	

	<!--SECTION:  AccountantReport -->
	
	<group type="statements.accountantReport" period="1999-05-31">
		<item type="accountant_sReport.independent">PricewaterhouseCoopers LLP</item>
		<item type="accountant_sReport.accountantSignature">/s/ PricewaterhouseCoopers LLP</item>
		<item type="accountantSignature.city">Minneapolis</item>
		<item type="accountantSignature.state">Minnesota</item>
		<item type="accountant_sReport.titleOfAccountantsReport">REPORT OF INDEPENDENT ACCOUNTANTS</item>
		<item type="accountant_sReport.addressee">To the Board of Directors and Stockholders of Great Plains Software, Inc.</item>
		<item type="reportDate.date">June 25, 1999</item>
		<item type="accountant_sReport.typeOfOpinion">Unqualified</item>
		<item type="reportingMethod.generallyAcceptedAccountingPrinciples">US GAAP</item>
		<item type="scopeOfWorkPerformed.auditedFinancialStatements">
			In our opinion, the consolidated financial statements listed in the
			accompanying index present fairly, in all material respects, the financial
			position of Great Plains Software, Inc. and its subsidiaries at May 31, 1999
			and 1998, and the results of their operations and their cash flows for each
			of the three years in the period ended May 31, 1999, in conformity with
			generally accepted accounting principles. In addition, in our opinion, the
			financial statement schedules listed in the accompanying index present
			fairly, in all material respects, the information set forth therein when read
			in conjunction with the related consolidated financial statements. These
			financial statements and financial statement schedules are the responsibility
			of the Company's management; our responsibility is to express an opinion on
			these financial statements and financial statement schedules based on our
			audits. We conducted our audits of these statements in accordance with
			generally accepted auditing standards, which require that we plan and perform
			the audit to obtain reasonable assurance about whether the financial
			statements are free of material misstatement. An audit includes examining, on
			a test basis, evidence supporting the amounts and disclosures in the
			financial statements, assessing the accounting principles used and
			significant estimates made by management, and evaluating the overall
			financial statement presentation. We believe that our audits provide a
			reasonable basis for the opinion expressed above.
		</item>
	</group>



	<!--SECTION:  BalanceSheet -->

	<group type="statements.balanceSheet" period="1999-05-31">
		<group type="cashAndCashEquivalents.cashEquivalents">
			<label href="xpointer(//item[@type='cashAndCashEquivalents.cashEquivalents'])" xml:lang="en">Cash and cash equivalents</label>
			<item id="BS-01" period="1999-05-31">26983</item>
			<item id="BS-02" period="1998-05-31">18197</item>
		</group>
		<group type="cash_CashEquivalentsAndShortTermInvestments.shortTermInvestments">
			<label href="xpointer(//item[@type='cash_CashEquivalentsAndShortTermInvestments.shortTermInvestments'])" xml:lang="en">Investments</label>
			<item id="BS-03" period="1999-05-31">96700</item>
			<item id="BS-04" period="1998-05-31">48721</item>
		</group>
		<group type="receivables.accountsReceivable-tradeNet">
			<label href="xpointer(//item[@type='receivables.accountsReceivable-tradeNet'])" xml:lang="en">Accounts receivable, net</label>
			<item id="BS-05" period="1999-05-31">12593</item>
			<item id="BS-06" period="1998-05-31">8790</item>
		</group>
		<group type="currentAssets.inventories">
			<label href="xpointer(//item[@type='currentAssets.inventories'])" xml:lang="en">Inventories</label>
			<item id="BS-07" period="1999-05-31">746</item>
			<item id="BS-08" period="1998-05-31">542</item>
		</group>
		<group type="currentAssets.prepaidExpenses">
			<label href="xpointer(//item[@type='currentAssets.prepaidExpenses'])" xml:lang="en">Prepaid expenses and other assets</label>
			<item id="BS-09" period="1999-05-31">6340</item>
			<item id="BS-11" period="1998-05-31">2914</item>
		</group>
		<group type="currentAssets.deferredIncomeTaxes_CurrentPortion">
			<label href="xpointer(//item[@type='currentAssets.deferredIncomeTaxes_CurrentPortion'])" xml:lang="en">Deferred income tax assets</label>
			<item id="BS-12" period="1999-05-31">5542</item>
			<item id="BS-13" period="1998-05-31">4630</item>
		</group>
		<group type="assets.currentAssets">
			<label href="xpointer(//item[@type='assets.currentAssets'])" xml:lang="en">Total current assets</label>
			<item id="BS-14" period="1999-05-31">148904</item>
			<item id="BS-15" period="1998-05-31">83794</item>
		</group>
		<group type="netProperty_PlantAndEquipment.grossProperty_PlantAndEquipment">
			<label href="xpointer(//item[@type='netProperty_PlantAndEquipment.grossProperty_PlantAndEquipment'])" xml:lang="en">Property and equipment, net</label>
			<item id="BS-16" period="1999-05-31">19126</item>
			<item id="BS-17" period="1998-05-31">8501</item>
		</group>
		<group type="longTermAssets.intangibles">
			<label href="xpointer(//item[@type='longTermAssets.intangibles'])" xml:lang="en">Goodwill and other intangibles, net</label>
			<item id="BS-18" period="1999-05-31">3838</item>
			<item id="BS-19" period="1998-05-31">4946</item>
		</group>
		<group type="longTermAssets.noncurrentDeferredIncomeTaxes">
			<label href="xpointer(//item[@type='longTermAssets.noncurrentDeferredIncomeTaxes'])" xml:lang="en">Deferred income tax assets</label>
			<item id="BS-20" period="1999-05-31">3091</item>
			<item id="BS-21" period="1998-05-31">3318</item>
		</group>
		<group type="longTermAssets.otherAssets">
			<label href="xpointer(//item[@type='longTermAssets.otherAssets'])" xml:lang="en">Other assets</label>
			<item id="BS-22" period="1999-05-31">5293</item>
			<item id="BS-23" period="1998-05-31">2286</item>
		</group>
		<group type="balanceSheet.assets">
			<label href="xpointer(//item[@type='balanceSheet.assets'])" xml:lang="en">Total assets</label>
			<item id="BS-24" period="1999-05-31">180252</item>
			<item id="BS-25" period="1998-05-31">102845</item>
		</group>
		<group type="accountsPayableAndAccruedExpenses.payables">
			<label href="xpointer(//item[@type='accountsPayableAndAccruedExpenses.payables'])" xml:lang="en">Accounts payable</label>
			<item id="BS-26" period="1999-05-31">8392</item>
			<item id="BS-27" period="1998-05-31">4135</item>
		</group>
		<group type="accountsPayableAndAccruedExpenses.accruedExpenses">
			<label href="xpointer(//item[@type='accountsPayableAndAccruedExpenses.accruedExpenses'])" xml:lang="en">Accrued expenses</label>
			<item id="BS-28" period="1999-05-31">11590</item>
			<item id="BS-29" period="1998-05-31">6941</item>
		</group>
		<group type="currentLiabilities.incomeTaxesPayable">
			<label href="xpointer(//item[@type='currentLiabilities.incomeTaxesPayable'])" xml:lang="en">Income tax payable</label>
			<item id="BS-30" period="1999-05-31">0</item>
			<item id="BS-31" period="1998-05-31">3257</item>
		</group>
		<group type="employeeRelatedLiabilities.salaries">
			<label href="xpointer(//item[@type='employeeRelatedLiabilities.salaries'])" xml:lang="en">Salaries and wages payable</label>
			<item id="BS-32" period="1999-05-31">1031</item>
			<item id="BS-33" period="1998-05-31">836</item>
		</group>
		<group type="gpsi:salaries.commissions">
			<label href="xpointer(//item[@type='gpsi:salaries.commissions'])" xml:lang="en">Commissions payable</label>
			<item id="BS-34" period="1999-05-31">2053</item>
			<item id="BS-35" period="1998-05-31">2668</item>
		</group>
		<group type="otherCurrentLiabilities.deferredRevenue">
			<label href="xpointer(//item[@type='otherCurrentLiabilities.deferredRevenue'])" xml:lang="en">Deferred revenues</label>
			<item id="BS-36" period="1999-05-31">23884</item>
			<item id="BS-37" period="1998-05-31">15133</item>
		</group>
		<group type="liabilitiesAndStockholdersEquity.currentLiabilities">
			<label href="xpointer(//item[@type='liabilitiesAndStockholdersEquity.currentLiabilities'])" xml:lang="en">Total current liabilities</label>
			<item id="BS-38" period="1999-05-31">46950</item>
			<item id="BS-39" period="1998-05-31">32970</item>
		</group>
		<group type="noncurrentLiabilities.deferredIncomeTaxes">
			<label href="xpointer(//item[@type='noncurrentLiabilities.deferredIncomeTaxes'])" xml:lang="en">Deferred income tax liabilities</label>
			<item id="BS-40" period="1999-05-31">109</item>
			<item id="BS-41" period="1998-05-31">204</item>
		</group>
		<group type="gpsi:liabilitiesandStockholdersEquity.Liabilities">
			<label href="xpointer(//item[@type='gpsi:liabilitiesandStockholdersEquity.Liabilities'])" xml:lang="en">Total liabilities</label>
			<item id="BS-42" period="1999-05-31">47059</item>
			<item id="BS-43" period="1998-05-31">33174</item>
		</group>
		<group type="balanceSheet.liabilities">
			<label href="xpointer(//item[@type='balanceSheet.liabilities'])" xml:lang="en">Total liabilities</label>
			<item id="BS-42" period="1999-05-31">47059</item>
			<item id="BS-43" period="1998-05-31">33174</item>
		</group>
		<group type="stockholdersEquity.commonStock">
			<label href="xpointer(//item[@type='stockholdersEquity.commonStock'])" xml:lang="en">Common stock, par value $.01 per share:  100,000,000 shares authorized, 
					15,362,820 shares and 13,720,920 shares issued and outstanding, respectively</label>
			<item id="BS-44" period="1999-05-31">154</item>
			<item id="BS-45" period="1998-05-31">137</item>
		</group>
		<group type="stockholdersEquity.additionalPaidInCapital">
			<label href="xpointer(//item[@type='stockholdersEquity.additionalPaidInCapital'])" xml:lang="en">Additional paid-in capital</label>
			<item id="BS-46" period="1999-05-31">118683</item>
			<item id="BS-47" period="1998-05-31">67801</item>
		</group>
		<group type="stockholdersEquity.accumulatedOtherComprehensiveIncome_NetOfIncomeTaxBenefits">
			<label href="xpointer(//item[@type='stockholdersEquity.retainedEarnings_-deficit-'])" xml:lang="en">Accumulated other comprehensive loss</label>
			<item id="BS-48" period="1999-05-31">-162</item>
			<item id="BS-49" period="1998-05-31">0</item>
		</group>
		<group type="stockholdersEquity.retainedEarnings_-deficit-">
			<label href="xpointer(//item[@type=''])" xml:lang="en">Retained earnings</label>
			<item id="BS-50" period="1999-05-31">14518</item>
			<item id="BS-51" period="1998-05-31">1733</item>
		</group>
		<group type="liabilitiesAndStockholdersEquity.stockholdersEquity">
			<label href="xpointer(//item[@type='liabilitiesAndStockholdersEquity.stockholdersEquity'])" xml:lang="en">Total stockholders' equity</label>
			<item id="BS-52" period="1999-05-31">133193</item>
			<item id="BS-53" period="1998-05-31">69671</item>
		</group>
		<group type="balanceSheet.liabilitiesAndStockholdersEquity">
			<label href="xpointer(//item[@type='balanceSheet.liabilitiesAndStockholdersEquity'])" xml:lang="en">Total liabilities and stockholders' equity</label>
			<item id="BS-54" period="1999-05-31">180252</item>
			<item id="BS-55" period="1998-05-31">102845</item>
		</group>
	</group>



	<!--SECTION:  IncomeStatement -->
	
	<group type="statements.incomeStatement" period="1999-05-31">
		<group type="gpsi:netSalesRevenue.license">
			<label href="xpointer(//item[@type='gpsi:netSalesRevenue.license'])" xml:lang="en">License</label>
			<item id="IS-001" period="P1Y/1999-05-31">79685</item>
			<item id="IS-002" period="P1Y/1998-05-31">52949</item>
			<item id="IS-003" period="P1Y/1997-05-31">35919</item>
		</group>
		<group type="gpsi:netSalesRevenue.service">
			<label href="xpointer(//item[@type='gpsi:netSalesRevenue.service'])" xml:lang="en">Service</label>
			<item id="IS-004" period="P1Y/1999-05-31">55222</item>
			<item id="IS-005" period="P1Y/1998-05-31">32710</item>
			<item id="IS-006" period="P1Y/1997-05-31">21201</item>
		</group>
		<group type="grossProfit.netSalesRevenue">
			<label href="xpointer(//item[@type='grossProfit.netSalesRevenue'])" xml:lang="en">Total revenues</label>
			<item id="IS-007" period="P1Y/1999-05-31">134907</item>
			<item id="IS-008" period="P1Y/1998-05-31">85659</item>
			<item id="IS-009" period="P1Y/1997-05-31">57120</item>
		</group>
		<group type="gpsi:costofGoodsSold.license">
			<label href="xpointer(//item[@type='gpsi:costofGoodsSold.license'])" xml:lang="en">License</label>
			<item id="IS-010" period="P1Y/1999-05-31">19355</item>
			<item id="IS-011" period="P1Y/1998-05-31">11220</item>
			<item id="IS-012" period="P1Y/1997-05-31">6362</item>
		</group>
		<group type="gpsi:costofGoodsSold.service">
			<label href="xpointer(//item[@type='gpsi:costofGoodsSold.service'])" xml:lang="en">Service</label>
			<item id="IS-013" period="P1Y/1999-05-31">18350</item>
			<item id="IS-014" period="P1Y/1998-05-31">11118</item>
			<item id="IS-015" period="P1Y/1997-05-31">8260</item>
		</group>
		<group type="grossProfit.costOfGoodsSold">
			<label href="xpointer(//item[@type='grossProfit.costOfGoodsSold'])" xml:lang="en">Total cost of revenues</label>
			<item id="IS-016" period="P1Y/1999-05-31">37705</item>
			<item id="IS-017" period="P1Y/1998-05-31">22338</item>
			<item id="IS-018" period="P1Y/1997-05-31">14622</item>
		</group>
		<group type="operatingProfit.grossProfit">
			<label href="xpointer(//item[@type='operatingProfit.grossProfit'])" xml:lang="en">Gross profit</label>
			<item id="IS-019" period="P1Y/1999-05-31">97202</item>
			<item id="IS-020" period="P1Y/1998-05-31">63321</item>
			<item id="IS-021" period="P1Y/1997-05-31">42498</item>
		</group>
		<group type="operatingExpenses.sellingGeneralAndAdministrativeExpenses">
			<label href="xpointer(//item[@type='operatingExpenses.sellingGeneralAndAdministrativeExpenses'])" xml:lang="en">Sales and marketing</label>
			<item id="IS-022" period="P1Y/1999-05-31">47982</item>
			<item id="IS-023" period="P1Y/1998-05-31">31636</item>
			<item id="IS-024" period="P1Y/1997-05-31">21935</item>
		</group>
		<group type="operatingExpenses.researchAndDevelopmentExpense">
			<label href="xpointer(//item[@type='operatingExpenses.researchAndDevelopmentExpense'])" xml:lang="en">Research and development</label>
			<item id="IS-025" period="P1Y/1999-05-31">20427</item>
			<item id="IS-026" period="P1Y/1998-05-31">12586</item>
			<item id="IS-027" period="P1Y/1997-05-31">9678</item>
		</group>
		<group type="sellingGeneralAndAdministrativeExpenses.generalAndAdministrativeExpenses">
			<label href="xpointer(//item[@type='sellingGeneralAndAdministrativeExpenses.generalAndAdministrativeExpenses'])" xml:lang="en">General and administrative</label>
			<item id="IS-028" period="P1Y/1999-05-31">11080</item>
			<item id="IS-029" period="P1Y/1998-05-31">7587</item>
			<item id="IS-030" period="P1Y/1997-05-31">5592</item>
		</group>
		<group type="gpsi:operatingExpenses.acquiredResearchandDevelopmentExpense">
			<label href="xpointer(//item[@type='gpsi:operatingExpenses.acquiredResearchandDevelopmentExpense'])" xml:lang="en">Acquired in-process research and development</label>
			<item id="IS-031" period="P1Y/1999-05-31">0</item>
			<item id="IS-032" period="P1Y/1998-05-31">7136</item>
			<item id="IS-033" period="P1Y/1997-05-31">0</item>
		</group>
		<group type="operatingProfit.operatingExpenses">
			<label href="xpointer(//item[@type='operatingProfit.operatingExpenses'])" xml:lang="en">Total operating expenses</label>
			<item id="IS-034" period="P1Y/1999-05-31">79489</item>
			<item id="IS-035" period="P1Y/1998-05-31">58945</item>
			<item id="IS-036" period="P1Y/1997-05-31">37205</item>
		</group>
		<group type="incomeOrLossOnContinuingOperationsBeforeIncomeTaxes_ChangesInAccountingPrinciplesAndExtraordinaryItems.operatingProfit">
			<label href="xpointer(//item[@type='incomeOrLossOnContinuingOperationsBeforeIncomeTaxes_ChangesInAccountingPrinciplesAndExtraordinaryItems.operatingProfit'])" xml:lang="en">Operating income</label>
			<item id="IS-037" period="P1Y/1999-05-31">17713</item>
			<item id="IS-038" period="P1Y/1998-05-31">4376</item>
			<item id="IS-039" period="P1Y/1997-05-31">5293</item>
		</group>
		<group type="non-operatingIncomeAndExpense.netInterestExpense-income-">
			<label href="xpointer(//item[@type='non-operatingIncomeAndExpense.netInterestExpense-income-'])" xml:lang="en">Interest expense</label>
			<item id="IS-040" period="P1Y/1999-05-31">-3</item>
			<item id="IS-041" period="P1Y/1998-05-31">-2</item>
			<item id="IS-042" period="P1Y/1997-05-31">-98</item>
		</group>
		<group type="non-operatingIncomeAndExpense.otherNon-operatingExpense-income-">
			<label href="xpointer(//item[@type='non-operatingIncomeAndExpense.otherNon-operatingExpense-income-'])" xml:lang="en">Other income, net</label>
			<item id="IS-043" period="P1Y/1999-05-31">3595</item>
			<item id="IS-044" period="P1Y/1998-05-31">3276</item>
			<item id="IS-045" period="P1Y/1997-05-31">656</item>
		</group>
		<group type="income-loss-FromContinuingOperations.incomeOrLossOnContinuingOperationsBeforeIncomeTaxes_ChangesInAccountingPrinciplesAndExtraordinaryItems">
			<label href="xpointer(//item[@type='income-loss-FromContinuingOperations.incomeOrLossOnContinuingOperationsBeforeIncomeTaxes_ChangesInAccountingPrinciplesAndExtraordinaryItems'])" xml:lang="en">Income before income taxes</label>
			<item id="IS-046" period="P1Y/1999-05-31">21305</item>
			<item id="IS-047" period="P1Y/1998-05-31">7650</item>
			<item id="IS-048" period="P1Y/1997-05-31">5851</item>
		</group>
		<group type="incomeTaxes.currentIncomeTax">
			<label href="xpointer(//item[@type='incomeTaxes.currentIncomeTax'])" xml:lang="en">Income tax provision</label>
			<item id="IS-049" period="P1Y/1999-05-31">8520</item>
			<item id="IS-050" period="P1Y/1998-05-31">3203</item>
			<item id="IS-051" period="P1Y/1997-05-31">2207</item>
		</group>
		<group type="netIncomeAvailableToCommon.netIncome">
			<label href="xpointer(//item[@type='netIncomeAvailableToCommon.netIncome'])" xml:lang="en">Net income</label>
			<item id="IS-052" period="P1Y/1999-05-31">12785</item>
			<item id="IS-053" period="P1Y/1998-05-31">4447</item>
			<item id="IS-054" period="P1Y/1997-05-31">3644</item>
		</group>
		<group type="incomeStatement.basicEarningsPerShare">
			<label href="xpointer(//item[@type='incomeStatement.basicEarningsPerShare'])" xml:lang="en">Basic</label>
			<item id="IS-055" period="P1Y/1999-05-31" scaleFactor="0">0.90</item>
			<item id="IS-056" period="P1Y/1998-05-31" scaleFactor="0">0.33</item>
			<item id="IS-057" period="P1Y/1997-05-31" scaleFactor="0">-1.78</item>
		</group>
		<group type="incomeStatement.fullyDilutedEarningsPerShare">
			<label href="xpointer(//item[@type='incomeStatement.fullyDilutedEarningsPerShare'])" xml:lang="en">Diluted</label>
			<item id="IS-058" period="P1Y/1999-05-31" scaleFactor="0">0.86</item>
			<item id="IS-059" period="P1Y/1998-05-31" scaleFactor="0">0.32</item>
			<item id="IS-060" period="P1Y/1997-05-31" scaleFactor="0">0.36</item>
		</group>
		<group type="weightedAverageSharesOutstanding.basicWeightedAverageShares">
			<label href="xpointer(//item[@type='weightedAverageSharesOutstanding.basicWeightedAverageShares'])" xml:lang="en">Basic</label>
			<item id="IS-061" period="P1Y/1999-05-31" unit="shares" scaleFactor="0">14231102</item>
			<item id="IS-062" period="P1Y/1998-05-31" unit="shares" scaleFactor="0">13381414</item>
			<item id="IS-063" period="P1Y/1997-05-31" unit="shares" scaleFactor="0">7629460</item>
		</group>
		<group type="weightedAverageSharesOutstanding.dilutedWeightedAverageShares">
			<label href="xpointer(//item[@type='weightedAverageSharesOutstanding.dilutedWeightedAverageShares'])" xml:lang="en">Diluted</label>
			<item id="IS-064" period="P1Y/1999-05-31" unit="shares" scaleFactor="0">14872579</item>
			<item id="IS-065" period="P1Y/1998-05-31" unit="shares" scaleFactor="0">14089092</item>
			<item id="IS-066" period="P1Y/1997-05-31" unit="shares" scaleFactor="0">10003349</item>
		</group>
	</group>





	<!--SECTION:  StockholdersEquity -->
	
	<group type="statements.statementOfStockholders_Equity" period="1999-05-31">
		<group type="statementOfStockholders_Equity.endingBalance">
			<label href="xpointer(//item[@type='statementOfStockholders_Equity.endingBalance'])" xml:lang="en">Balance May 31, 1996</label>
			<item id="SE-001" period="1996-05-31" unit="shares" scaleFactor="0">225000</item>
			<item id="SE-002" period="1996-05-31">199</item>
			<item id="SE-003" period="1996-05-31" unit="shares" scaleFactor="0">7359765</item>
			<item id="SE-004" period="1996-05-31">74</item>
			<item id="SE-005" period="1996-05-31">1273</item>
			<item id="SE-006" period="1996-05-31">-6358</item>
			<item id="SE-007" period="1996-05-31">0</item>
			<item id="SE-008" period="1996-05-31">-4812</item>
			<item id="SE-009" period="1996-05-31">0</item>
		</group>
		<group type="common.exerciseOfStockOptions">
			<label href="xpointer(//item[@type='common.exerciseOfStockOptions'])" xml:lang="en">Exercise of stock options</label>
			<item id="SE-010" period="P1Y/1996-05-31">0</item>
			<item id="SE-011" period="P1Y/1996-05-31">0</item>
			<item id="SE-012" period="P1Y/1996-05-31" unit="shares" scaleFactor="0">732447</item>
			<item id="SE-013" period="P1Y/1996-05-31">7</item>
			<item id="SE-014" period="P1Y/1996-05-31">1544</item>
			<item id="SE-015" period="P1Y/1996-05-31">0</item>
			<item id="SE-016" period="P1Y/1996-05-31">0</item>
			<item id="SE-017" period="P1Y/1996-05-31">1551</item>
			<item id="SE-018" period="P1Y/1996-05-31">0</item>
		</group>
		<group type="repurchases_retirementOfStock.common">
			<label href="xpointer(//item[@type='repurchases_retirementOfStock.common'])" xml:lang="en">Net repurchases of common stock</label>
			<item id="SE-019" period="P1Y/1996-05-31">0</item>
			<item id="SE-020" period="P1Y/1996-05-31">0</item>
			<item id="SE-021" period="P1Y/1996-05-31" unit="shares" scaleFactor="0">-11877</item>
			<item id="SE-022" period="P1Y/1996-05-31">0</item>
			<item id="SE-023" period="P1Y/1996-05-31">-54</item>
			<item id="SE-024" period="P1Y/1996-05-31">0</item>
			<item id="SE-025" period="P1Y/1996-05-31">0</item>
			<item id="SE-026" period="P1Y/1996-05-31">-54</item>
			<item id="SE-027" period="P1Y/1996-05-31">0</item>
		</group>
		<group type="preferred.other">
			<label href="xpointer(//item[@type='preferred.other'])" xml:lang="en">Increase of carrying value of mandatorily redeemable preferred stock</label>
			<item id="SE-028" period="P1Y/1996-05-31">0</item>
			<item id="SE-029" period="P1Y/1996-05-31">0</item>
			<item id="SE-030" period="P1Y/1996-05-31">0</item>
			<item id="SE-031" period="P1Y/1996-05-31">0</item>
			<item id="SE-032" period="P1Y/1996-05-31">-17196</item>
			<item id="SE-033" period="P1Y/1996-05-31">0</item>
			<item id="SE-034" period="P1Y/1996-05-31">0</item>
			<item id="SE-035" period="P1Y/1996-05-31">-17196</item>
			<item id="SE-036" period="P1Y/1996-05-31">0</item>
		</group>
		<group type="gpsi:statementofStockholders_Equity.taxBenefitStockholderTransaction">
			<label href="xpointer(//item[@type='gpsi:statementofStockholders_Equity.taxBenefitStockholderTransaction'])" xml:lang="en">Tax benefit from stockholder transaction</label>
			<item id="SE-037" period="P1Y/1996-05-31">0</item>
			<item id="SE-038" period="P1Y/1996-05-31">0</item>
			<item id="SE-038" period="P1Y/1996-05-31">0</item>
			<item id="SE-040" period="P1Y/1996-05-31">0</item>
			<item id="SE-041" period="P1Y/1996-05-31">590</item>
			<item id="SE-042" period="P1Y/1996-05-31">0</item>
			<item id="SE-043" period="P1Y/1996-05-31">0</item>
			<item id="SE-044" period="P1Y/1996-05-31">590</item>
			<item id="SE-045" period="P1Y/1996-05-31">0</item>
		</group>
		<group type="gpsi:statementofStockholders_Equity.netIncome">
			<label href="xpointer(//item[@type='gpsi:statementofStockholders_Equity.netIncome'])" xml:lang="en">Net income</label>
			<item id="SE-046" period="P1Y/1996-05-31">0</item>
			<item id="SE-047" period="P1Y/1996-05-31">0</item>
			<item id="SE-048" period="P1Y/1996-05-31">0</item>
			<item id="SE-049" period="P1Y/1996-05-31">0</item>
			<item id="SE-050" period="P1Y/1996-05-31">0</item>
			<item id="SE-051" period="P1Y/1996-05-31">3644</item>
			<item id="SE-052" period="P1Y/1996-05-31">0</item>
			<item id="SE-053" period="P1Y/1996-05-31">3644</item>
			<item id="SE-054" period="P1Y/1996-05-31">3644</item>
		</group>
		<group type="statementOfStockholders_Equity.endingBalance">
			<label href="xpointer(//item[@type='statementOfStockholders_Equity.endingBalance'])" xml:lang="en">Balance May 31, 1997</label>
			<item id="SE-055" period="1997-05-31" unit="shares" scaleFactor="0">225000</item>
			<item id="SE-056" period="1997-05-31">199</item>
			<item id="SE-057" period="1997-05-31" unit="shares" scaleFactor="0">8080335</item>
			<item id="SE-058" period="1997-05-31">81</item>
			<item id="SE-059" period="1997-05-31">-13843</item>
			<item id="SE-060" period="1997-05-31">-2714</item>
			<item id="SE-061" period="1997-05-31">0</item>
			<item id="SE-062" period="1997-05-31">-16277</item>
			<item id="SE-063" period="1997-05-31">3644</item>
		</group>
		<group type="salesOfStock.common">
			<label href="xpointer(//item[@type='salesOfStock.common'])" xml:lang="en">Sale of common stock, net</label>
			<item id="SE-064" period="P1Y/1997-05-31">0</item>
			<item id="SE-065" period="P1Y/1997-05-31">0</item>
			<item id="SE-066" period="P1Y/1997-05-31" unit="shares" scaleFactor="0">3450000</item>
			<item id="SE-067" period="P1Y/1997-05-31">34</item>
			<item id="SE-068" period="P1Y/1997-05-31">50209</item>
			<item id="SE-069" period="P1Y/1997-05-31">0</item>
			<item id="SE-070" period="P1Y/1997-05-31">0</item>
			<item id="SE-071" period="P1Y/1997-05-31">50243</item>
			<item id="SE-072" period="P1Y/1997-05-31">0</item>
		</group>
		<group type="common.exerciseOfStockOptions">
			<label href="xpointer(//item[@type='common.exerciseOfStockOptions'])" xml:lang="en">Exercise of stock options</label>
			<item id="SE-073" period="P1Y/1997-05-31">0</item>
			<item id="SE-074" period="P1Y/1997-05-31">0</item>
			<item id="SE-075" period="P1Y/1997-05-31" unit="shares" scaleFactor="0">286708</item>
			<item id="SE-076" period="P1Y/1997-05-31">3</item>
			<item id="SE-077" period="P1Y/1997-05-31">1900</item>
			<item id="SE-078" period="P1Y/1997-05-31">0</item>
			<item id="SE-079" period="P1Y/1997-05-31">0</item>
			<item id="SE-080" period="P1Y/1997-05-31">1903</item>
			<item id="SE-081" period="P1Y/1997-05-31">0</item>
		</group>
		<group type="gpsi:statementofStockholders_Equity.conversionPreferredToCommon">
			<label href="xpointer(//item[@type='gpsi:statementofStockholders_Equity.conversionPreferredToCommon'])" xml:lang="en">Conversion of preferred stock to common stock</label>
			<item id="SE-082" period="P1Y/1997-05-31" unit="shares" scaleFactor="0">-225000</item>
			<item id="SE-083" period="P1Y/1997-05-31">-199</item>
			<item id="SE-084" period="P1Y/1997-05-31" unit="shares" scaleFactor="0">1847627</item>
			<item id="SE-085" period="P1Y/1997-05-31">18</item>
			<item id="SE-086" period="P1Y/1997-05-31">28878</item>
			<item id="SE-087" period="P1Y/1997-05-31">0</item>
			<item id="SE-088" period="P1Y/1997-05-31">0</item>
			<item id="SE-089" period="P1Y/1997-05-31">28697</item>
			<item id="SE-090" period="P1Y/1997-05-31">0</item>
		</group>
		<group type="gpsi:statementofStockholders_Equity.taxBenefitStockholderTransaction">
			<label href="xpointer(//item[@type='gpsi:statementofStockholders_Equity.taxBenefitStockholderTransaction'])" xml:lang="en">Tax benefit from stockholder transactions</label>
			<item id="SE-091" period="P1Y/1997-05-31">0</item>
			<item id="SE-092" period="P1Y/1997-05-31">0</item>
			<item id="SE-093" period="P1Y/1997-05-31">0</item>
			<item id="SE-094" period="P1Y/1997-05-31">0</item>
			<item id="SE-095" period="P1Y/1997-05-31">586</item>
			<item id="SE-096" period="P1Y/1997-05-31">0</item>
			<item id="SE-097" period="P1Y/1997-05-31">0</item>
			<item id="SE-098" period="P1Y/1997-05-31">586</item>
			<item id="SE-099" period="P1Y/1997-05-31">0</item>
		</group>
		<group type="gpsi:common.businessCombination">
			<label href="xpointer(//item[@type='gpsi:common.businessCombination'])" xml:lang="en">Stock issued for business combination</label>
			<item id="SE-100" period="P1Y/1997-05-31">0</item>
			<item id="SE-101" period="P1Y/1997-05-31">0</item>
			<item id="SE-102" period="P1Y/1997-05-31" unit="shares" scaleFactor="0">56250</item>
			<item id="SE-103" period="P1Y/1997-05-31">1</item>
			<item id="SE-104" period="P1Y/1997-05-31">71</item>
			<item id="SE-105" period="P1Y/1997-05-31">0</item>
			<item id="SE-106" period="P1Y/1997-05-31">0</item>
			<item id="SE-107" period="P1Y/1997-05-31">72</item>
			<item id="SE-108" period="P1Y/1997-05-31">0</item>
		</group>
		<group type="gpsi:statementofStockholders_Equity.netIncome">
			<label href="xpointer(//item[@type='gpsi:statementofStockholders_Equity.netIncome'])" xml:lang="en">Net income</label>
			<item id="SE-109" period="P1Y/1997-05-31">0</item>
			<item id="SE-110" period="P1Y/1997-05-31">0</item>
			<item id="SE-111" period="P1Y/1997-05-31">0</item>
			<item id="SE-112" period="P1Y/1997-05-31">0</item>
			<item id="SE-113" period="P1Y/1997-05-31">0</item>
			<item id="SE-114" period="P1Y/1997-05-31">4447</item>
			<item id="SE-115" period="P1Y/1997-05-31">0</item>
			<item id="SE-116" period="P1Y/1997-05-31">4447</item>
			<item id="SE-117" period="P1Y/1997-05-31">4447</item>
		</group>
		<group type="statementOfStockholders_Equity.endingBalance">
			<label href="xpointer(//item[@type='statementOfStockholders_Equity.endingBalance'])" xml:lang="en">Balance May 31, 1998</label>
			<item id="SE-118" period="1998-05-31">0</item>
			<item id="SE-119" period="1998-05-31">0</item>
			<item id="SE-120" period="1998-05-31" unit="shares" scaleFactor="0">13720920</item>
			<item id="SE-121" period="1998-05-31">137</item>
			<item id="SE-122" period="1998-05-31">67801</item>
			<item id="SE-123" period="1998-05-31">1733</item>
			<item id="SE-124" period="1998-05-31">0</item>
			<item id="SE-125" period="1998-05-31">69671</item>
			<item id="SE-126" period="1998-05-31">4447</item>
		</group>
		<group type="salesOfStock.common">
			<label href="xpointer(//item[@type='salesOfStock.common'])" xml:lang="en">Sale of common stock, net</label>
			<item id="SE-127" period="P1Y/1998-05-31">0</item>
			<item id="SE-128" period="P1Y/1998-05-31">0</item>
			<item id="SE-129" period="P1Y/1998-05-31" unit="shares" scaleFactor="0">1318325</item>
			<item id="SE-130" period="P1Y/1998-05-31">13</item>
			<item id="SE-131" period="P1Y/1998-05-31">47165</item>
			<item id="SE-132" period="P1Y/1998-05-31">0</item>
			<item id="SE-133" period="P1Y/1998-05-31">0</item>
			<item id="SE-134" period="P1Y/1998-05-31">47178</item>
			<item id="SE-135" period="P1Y/1998-05-31">0</item>
		</group>
		<group type="common.exerciseOfStockOptions">
			<label href="xpointer(//item[@type='common.exerciseOfStockOptions'])" xml:lang="en">Exercise of stock options</label>
			<item id="SE-136" period="P1Y/1998-05-31">0</item>
			<item id="SE-137" period="P1Y/1998-05-31">0</item>
			<item id="SE-138" period="P1Y/1998-05-31" unit="shares" scaleFactor="0">218534</item>
			<item id="SE-139" period="P1Y/1998-05-31">3</item>
			<item id="SE-140" period="P1Y/1998-05-31">2804</item>
			<item id="SE-141" period="P1Y/1998-05-31">0</item>
			<item id="SE-142" period="P1Y/1998-05-31">0</item>
			<item id="SE-143" period="P1Y/1998-05-31">2807</item>
			<item id="SE-144" period="P1Y/1998-05-31">0</item>
		</group>
		<group type="gpsi:statementofStockholders_Equity.taxBenefitStockholderTransaction">
			<label href="xpointer(//item[@type='gpsi:statementofStockholders_Equity.taxBenefitStockholderTransaction'])" xml:lang="en">Tax benefit from stockholder transactions</label>
			<item id="SE-145" period="P1Y/1998-05-31">0</item>
			<item id="SE-146" period="P1Y/1998-05-31">0</item>
			<item id="SE-147" period="P1Y/1998-05-31">0</item>
			<item id="SE-148" period="P1Y/1998-05-31">0</item>
			<item id="SE-149" period="P1Y/1998-05-31">978</item>
			<item id="SE-150" period="P1Y/1998-05-31">0</item>
			<item id="SE-151" period="P1Y/1998-05-31">0</item>
			<item id="SE-152" period="P1Y/1998-05-31">978</item>
			<item id="SE-153" period="P1Y/1998-05-31">0</item>
		</group>
		<group type="gpsi:common.businessCombination">
			<label href="xpointer(//item[@type='gpsi:common.businessCombination'])" xml:lang="en">Stock issued for business combination</label>
			<item id="SE-154" period="P1Y/1998-05-31">0</item>
			<item id="SE-155" period="P1Y/1998-05-31">0</item>
			<item id="SE-156" period="P1Y/1998-05-31" unit="shares" scaleFactor="0">105041</item>
			<item id="SE-157" period="P1Y/1998-05-31">1</item>
			<item id="SE-158" period="P1Y/1998-05-31">-65</item>
			<item id="SE-159" period="P1Y/1998-05-31">0</item>
			<item id="SE-160" period="P1Y/1998-05-31">0</item>
			<item id="SE-161" period="P1Y/1998-05-31">-64</item>
			<item id="SE-162" period="P1Y/1998-05-31">0</item>
		</group>
		<group type="gpsi:statementofStockholders_Equity.translationAdjustment">
			<label href="xpointer(//item[@type='gpsi:statementofStockholders_Equity.translationAdjustment'])" xml:lang="en">Translation adjustment</label>
			<item id="SE-163" period="P1Y/1998-05-31">0</item>
			<item id="SE-164" period="P1Y/1998-05-31">0</item>
			<item id="SE-165" period="P1Y/1998-05-31">0</item>
			<item id="SE-166" period="P1Y/1998-05-31">0</item>
			<item id="SE-167" period="P1Y/1998-05-31">0</item>
			<item id="SE-168" period="P1Y/1998-05-31">0</item>
			<item id="SE-169" period="P1Y/1998-05-31">-81</item>
			<item id="SE-170" period="P1Y/1998-05-31">-81</item>
			<item id="SE-171" period="P1Y/1998-05-31">-81</item>
		</group>
		<group type="gpsi:statementofStockholders_Equity.unrealizedInvestmentLoss">
			<label href="xpointer(//item[@type='gpsi:statementofStockholders_Equity.unrealizedInvestmentLoss'])" xml:lang="en">Unrealized loss on investments</label>
			<item id="SE-172" period="P1Y/1998-05-31">0</item>
			<item id="SE-173" period="P1Y/1998-05-31">0</item>
			<item id="SE-174" period="P1Y/1998-05-31">0</item>
			<item id="SE-175" period="P1Y/1998-05-31">0</item>
			<item id="SE-176" period="P1Y/1998-05-31">0</item>
			<item id="SE-177" period="P1Y/1998-05-31">0</item>
			<item id="SE-178" period="P1Y/1998-05-31">-81</item>
			<item id="SE-179" period="P1Y/1998-05-31">-81</item>
			<item id="SE-180" period="P1Y/1998-05-31">-81</item>
		</group>
		<group type="gpsi:statementofStockholders_Equity.netIncome">
			<label href="xpointer(//item[@type='gpsi:statementofStockholders_Equity.netIncome'])" xml:lang="en">Net income</label>
			<item id="SE-181" period="P1Y/1998-05-31">0</item>
			<item id="SE-182" period="P1Y/1998-05-31">0</item>
			<item id="SE-183" period="P1Y/1998-05-31">0</item>
			<item id="SE-184" period="P1Y/1998-05-31">0</item>
			<item id="SE-185" period="P1Y/1998-05-31">0</item>
			<item id="SE-186" period="P1Y/1998-05-31">12785</item>
			<item id="SE-187" period="P1Y/1998-05-31">0</item>
			<item id="SE-188" period="P1Y/1998-05-31">12785</item>
			<item id="SE-189" period="P1Y/1998-05-31">12785</item>
		</group>
		<group type="statementOfStockholders_Equity.endingBalance">
			<label href="xpointer(//item[@type='statementOfStockholders_Equity.endingBalance'])" xml:lang="en">Balance May 31, 1999</label>
			<item id="SE-190" period="1999-05-31">0</item>
			<item id="SE-191" period="1999-05-31">0</item>
			<item id="SE-192" period="1999-05-31" unit="shares" scaleFactor="0">15362820</item>
			<item id="SE-193" period="1999-05-31">154</item>
			<item id="SE-194" period="1999-05-31">118683</item>
			<item id="SE-195" period="1999-05-31">14518</item>
			<item id="SE-196" period="1999-05-31">-162</item>
			<item id="SE-197" period="1999-05-31">133193</item>
			<item id="SE-198" period="1999-05-31">12623</item>
		</group>
	</group>



	<!--SECTION:  CashFlows -->
	
	<group type="statements.cashFlowsStatement" period="1999-05-31">
		<group type="netCashFlowsFromOperatingActivities-indirect-.netIncome-loss-">
			<label href="xpointer(//item[@type='netCashFlowsFromOperatingActivities-indirect-.netIncome-loss-'])" xml:lang="en">Net income</label>
			<item id="CF-001" period="P1Y/1999-05-31">12785</item>
			<item id="CF-002" period="P1Y/1998-05-31">4447</item>
			<item id="CF-003" period="P1Y/1997-05-31">3644</item>
		</group>
		<group type="adjustmentsToReconcileNetIncome-loss-ToNetCashProvidedBy-usedIn-Operations.depreciationAndAmortization-cashFlowsReconciliation-">
			<label href="xpointer(//item[@type='adjustmentsToReconcileNetIncome-loss-ToNetCashProvidedBy-usedIn-Operations.depreciationAndAmortization-cashFlowsReconciliation-'])" xml:lang="en">Depreciation and amortization</label>
			<item id="CF-004" period="P1Y/1999-05-31">5147</item>
			<item id="CF-005" period="P1Y/1998-05-31">2863</item>
			<item id="CF-006" period="P1Y/1997-05-31">2155</item>
		</group>
		<group type="adjustmentsToReconcileNetIncome-loss-ToNetCashProvidedBy-usedIn-Operations.writeOffOfAcquiredIn-processResearchAndDevelopment">
			<label href="xpointer(//item[@type='adjustmentsToReconcileNetIncome-loss-ToNetCashProvidedBy-usedIn-Operations.writeOffOfAcquiredIn-processResearchAndDevelopment'])" xml:lang="en">Acquired in-process research and development</label>
			<item id="CF-007" period="P1Y/1999-05-31">0</item>
			<item id="CF-008" period="P1Y/1998-05-31">7136</item>
			<item id="CF-009" period="P1Y/1997-05-31">0</item>
		</group>
		<group type="adjustmentsToReconcileNetIncome-loss-ToNetCashProvidedBy-usedIn-Operations.changesInDeferredIncomeTaxes">
			<label href="xpointer(//item[@type='adjustmentsToReconcileNetIncome-loss-ToNetCashProvidedBy-usedIn-Operations.changesInDeferredIncomeTaxes'])" xml:lang="en">Deferred income tax expense</label>
			<item id="CF-010" period="P1Y/1999-05-31">-780</item>
			<item id="CF-011" period="P1Y/1998-05-31">-5211</item>
			<item id="CF-012" period="P1Y/1997-05-31">2207</item>
		</group>
		<group type="changeInWorkingCapital.changeInReceivables">
			<label href="xpointer(//item[@type='changeInWorkingCapital.changeInReceivables'])" xml:lang="en">Accounts receivable</label>
			<item id="CF-013" period="P1Y/1999-05-31">-3803</item>
			<item id="CF-014" period="P1Y/1998-05-31">-2603</item>
			<item id="CF-015" period="P1Y/1997-05-31">-256</item>
		</group>
		<group type="changeInWorkingCapital.changeInInventories">
			<label href="xpointer(//item[@type='changeInWorkingCapital.changeInInventories'])" xml:lang="en">Inventories</label>
			<item id="CF-016" period="P1Y/1999-05-31">-204</item>
			<item id="CF-017" period="P1Y/1998-05-31">25</item>
			<item id="CF-018" period="P1Y/1997-05-31">-113</item>
		</group>
		<group type="changeInWorkingCapital.changeInOtherAssets">
			<label href="xpointer(//item[@type='changeInWorkingCapital.changeInOtherAssets'])" xml:lang="en">Prepaid expenses and other assets</label>
			<item id="CF-019" period="P1Y/1999-05-31">-2512</item>
			<item id="CF-020" period="P1Y/1998-05-31">-1601</item>
			<item id="CF-021" period="P1Y/1997-05-31">-557</item>
		</group>
		<group type="changeInWorkingCapital.changeInAccountsPayableAndAccruedExpenses">
			<label href="xpointer(//item[@type='changeInWorkingCapital.changeInAccountsPayableAndAccruedExpenses'])" xml:lang="en">Accounts payable and accrued expenses</label>
			<item id="CF-022" period="P1Y/1999-05-31">8906</item>
			<item id="CF-023" period="P1Y/1998-05-31">4391</item>
			<item id="CF-024" period="P1Y/1997-05-31">-141</item>
		</group>
		<group type="changeInWorkingCapital.increaseInIncomeTaxesPayable">
			<label href="xpointer(//item[@type='changeInWorkingCapital.increaseInIncomeTaxesPayable'])" xml:lang="en">Income taxes payable</label>
			<item id="CF-025" period="P1Y/1999-05-31">-3257</item>
			<item id="CF-026" period="P1Y/1998-05-31">3843</item>
			<item id="CF-027" period="P1Y/1997-05-31">0</item>
		</group>
		<group type="changeInWorkingCapital.increaseInEmployeeRelatedLiabilities">
			<label href="xpointer(//item[@type='changeInWorkingCapital.increaseInEmployeeRelatedLiabilities'])" xml:lang="en">Salaries, wages and commissions payable</label>
			<item id="CF-028" period="P1Y/1999-05-31">-420</item>
			<item id="CF-029" period="P1Y/1998-05-31">391</item>
			<item id="CF-030" period="P1Y/1997-05-31">1933</item>
		</group>
		<group type="changeInWorkingCapital.changeInOtherLiabilities">
			<label href="xpointer(//item[@type='changeInWorkingCapital.changeInOtherLiabilities'])" xml:lang="en">Deferred revenue</label>
			<item id="CF-031" period="P1Y/1999-05-31">8751</item>
			<item id="CF-032" period="P1Y/1998-05-31">3947</item>
			<item id="CF-033" period="P1Y/1997-05-31">1430</item>
		</group>
		<group type="netCashFlows.netCashFlowsFromOperatingActivities-indirect-">
			<label href="xpointer(//item[@type='netCashFlows.netCashFlowsFromOperatingActivities-indirect-'])" xml:lang="en">Net cash provided by operating activities</label>
			<item id="CF-034" period="P1Y/1999-05-31">24613</item>
			<item id="CF-035" period="P1Y/1998-05-31">17628</item>
			<item id="CF-036" period="P1Y/1997-05-31">10302</item>
		</group>
		<group type="paymentsForAssets.propertyPlantAndEquipment">
			<label href="xpointer(//item[@type='paymentsForAssets.propertyPlantAndEquipment'])" xml:lang="en">Purchases of property and equipment</label>
			<item id="CF-037" period="P1Y/1999-05-31">-14744</item>
			<item id="CF-038" period="P1Y/1998-05-31">-5265</item>
			<item id="CF-039" period="P1Y/1997-05-31">-2778</item>
		</group>
		<group type="paymentsForAssets.acquisitionOfBusinesses_NetOfCashAcquired">
			<label href="xpointer(//item[@type='paymentsForAssets.acquisitionOfBusinesses_NetOfCashAcquired'])" xml:lang="en">Purchases of businesses</label>
			<item id="CF-040" period="P1Y/1999-05-31">0</item>
			<item id="CF-041" period="P1Y/1998-05-31">-11870</item>
			<item id="CF-042" period="P1Y/1997-05-31">0</item>
		</group>
		<group type="paymentsForAssets.investmentPayments">
			<label href="xpointer(//item[@type='paymentsForAssets.investmentPayments'])" xml:lang="en">Purchase of investments</label>
			<item id="CF-043" period="P1Y/1999-05-31">-384089</item>
			<item id="CF-044" period="P1Y/1998-05-31">-714104</item>
			<item id="CF-045" period="P1Y/1997-05-31">-4892</item>
		</group>
		<group type="proceedsFromSales_maturityOfAssets.investmentProceeds">
			<label href="xpointer(//item[@type='proceedsFromSales_maturityOfAssets.investmentProceeds'])" xml:lang="en">Proceeds from investments</label>
			<item id="CF-046" period="P1Y/1999-05-31">336028</item>
			<item id="CF-047" period="P1Y/1998-05-31">669525</item>
			<item id="CF-048" period="P1Y/1997-05-31">750</item>
		</group>
		<group type="proceedsFromSales_maturityOfAssets.otherAssets">
			<label href="xpointer(//item[@type='proceedsFromSales_maturityOfAssets.otherAssets'])" xml:lang="en">Purchase of other assets</label>
			<item id="CF-049" period="P1Y/1999-05-31">-3007</item>
			<item id="CF-050" period="P1Y/1998-05-31">-2036</item>
			<item id="CF-051" period="P1Y/1997-05-31">-188</item>
		</group>
		<group type="netCashFlows.netCashFlowFromInvestingActivities">
			<label href="xpointer(//item[@type='netCashFlows.netCashFlowFromInvestingActivities'])" xml:lang="en">Net cash used by investment activities</label>
			<item id="CF-051" period="P1Y/1999-05-31">-65812</item>
			<item id="CF-052" period="P1Y/1998-05-31">-63750</item>
			<item id="CF-053" period="P1Y/1997-05-31">-7108</item>
		</group>
		<group type="netCashFlowFromFinancingActivities.repaymentOfLongTermBorrowings">
			<label href="xpointer(//item[@type='netCashFlowFromFinancingActivities.repaymentOfLongTermBorrowings'])" xml:lang="en">Principal payments on notes payable and long-term debt</label>
			<item id="CF-054" period="P1Y/1999-05-31">0</item>
			<item id="CF-055" period="P1Y/1998-05-31">0</item>
			<item id="CF-056" period="P1Y/1997-05-31">-599</item>
		</group>
		<group type="proceedsFromIssuanceOfEquity.stockOptionsExercised">
			<label href="xpointer(//item[@type='proceedsFromIssuanceOfEquity.stockOptionsExercised'])" xml:lang="en">Exercise of stock options</label>
			<item id="CF-057" period="P1Y/1999-05-31">2807</item>
			<item id="CF-058" period="P1Y/1998-05-31">1903</item>
			<item id="CF-059" period="P1Y/1997-05-31">1551</item>
		</group>
		<group type="repaymentOfLongTermBorrowings.capitalLeaseObligations">
			<label href="xpointer(//item[@type='repaymentOfLongTermBorrowings.capitalLeaseObligations'])" xml:lang="en">Principal payments on capital lease obligations</label>
			<item id="CF-060" period="P1Y/1999-05-31">0</item>
			<item id="CF-061" period="P1Y/1998-05-31">0</item>
			<item id="CF-062" period="P1Y/1997-05-31">-247</item>
		</group>
		<group type="paymentForRepurchasesOfEquity.commonStock">
			<label href="xpointer(//item[@type='paymentForRepurchasesOfEquity.commonStock'])" xml:lang="en">Repurchases of common stock</label>
			<item id="CF-063" period="P1Y/1999-05-31">0</item>
			<item id="CF-064" period="P1Y/1998-05-31">0</item>
			<item id="CF-065" period="P1Y/1997-05-31">-54</item>
		</group>
		<group type="proceedsFromIssuanceOfEquity.commonStock">
			<label href="xpointer(//item[@type='netCashFlows.netCashFlowFromFinancingActivities'])" xml:lang="en">Proceeds from issuance of common stock, net</label>
			<item id="CF-066" period="P1Y/1999-05-31">47178</item>
			<item id="CF-067" period="P1Y/1998-05-31">50315</item>
			<item id="CF-068" period="P1Y/1997-05-31">0</item>
		</group>
		<group type="netCashFlows.netCashFlowFromFinancingActivities">
			<label href="xpointer(//item[@type='netCashFlows.netCashFlowFromFinancingActivities'])" xml:lang="en">Net cash provided by financing activities</label>
			<item id="CF-069" period="P1Y/1999-05-31">49985</item>
			<item id="CF-070" period="P1Y/1998-05-31">52218</item>
			<item id="CF-071" period="P1Y/1997-05-31">651</item>
		</group>
		<group type="endOfPeriodCashAndCashEquivalents.netCashFlows">
			<label href="xpointer(//item[@type='endOfPeriodCashAndCashEquivalents.netCashFlows'])" xml:lang="en">Net cash provided by financing activities</label>
			<item id="CF-069" period="P1Y/1999-05-31">49985</item>
			<item id="CF-070" period="P1Y/1998-05-31">52218</item>
			<item id="CF-071" period="P1Y/1997-05-31">651</item>
		</group>
		<group type="endOfPeriodCashAndCashEquivalents.beginningOfPeriodCashAndCashEquivalents">
			<label href="xpointer(//item[@type='endOfPeriodCashAndCashEquivalents.netCashFlows'])" xml:lang="en">Increase in cash and cash equivalents</label>
			<item id="CF-072" period="P1Y/1999-05-31">8786</item>
			<item id="CF-073" period="P1Y/1998-05-31">6096</item>
			<item id="CF-074" period="P1Y/1997-05-31">3845</item>
		</group>
		<group type="endOfPeriodCashAndCashEquivalents.beginningOfPeriodCashAndCashEquivalents">
			<label href="xpointer(//item[@type='endOfPeriodCashAndCashEquivalents.beginningOfPeriodCashAndCashEquivalents'])" xml:lang="en">Cash and cash equivalents at beginning of period</label>
			<item id="CF-075" period="P1Y/1999-05-31">18197</item>
			<item id="CF-076" period="P1Y/1998-05-31">12101</item>
			<item id="CF-077" period="P1Y/1997-05-31">8256</item>
		</group>
		<group type="cashFlows.endOfPeriodCashAndCashEquivalents">
			<label href="xpointer(//item[@type='cashFlows.endOfPeriodCashAndCashEquivalents'])" xml:lang="en">Cash and cash equivalents at end of period</label>
			<item id="CF-078" period="P1Y/1999-05-31">26983</item>
			<item id="CF-079" period="P1Y/1998-05-31">18197</item>
			<item id="CF-080" period="P1Y/1997-05-31">12101</item>
		</group>
		<group type="supplementalDisclosure.cashInterestExpense">
			<label href="xpointer(//item[@type='supplementalDisclosure.cashInterestExpense'])" xml:lang="en">Interest paid</label>
			<item id="CF-081" period="P1Y/1999-05-31">3</item>
			<item id="CF-082" period="P1Y/1998-05-31">2</item>
			<item id="CF-083" period="P1Y/1997-05-31">68</item>
		</group>
		<group type="supplementalDisclosure.incomeTaxesPaid">
			<label href="xpointer(//item[@type='supplementalDisclosure.incomeTaxesPaid'])" xml:lang="en">Income taxes paid</label>
			<item id="CF-084" period="P1Y/1999-05-31">11475</item>
			<item id="CF-085" period="P1Y/1998-05-31">4005</item>
			<item id="CF-086" period="P1Y/1997-05-31">83</item>
		</group>
		<group type="supplementalDisclosure.non-cashInvestingAndFinancingActivities">
			<label href="xpointer(//item[@type='supplementalDisclosure.non-cashInvestingAndFinancingActivities'])" xml:lang="en">Noncash tax benefit from stockholder transactions</label>
			<item id="CF-087" period="P1Y/1999-05-31">978</item>
			<item id="CF-088" period="P1Y/1998-05-31">586</item>
			<item id="CF-089" period="P1Y/1997-05-31">590</item>
		</group>
	</group>




	<!--SECTION:  Notes -->

	<group id="NOTE01.000" type="notesToFinancialStatements.summaryOfSignificantAccountingPolicies">
		<item type="summaryOfSignificantAccountingPolicies.natureOfBusiness">
			Great Plains Software, Inc. (NASDAQ: GPSI) provides fully integrated
			front office/back office business management solutions for the midmarket.
			These include financial, distribution, enterprise reporting, project
			accounting, electronic business, human resources and payroll,
			manufacturing, service management, sales and marketing, and customer
			service and support applications. Our solutions are sold and implemented
			by a unique worldwide network of independent partner organizations that
			share the Company's commitment to lasting customer relationships.</item>

		<item id="CONSOLIDATION POLICY AND FOREIGN CURRENCY TRANSLATIONS" type="summaryOfSignificantAccountingPolicies.consolidation-policy-">
			The consolidated financial statements include the accounts of the
			Company and its subsidiaries in Canada, the United Kingdom, Scandinavia,
			South Africa, Singapore, Australia and the Philippines. All significant
			intercompany accounts and transactions have been eliminated in
			consolidation. Essentially all assets and liabilities are translated to
			U.S. dollars at year-end exchange rates, while elements of the income
			statement are translated at average exchange rates in effect during the
			year. The functional currency of the subsidiaries is the local currency.
			Therefore, all translation gains and losses resulting from fluctuations
			in currency exchange rates of these subsidiaries are recorded as a
			component of accumulated other comprehensive loss in equity.</item>

		<item id="USE OF ESTIMATES" type="summaryOfSignificantAccountingPolicies.managementEstimates-keyEstimates-">
			The preparation of financial statements in conformity with generally
			accepted accounting principles requires management to make estimates and
			assumptions that affect the reported amounts of assets and liabilities
			and disclosure of contingent assets and liabilities at the date of the
			financial statements and the reported amounts of revenues and expenses
			during the reporting period. Actual results could differ from those
			estimates.</item>

		<item id="FAIR VALUE DISCLOSURE OF FINANCIAL INSTRUMENTS" type="managementEstimates-keyEstimates-.fairValueOfFinancialInstruments">
			The Company's financial instruments consist of cash, investments,
			short-term receivables and payables for which their current carrying
			amounts approximate fair market value.</item>

		<item id="CONCENTRATION OF CREDIT RISK" type="gpsi:summaryofSignificantAccountingPolicies.concentrationOfCreditRisk">
			Financial instruments that potentially subject the Company to credit
			risk consist primarily of cash, cash equivalents, investments and
			accounts receivable. The Company grants credit to customers in the
			ordinary course of business. No single customer or region represents a
			significant concentration of credit risk. The Company invests its cash
			with high quality financial institutions.</item>

		<item id="CASH AND CASH EQUIVALENTS" type="summaryOfSignificantAccountingPolicies.cashAndCashEquivalents">
			Cash and cash equivalents consist of cash and highly liquid investments
			with original maturities of three months or less and which are readily
			convertible to cash.</item>

		<item id="INVESTMENTS" type="summaryOfSignificantAccountingPolicies.investmentSecurities">
			Investments in debt securities that are not cash equivalents have been
			designated as available for sale. Those securities, which consist of
			various high rated governmental securities and corporate commercial
			paper, are reported at fair value, with net unrealized gains and losses
			included in stockholders' equity. The unrealized loss, net of income tax,
			was $81,000 at May 31, 1999. The maturities of the of the debt securities
			range from 1999 to 2000.</item>

		<item id="INVENTORIES" type="summaryOfSignificantAccountingPolicies.inventories">
			Inventories consisting of media, training materials and packaging
			supplies are stated at lower of cost or market, with cost determined on a
			first-in, first-out ("FIFO") basis.</item>

		<item id="INCOME TAXES" type="summaryOfSignificantAccountingPolicies.incomeTaxes">
			Income taxes are accounted for under the liability method in accordance
			with Statement of Financial Accounting Standards No. 109 ("SFAS No.
			109"), "Accounting for Income Taxes." Under the liability method,
			deferred tax assets and liabilities are determined based on the
			difference between the financial statement and tax bases of assets and
			liabilities.</item>

		<item id="PROPERTY AND EQUIPMENT" type="summaryOfSignificantAccountingPolicies.property_PlantAndEquipment">
			Property and equipment are stated at cost. Major improvements are
			capitalized while maintenance and repairs are expensed currently.
			Depreciation is computed using the straight-line method based on
			estimated useful lives of three to five years for computer equipment and
			five to ten years for furniture, fixtures and equipment. Leasehold
			improvements are amortized over the lesser of the terms of the related
			leases or estimated useful life. Purchased computer software, which is
			used internally, is amortized over a period of three to five years using
			the straight-line method. Amortization expense is included with
			depreciation expense in the consolidated statement of cash flows.</item>

		<item id="INTANGIBLE ASSETS AND GOODWILL" type="summaryOfSignificantAccountingPolicies.intangiblesAndOtherAssets">
			Amortization of intangible assets and goodwill is recorded on a
			straight line basis over their estimated useful lives ranging from four
			to seven years. The recoverability of unamortized intangible assets and
			goodwill is assessed on an ongoing basis by comparing anticipated
			undiscounted cash flows to net book value.</item>

		<item id="REVENUE RECOGNITION AND DEFERRED REVENUE" type="summaryOfSignificantAccountingPolicies.revenueRecognition">
			Software license revenues are recognized upon shipment less a reserve
			for estimated future returns. Revenues from support and maintenance
			service contracts are recorded as deferred revenues when billed and
			recognized ratably over the contract period. Other service revenues such
			as training and consulting services are recognized as the services are
			performed. The Company, in its discretion, may allow customers to return
			products for a short period of time following the sale. The Company
			provides an allowance for these anticipated returns based upon its
			historical experience of returns for similar products. These amounts are
			recorded as an offset to license revenues. Statement of Position 97-2
			("SOP 97-2"), "Software Revenue Recognition," is effective in fiscal 1999
			and was adopted by the Company on June 1, 1998. The adoption of SOP 97-2
			did not have a material effect on the timing of the Company's revenue
			recognition or cause changes to its revenue recognition policies.</item>

		<item id="ADVERTISING" type="summaryOfSignificantAccountingPolicies.advertising">
			The Company accrues, at the time of sale, an estimated liability for
			qualified advertising expenses incurred by partner organizations for
			which the Company has agreed to reimburse such parties as part of a
			cooperative advertising program. Other advertising costs are expensed as
			incurred. Advertising expense was approximately $7,638,000, $3,731,000,
			and $1,990,000 for the years ended May 31, 1999, 1998 and 1997,
			respectively.</item>

		<item id="RESEARCH AND DEVELOPMENT" type="summaryOfSignificantAccountingPolicies.researchAndDevelopment">
			Expenditures for software development costs and research are expensed
			as incurred. Such costs are required to be expensed until the point that
			technological feasibility is established. The period between achieving
			technological feasibility and the general availability of such software
			has been short. Consequently, costs otherwise capitalizable after
			technological feasibility is achieved are generally expensed because they
			are insignificant.</item>

		<item id="EARNINGS PER SHARE" type="notesToFinancialStatements.earningsPerShare">
			In February 1997, the Financial Accounting Standards Board issued
			Statement of Financial Accounting Standards No. 128 ("SFAS No. 128"),
			"Earnings Per Share." SFAS No. 128 requires dual presentation of basic
			and diluted earnings per share for entities with complex capital
			structures. Basic earnings per share includes no dilution and is computed
			by dividing net income available to common stockholders by the weighted
			average number of common shares outstanding for the period. Diluted
			earnings per share reflects the potential dilution of securities that
			could share in the earnings of an entity. All earnings per share amounts
			for all periods have been presented, and where necessary, restated to
			conform with the provisions of SFAS No. 128.</item>

		<item id="EARNINGS PER SHARE" type="notesToFinancialStatements.earningsPerShare">
			The following table sets forth the computation of basic and diluted net
			income per share (dollars in thousands, except share and per share
			amounts):</item>

		<group id="EARNINGS PER SHARE-TABLE" type="gpsi:earningsPerShare.computation">
			<group type="gpsi:computation.netIncome">
				<label href="xpointer(//item[@type='gpsi:computation.netIncome'])" xml:lang="en">Net income</label>
				<item period="P1Y/1999-05-31">12785</item>
				<item period="P1Y/1998-05-31">4447</item>
				<item period="P1Y/1997-05-31">3644</item>
			</group>
			<group type="gpsi:computation.increasetoCarryingValueofMandatorilyRedeemablePreferredStock">
				<label href="xpointer(//item[@type='gpsi:computation.increasetoCarryingValueofMandatorilyRedeemablePreferredStock'])" xml:lang="en">Increase to carrying value of mandatorily redeemable preferred stock</label>
				<item period="P1Y/1999-05-31">0</item>
				<item period="P1Y/1998-05-31">0</item>
				<item period="P1Y/1997-05-31">-17196</item>
			</group>
			<group type="gpsi:computation.netIncomeAvailabletoCommonStockholders">
				<label href="xpointer(//item[@type='gpsi:computation.netIncomeAvailabletoCommonStockholders'])" xml:lang="en">Net income available to common stockholders</label>
				<item period="P1Y/1999-05-31">12785</item>
				<item period="P1Y/1998-05-31">4447</item>
				<item period="P1Y/1997-05-31">-13552</item>
			</group>
			<group type="weightedAverageSharesOutstanding.basicWeightedAverageShares">
				<label href="xpointer(//item[@type='weightedAverageSharesOutstanding.basicWeightedAverageShares'])" xml:lang="en">Weighted average common shares</label>
				<item period="P1Y/1999-05-31" unit="shares" scaleFactor="0">14231102</item>
				<item period="P1Y/1998-05-31" unit="shares" scaleFactor="0">13381414</item>
				<item period="P1Y/1997-05-31" unit="shares" scaleFactor="0">7629460</item>
			</group>
			<group type="incomeStatement.basicEarningsPerShare">
				<label href="xpointer(//item[@type='incomeStatement.basicEarningsPerShare'])" xml:lang="en">Basic net income per share</label>
				<item period="P1Y/1999-05-31" scaleFactor="1">0.90</item>
				<item period="P1Y/1998-05-31" scaleFactor="1">0.33</item>
				<item period="P1Y/1997-05-31" scaleFactor="1">-1.78</item>
			</group>
			<group type="gpsi:computation.netIncomeAvailabletoCommonStockholders">
				<label href="xpointer(//item[@type='gpsi:computation.netIncomeAvailabletoCommonStockholders'])" xml:lang="en">Net income available to common stockholders</label>
				<item period="P1Y/1999-05-31">12785</item>
				<item period="P1Y/1998-05-31">4447</item>
				<item period="P1Y/1997-05-31">3644</item>
			</group>
			<group type="gpsi:computation.weightedAverageNumberofCommonShares">
				<label href="xpointer(//item[@type='gpsi:computation.weightedAverageNumberofCommonShares'])" xml:lang="en">Weighted average number of common shares</label>
				<item period="P1Y/1999-05-31" unit="shares" scaleFactor="0">14231102</item>
				<item period="P1Y/1998-05-31" unit="shares" scaleFactor="0">13381414</item>
				<item period="P1Y/1997-05-31" unit="shares" scaleFactor="0">7629460</item>
			</group>
			<group type="gpsi:computation.weightedAverageofAssumedConversionofMandatorilyRedeemablePreferredStock">
				<label href="xpointer(//item[@type='gpsi:computation.weightedAverageofAssumedConversionofMandatorilyRedeemablePreferredStock'])" xml:lang="en">Weighted average of assumed conversion of mandatorily redeemable preferred stock</label>
				<item period="P1Y/1999-05-31">0</item>
				<item period="P1Y/1998-05-31">0</item>
				<item period="P1Y/1997-05-31">1847627</item>
			</group>
			<group type="gpsi:computation.effectofDilutiveStockOptions">
				<label href="xpointer(//item[@type='gpsi:computation.effectofDilutiveStockOptions'])" xml:lang="en">Effect of dilutive stock options</label>
				<item period="P1Y/1999-05-31">641477</item>
				<item period="P1Y/1998-05-31">707678</item>
				<item period="P1Y/1997-05-31">526262</item>
			</group>
			<group type="gpsi:computation.blank">
				<label href="xpointer(//item[@type='gpsi:computation.blank'])" xml:lang="en"></label>
				<item period="P1Y/1999-05-31" unit="shares" scaleFactor="0">14872579</item>
				<item period="P1Y/1998-05-31" unit="shares" scaleFactor="0">14089092</item>
				<item period="P1Y/1997-05-31" unit="shares" scaleFactor="0">10003349</item>
			</group>
			<group type="weightedAverageSharesOutstanding.dilutedWeightedAverageShares">
				<label href="xpointer(//item[@type='weightedAverageSharesOutstanding.dilutedWeightedAverageShares'])" xml:lang="en">Diluted net income per share</label>
				<item period="P1Y/1999-05-31" scaleFactor="0">0.86</item>
				<item period="P1Y/1998-05-31" scaleFactor="0">0.32</item>
				<item period="P1Y/1997-05-31" scaleFactor="0">0.36</item>
			</group>
		</group>

		<item id="COMPREHENSIVE INCOME" type="gpsi:summaryofSignificantAccountingPolicies.comperhensiveIncome">
			On June 1, 1998, the Company adopted Statement of Financial Accounting
			Standards No. 130 ("SFAS No. 130"), "Reporting of Comprehensive Income."
			Comprehensive income for the Company includes net income, the effects of
			currency translation which are charged or credited to the cumulative
			translation adjustment account within stockholder's equity, and the
			unrealized gain/loss on investments available for sale which is recorded
			within stockholders' equity. Comprehensive income for all periods
			presented is included in the Consolidated Statement of Stockholders'
			Equity.</item>

		<item id="RECENTLY ISSUED ACCOUNTING STANDARDS" type="summaryOfSignificantAccountingPolicies.newAccountingStandards">
			In June 1998, the Financial Accounting Standards Board issued Statement
			No. 133 ("SFAS No. 133"), "Accounting for Derivative Instruments and
			Hedging Activities." This standard establishes accounting and reporting
			standards for derivative instruments and hedging activities. The Company
			must adopt this standard no later than June 1, 2001. Management believes
			the adoption of SFAS No. 133 will not have a material effect on the
			Company's financial statements.</item>
	</group>



	<group id="NOTE02.001" type="notesToFinancialStatements.businessCombinations">
		<item type="notesToFinancialStatements.businessCombinations">
			On April 30, 1999, the Company received all of the outstanding
			capital stock of Match Data Systems, Inc., a software provider of project
			accounting solutions, in a transaction that was accounted for as a
			pooling of interests. To affect the business combination, the Company
			issued a combination of 159,618 shares and options of the Company's
			common stock. Financial data for the periods prior to the closing of this
			transaction has not been restated because neither the net assets nor
			operating results were material to the Company's consolidated financial
			statements. The Company's consolidated financial statements include the
			results of Match Data Systems, Inc. since May 1, 1999.</item>
		<item type="notesToFinancialStatements.businessCombinations">
			On April 20, 1998, the Company acquired certain assets and assumed
			certain liabilities of ICONtrol, Inc., a software provider of
			manufacturing and human resource solutions. The purchase price was paid
			in cash and totaled $7,536,000.</item>
		<item type="notesToFinancialStatements.businessCombinations">
			The acquisition was accounted for as a purchase and accordingly, the
			net assets acquired were recorded at their estimated fair values at the
			effective date of the acquisition. The allocation included $5,456,000 to
			in-process research and development, $1,935,000 to intangible assets and
			$145,000 to the fair value of net tangible assets.</item>
		<item type="notesToFinancialStatements.businessCombinations">
			The $5,456,000 related to acquired in-process research and
			development, as determined by an independent third party appraisal, was
			charged against income in fiscal 1998 as the underlying research and
			development projects had not yet reached technological feasibility. The
			Company's consolidated financial statements include the results of
			ICONtrol since date of acquisition.</item>
		<item type="notesToFinancialStatements.businessCombinations">
			The following table presents the consolidated results of operations
			on an unaudited pro forma basis as if the acquisition of ICONtrol had
			taken place at the beginning of each year (dollars in thousands):</item>

		<group id="BUSINESS COMBINATIONS-TABLE" type="gpsi:businessCombinations.detail">
			<group type="gpsi:detail.netRevenues">
				<label href="xpointer(//item[@type='gpsi:detail.netRevenues'])" xml:lang="en">Net revenues</label>
				<item period="P1Y/1998-05-31">88060</item>
				<item period="P1Y/1997-05-31">59405</item>
			</group>
			<group type="gpsi:detail.netIncome">
				<label href="xpointer(//item[@type='gpsi:detail.netIncome'])" xml:lang="en">Net income</label>
				<item period="P1Y/1998-05-31">7367</item>
				<item period="P1Y/1997-05-31">138</item>
			</group>
			<group type="gpsi:detail.dilutedProFormaNetIncomePerShare">
				<label href="xpointer(//item[@type='gpsi:detail.dilutedProFormaNetIncomePerShare'])" xml:lang="en">Pro forma net income per share (diluted)</label>
				<item period="P1Y/1998-05-31">0.53</item>
				<item period="P1Y/1997-05-31">0.01</item>
			</group>
			<group type="gpsi:detail.reportedNetIncomePerShareBeforeAcquisitionRelatedCharges">
				<label href="xpointer(//item[@type='gpsi:detail.reportedNetIncomePerShareBeforeAcquisitionRelatedCharges'])" xml:lang="en">Reported net income per share before acquisition related charges</label>
				<item period="P1Y/1998-05-31">0.63</item>
				<item period="P1Y/1997-05-31">0.36</item>
			</group>
		</group>

		<item type="notesToFinancialStatements.businessCombinations">
			The one time charge for acquired in-process research and development
			is not reflected in the pro forma results presented above. The unaudited
			pro forma results of operations are for comparative purposes only and do
			not necessarily reflect the results that would have occurred had the
			acquisition occurred at the beginning of the periods presented or the
			results which may occur in the future.</item>
		<item type="notesToFinancialStatements.businessCombinations">
			On May 1, 1998, the Company acquired certain assets and assumed certain
			liabilities of Telenor Financial Systems, a software provider of
			sophisticated multinational consolidations and budgeting solutions. The
			purchase price was paid in cash and totaled $4,406,000. The acquisition was
			accounted for as a purchase and accordingly, the net assets acquired were
			recorded at their estimated fair values at the effective date of the
			acquisition. The allocation included $1,680,000 to in-process research and
			development, $990,000 to intangible assets, $1,681,000 to goodwill and
			$55,000 to the fair value of net tangible assets.</item>
		<item type="notesToFinancialStatements.businessCombinations">
			The $1,680,000 related to acquired in-process research and development,
			as determined by an independent third party appraisal, was charged against
			income in fiscal 1998 as the underlying research and development projects
			had not yet reached technological feasibility. The Company's consolidated
			financial statements include the results of Telenor Financial Systems from
			May 1, 1998. The results of operations prior to May 1, 1998, were not
			material to the consolidated financial statements; accordingly, pro forma
			financial disclosures are not presented.</item>
		<item type="notesToFinancialStatements.businessCombinations">
			The application of purchase accounting to the acquisitions described
			above was based on independent third-party appraisals using valuation
			techniques commonly applied to attribute fair value to acquired assets. The
			appraisals incorporated management's best estimates for future revenue and
			profitability from products in the process of development at the time of
			acquisition. As is the case with all projections of future events, actual
			results could differ. Additionally, the SEC has challenged valuations
			incorporating in-process research and development. If the assumptions or
			valuation methods used were changed, the Company's financial statements
			would be affected because allocations to in-process research and
			development, which have been expensed, would be reallocated to intangible
			assets which require amortization against income in future periods.</item>
		<item type="notesToFinancialStatements.businessCombinations">
			In September 1997, the Company received all of the outstanding capital
			stock of its Singapore distributor in a transaction that was accounted for
			as a pooling of interests. To effect the business combination, the Company
			issued 56,250 shares of the Company's common stock. Financial data for the
			periods prior to the closing of this transaction have not been restated
			because neither the net assets nor operating results were material to the
			Company's consolidated financial statements. The Company's consolidated
			financial statements include the results of the Singapore distributor since
			September 1, 1997.</item>
	</group>




	<group id="NOTE03.001" type="notesToFinancialStatements.accountsReceivable">
		<item id="ACCOUNTS RECEIVABLE" type="notesToFinancialStatements.accountsReceivable">
			Accounts receivable, net of allowances, consist of the following
			(dollars in thousands):</item>

		<group id="ACCOUNTS RECEIVABLE-TABLE" type="gpsi:accountsReceivable.detail">
			<group type="gpsi:detail.grossAccountsReceivable">
				<label href="xpointer(//item[@type='gpsi:detail.grossAccountsReceivable'])" xml:lang="en">Gross accounts receivable</label>
				<item period="1999-05-31">18280</item>
				<item period="1998-05-31">13472</item>
			</group>
			<group type="gpsi:detail.allowanceForReturnsandDoubtfulAccounts">
				<label href="xpointer(//item[@type='gpsi:detail.allowanceForReturnsandDoubtfulAccounts'])" xml:lang="en">Less allowance for returns and doubtful accounts</label>
				<item period="1999-05-31">-5687</item>
				<item period="1998-05-31">-4682</item>
			</group>
			<group type="gpsi:detail.accountsReceivableBlank">
				<label href="xpointer(//item[@type='gpsi:detail.accountsReceivableBlank'])" xml:lang="en"></label>
				<item period="1999-05-31">12593</item>
				<item period="1998-05-31">8790</item>
			</group>
		</group>
	</group>




	<group id="NOTE04.001" type="notesToFinancialStatements.fixedAssets">
		<item id="NOTE04.002" type="notesToFinancialStatements.fixedAssets">
			Property and equipment consists of the following (dollars in
			thousands):</item>

		<group id="FIXED ASSETS-TABLE" type="fixedAssets.property_PlantAndEquipment">
			<group type="property_PlantAndEquipment.furnitureAndFixtures">
				<label href="xpointer(//item[@type='property_PlantAndEquipment.furnitureAndFixtures'])" xml:lang="en">Furniture and fixtures</label>
				<item period="1999-05-31">7239</item>
				<item period="1998-05-31">2416</item>
			</group>
			<group type="property_PlantAndEquipment.otherProperty_PlantAndEquipment">
				<label href="xpointer(//item[@type='property_PlantAndEquipment.otherProperty_PlantAndEquipment'])" xml:lang="en">Computers and equipment</label>
				<item period="1999-05-31">23520</item>
				<item period="1998-05-31">15685</item>
			</group>
			<group type="property_PlantAndEquipment.leaseholdImprovements">
				<label href="xpointer(//item[@type='property_PlantAndEquipment.leaseholdImprovements'])" xml:lang="en">Leasehold improvements</label>
				<item period="1999-05-31">943</item>
				<item period="1998-05-31">369</item>
			</group>
			<group type="gpsi:property_PlantandEquipment.purchasedSoftwareForInternalUse">
				<label href="xpointer(//item[@type='gpsi:property_PlantandEquipment.purchasedSoftwareForInternalUse'])" xml:lang="en">Purchased software for internal use</label>
				<item period="1999-05-31">2632</item>
				<item period="1998-05-31">1675</item>
			</group>
			<group type="fixedAssets.property_PlantAndEquipment">
				<label href="xpointer(//item[@type='fixedAssets.property_PlantAndEquipment'])" xml:lang="en"></label>
				<item period="1999-05-31">34334</item>
				<item period="1998-05-31">20145</item>
			</group>
			<group type="depreciation.accumulatedDepreciationByMajorClassesOrInTotal">
				<label href="xpointer(//item[@type='depreciation.accumulatedDepreciationByMajorClassesOrInTotal'])" xml:lang="en">Less accumulated depreciation and amortization</label>
				<item period="1999-05-31">-15208</item>
				<item period="1998-05-31">-11644</item>
			</group>
			<group type="netProperty_PlantAndEquipment.grossProperty_PlantAndEquipment">
				<label href="xpointer(//item[@type='netProperty_PlantAndEquipment.grossProperty_PlantAndEquipment'])" xml:lang="en"></label>
				<item period="1999-05-31">19126</item>
				<item period="1998-05-31">8501</item>
			</group>
		</group>

		<item type="depreciation.depreciationExpense">
			Depreciation expense for the years ended May 31, 1999, 1998, 1997, was
			$4,069,000, $2,676,000, and $2,038,000, respectively.</item>
	</group>




	<group id="NOTE05.001" type="notesToFinancialStatements.intangibleAssets">
		<item id="GOODWILL AND OTHER INTANGIBLES" type="notesToFinancialStatements.intangibleAssets">
			Goodwill and other intangibles consist of the following (dollars in
			thousands):</item>
			
		<group type="notesToFinancialStatements.intangibleAssets">
			<group type="intangibles.goodwill">
				<label href="xpointer(//item[@type='intangibles.goodwill'])" xml:lang="en">Goodwill</label>
				<item period="1999-05-31">2308</item>
				<item period="1998-05-31">2354</item>
			</group>
			<group type="intangibles.otherIntangibleAssets">
				<label href="xpointer(//item[@type='intangibles.otherIntangibleAssets'])" xml:lang="en">Other intangibles</label>
				<item period="1999-05-31">2925</item>
				<item period="1998-05-31">2925</item>
			</group>
			<group type="gpsi:intangibleAssets.blank">
				<label href="xpointer(//item[@type='gpsi:intangibleAssets.blank'])" xml:lang="en"></label>
				<item period="1999-05-31">5233</item>
				<item period="1998-05-31">5279</item>
			</group>
			<group type="intangibles.accumulatedAmortizationOfIntangibleAssets">
				<label href="xpointer(//item[@type='intangibles.accumulatedAmortizationOfIntangibleAssets'])" xml:lang="en">Less accumulated amortization</label>
				<item period="1999-05-31">-1395</item>
				<item period="1998-05-31">-333</item>
			</group>
			<group type="gpsi:intangibleAssets.blank">
				<label href="xpointer(//item[@type='gpsi:intangibleAssets.blank'])" xml:lang="en"></label>
				<item period="1999-05-31">3838</item>
				<item period="1998-05-31">4946</item>
			</group>
		</group>

		<item id="NOTE05.003" type="gpsi:intangibleAssets.amortizationExpense">
			Amortization expense for the years ended May 31, 1999, 1998 and 1997
			was $1,078,000, $187,000, and $117,000, respectively.</item>
	</group>





	<group id="NOTE06.001" type="gpsi:notestoFinancialStatements.accruedExpenses">
		<item type="gpsi:notestoFinancialStatements.accruedExpenses">
		Accrued expenses consist of the following (dollars in thousands):</item>

		<group type="gpsi:accruedExpenses.detail">
			<group type="gpsi:detail.accruedVacationPayable">
				<label href="xpointer(//item[@type='gpsi:detail.accruedVacationPayable'])" xml:lang="en">Accrued vacation payable</label>
				<item period="1999-05-31">2473</item>
				<item period="1998-05-31">1882</item>
			</group>
			<group type="gpsi:detail.coopAdvertisingAccrual">
				<label href="xpointer(//item[@type='gpsi:detail.coopAdvertisingAccrual'])" xml:lang="en">Coop advertising accrual</label>
				<item period="1999-05-31">2074</item>
				<item period="1998-05-31">1390</item>
			</group>
			<group type="gpsi:detail.accruedExpensesOther">
				<label href="xpointer(//item[@type='gpsi:detail.other'])" xml:lang="en">Other</label>
				<item period="1999-05-31">7043</item>
				<item period="1998-05-31">3669</item>
			</group>
			<group type="gpsi:detail.accruedExpensesBlank">
				<label href="xpointer(//item[@type='gpsi:detail.blank'])" xml:lang="en"></label>
				<item period="1999-05-31">11590</item>
				<item period="1998-05-31">6941</item>
			</group>
		</group>
	</group>



	<group id="NOTE07.001" type="gpsi:notestoFinancialStatements.otherIncome">
		<item type="gpsi:notestoFinancialStatements.otherIncome">
		Other income, net consists of the following (dollars in thousands):</item>

		<group type="gpsi:otherIncome.detail">
			<group type="gpsi:detail.interestIncome">
				<label href="xpointer(//item[@type='gpsi:detail.interestIncome'])" xml:lang="en">Interest income</label>
				<item period="P1Y/1999-05-31">3998</item>
				<item period="P1Y/1998-05-31">3508</item>
				<item period="P1Y/1997-05-31">540</item>
			</group>
			<group type="gpsi:detail.otherIncomeOther">
				<label href="xpointer(//item[@type='gpsi:detail.other'])" xml:lang="en">Other</label>
				<item period="P1Y/1999-05-31">-403</item>
				<item period="P1Y/1998-05-31">-232</item>
				<item period="P1Y/1997-05-31">116</item>
			</group>
			<group type="gpsi:detail.otherIncomeBlank">
				<label href="xpointer(//item[@type='gpsi:detail.blank'])" xml:lang="en"></label>
				<item period="P1Y/1999-05-31">3595</item>
				<item period="P1Y/1998-05-31">3276</item>
				<item period="P1Y/1997-05-31">656</item>
			</group>
		</group>
	</group>




	<group id="NOTE08.001" type="notesToFinancialStatements.shortTermDebt">
		<item type="notesToFinancialStatements.shortTermDebt">
			The Company has a $10,000,000 revolving line of credit facility with a
			bank that provides for interest at prime. Substantially all of the
			Company's assets are pledged as collateral on the line of credit, which
			expires in November 1999, and is subject to certain covenants, all of
			which had been complied with at May 31, 1999. There were no amounts
			outstanding at May 31, 1999 or 1998.</item>
	</group>





	<group id="NOTE09.001" type="notesToFinancialStatements.lossContingencies">
		<item id="LEASE OBLIGATIONS" type="gpsi:lossContingencies.leaseObligations">
			Rental expense incurred for operating leases of office facilities and
			office equipment was approximately $1,706,000 in 1999, $1,054,000 in 1998
			and $866,000 in 1997. Future minimum rental payments as of May 31, 1999,
			for noncancelable operating leases with initial or remaining terms in
			excess of one year are payable as follows: fiscal 2000 - $3,413,000,
			fiscal 2001 - $3,154,000, fiscal 2002 - $2,889,000 and fiscal 2003 -
			$2,454,000 and fiscal 2004 - $2,303,000.</item>

		<item id="LITIGATION" type="gpsi:lossContingencies.litigation">
			The Company is, from time to time, a party to litigation arising in the
			normal course of business. Management believes that none of this
			litigation will have a material adverse effect on the financial position
			or results of operations or cash flows of the Company.</item>
	</group>





	<group id="NOTE10.001" type="notesToFinancialStatements.incomeTaxes">
		<item id="INCOME TAXES" type="notesToFinancialStatements.incomeTaxes">
			Deferred income taxes reflect the tax effects of temporary differences
			between the carrying amounts of assets and liabilities for financial
			reporting purposes and the amounts used for income tax purposes.</item>
		<item type="notesToFinancialStatements.incomeTaxes">
			Significant components of the Company's deferred tax liabilities and
			assets are as follows (dollars in thousands):</item>
		
		<group id="DEFERRED TAX LIABILITIES AND ASSETS" type="netDeferredTaxLiabilityOrAsset.deferredTaxLiabilities">	
			<group type="gpsi:totalDeferredTaxLiabilities.taxDepreciationInExcessofFinancialReporting">
				<label href="xpointer(//item[@type='gpsi:totalDeferredTaxLiabilities.taxDepreciationInExcessofFinancialReporting'])" xml:lang="en">Tax depreciation in excess of financial reporting</label>
				<item period="P1Y/1999-05-31">109</item>
				<item period="P1Y/1998-05-31">204</item>
			</group>
			<group type="gpsi:totalDeferredTaxLiabilities.totalDeferredTaxLiabilities">
				<label href="xpointer(//item[@type='gpsi:totalDeferredTaxLiabilities.totalDeferredTaxLiabilities'])" xml:lang="en">Total deferred tax liabilities</label>
				<item period="P1Y/1999-05-31">109</item>
				<item period="P1Y/1998-05-31">204</item>
			</group>
			<group type="gpsi:totalDeferredTaxLiabilities.accountsReceivableAllowances">
				<label href="xpointer(//item[@type='gpsi:totalDeferredTaxLiabilities.accountsReceivableAllowances'])" xml:lang="en">Accounts receivable allowances</label>
				<item period="P1Y/1999-05-31">2086</item>
				<item period="P1Y/1998-05-31">1925</item>
			</group>
			<group type="gpsi:totalDeferredTaxLiabilities.deferredRevenue">
				<label href="xpointer(//item[@type='gpsi:totalDeferredTaxLiabilities.deferredRevenue'])" xml:lang="en">Deferred revenue</label>
				<item period="P1Y/1999-05-31">592</item>
				<item period="P1Y/1998-05-31">507</item>
			</group>
			<group type="gpsi:totalDeferredTaxLiabilities.accrualsAndOther">
				<label href="xpointer(//item[@type='gpsi:totalDeferredTaxLiabilities.accrualsAndOther'])" xml:lang="en">Accruals and other</label>
				<item period="P1Y/1999-05-31">2864</item>
				<item period="P1Y/1998-05-31">2198</item>
			</group>
			<group type="gpsi:totalDeferredTaxLiabilities.totalCurrentDeferredIncomeTaxAssets">
				<label href="xpointer(//item[@type='gpsi:totalDeferredTaxLiabilities.totalCurrentDeferredIncomeTaxAssets'])" xml:lang="en">Total current deferred income tax assets</label>
				<item period="P1Y/1999-05-31">5542</item>
				<item period="P1Y/1998-05-31">4630</item>
			</group>
			<group type="gpsi:totalDeferredTaxLiabilities.netOperatingLossofForeignSubsidiaries">
				<label href="xpointer(//item[@type='gpsi:totalDeferredTaxLiabilities.netOperatingLossofForeignSubsidiaries'])" xml:lang="en">Net operating loss of foreign subsidiaries</label>
				<item period="P1Y/1999-05-31">664</item>
				<item period="P1Y/1998-05-31">606</item>
			</group>
			<group type="gpsi:totalDeferredTaxLiabilities.acquired-in-processResearchandDevelopment">
				<label href="xpointer(//item[@type='gpsi:totalDeferredTaxLiabilities.acquired-in-processResearchandDevelopment'])" xml:lang="en">Acquired-in-process research and development</label>
				<item period="P1Y/1999-05-31">2427</item>
				<item period="P1Y/1998-05-31">2712</item>
			</group>
			<group type="gpsi:totalDeferredTaxLiabilities.totalLong-termDeferredIncomeTaxAssets">
				<label href="xpointer(//item[@type='gpsi:totalDeferredTaxLiabilities.totalLong-termDeferredIncomeTaxAssets'])" xml:lang="en">Total long-term deferred income tax assets</label>
				<item period="P1Y/1999-05-31">3091</item>
				<item period="P1Y/1998-05-31">3318</item>
			</group>
			<group type="gpsi:totalDeferredTaxLiabilities.totalNetDeferredIncomeTaxes">
				<label href="xpointer(//item[@type='gpsi:totalDeferredTaxLiabilities.totalNetDeferredIncomeTaxes'])" xml:lang="en">Total net deferred income taxes</label>
				<item period="P1Y/1999-05-31">8524</item>
				<item period="P1Y/1998-05-31">7744</item>
			</group>
		</group>	


		<item type="incomeTaxes.incomeTaxExpense_benefit">
			The provision for income taxes is summarized as follows (dollars 
			in thousands):</item>

		<group id="PROVISION FOR INCOME TAXES" type="incomeTaxes.incomeTaxExpense_benefit">	
			<group type="currentTaxExpense_benefit.federal">
				<label href="xpointer(//item[@type='currentTaxExpense_benefit.federal'])" xml:lang="en">Federal</label>
				<item period="P1Y/1999-05-31">8244</item>
				<item period="P1Y/1998-05-31">6954</item>
				<item period="P1Y/1997-05-31">1502</item>
			</group>
			<group type="currentTaxExpense_benefit.state">
				<label href="xpointer(//item[@type='currentTaxExpense_benefit.state'])" xml:lang="en">State</label>
				<item period="P1Y/1999-05-31">1056</item>
				<item period="P1Y/1998-05-31">1460</item>
				<item period="P1Y/1997-05-31">38</item>
			</group>
			<group type="gpsi:currentTaxExpense_benefit.lossCarryforward">
				<label href="xpointer(//item[@type='gpsi:currentTaxExpense_benefit.lossCarryforward'])" xml:lang="en">Net operating loss carryforward</label>
				<item period="P1Y/1999-05-31">0</item>
				<item period="P1Y/1998-05-31">0</item>
				<item period="P1Y/1997-05-31">-950</item>
			</group>
			<group type="gpsi:incomeTaxExpense_benefit.currentTaxExpense_benefit">
				<label href="xpointer(//item[@type='gpsi:incomeTaxExpense_benefit.blank'])" xml:lang="en"></label>
				<item period="P1Y/1999-05-31">9300</item>
				<item period="P1Y/1998-05-31">8414</item>
				<item period="P1Y/1997-05-31">590</item>
			</group>
			<group type="gpsi:deferredTaxExpense_benefit.federal">
				<label href="xpointer(//item[@type='gpsi:deferredTaxExpense_benefit.federal'])" xml:lang="en">Federal</label>
				<item period="P1Y/1999-05-31">-683</item>
				<item period="P1Y/1998-05-31">-4560</item>
				<item period="P1Y/1997-05-31">1471</item>
			</group>
			<group type="gpsi:deferredTaxExpense_benefit.state">
				<label href="xpointer(//item[@type='gpsi:deferredTaxExpense_benefit.state'])" xml:lang="en">State</label>
				<item period="P1Y/1999-05-31">-97</item>
				<item period="P1Y/1998-05-31">-651</item>
				<item period="P1Y/1997-05-31">146</item>
			</group>
			<group type="gpsi:incomeTaxExpense_benefit.deferredTaxExpense_benefit">
				<label href="xpointer(//item[@type='gpsi:incomeTaxExpense_benefit.blank'])" xml:lang="en"></label>
				<item period="P1Y/1999-05-31">-780</item>
				<item period="P1Y/1998-05-31">-5211</item>
				<item period="P1Y/1997-05-31">1617</item>
			</group>
			<group type="gpsi:incomeTaxes.incomeTaxExpense_benefit">
				<label href="xpointer(//item[@type='gpsi:incomeTaxExpense_benefit.blank'])" xml:lang="en"></label>
				<item period="P1Y/1999-05-31">8520</item>
				<item period="P1Y/1998-05-31">3203</item>
				<item period="P1Y/1997-05-31">2207</item>
			</group>
		</group>

		<item type="incomeTaxes.significantReconcilingItems">
			The differences between the expected tax provision based on the
			federal income tax statutory rate and the actual provision for the years
			presented are summarized as follows (dollars in thousands):</item>

		<group type="incomeTaxes.significantReconcilingItems">
			<group type="gpsi:significantReconcilingItems.expectedTaxProvisionatStatutoryRate">
				<label href="xpointer(//item[@type='gpsi:significantReconcilingItems.expectedTaxProvisionatStatutoryRate'])" xml:lang="en">Expected tax provision at statutory rate</label>
				<item period="P1Y/1999-05-31">7457</item>
				<item period="P1Y/1998-05-31">2678</item>
				<item period="P1Y/1997-05-31">1981</item>
			</group>
			<group type="gpsi:significantReconcilingItems.stateIncomeTaxesNetofFederalTaxEffect">
				<label href="xpointer(//item[@type='gpsi:significantReconcilingItems.stateIncomeTaxesNetofFederalTaxEffect'])" xml:lang="en">State income taxes, net of federal tax effect</label>
				<item period="P1Y/1999-05-31">633</item>
				<item period="P1Y/1998-05-31">575</item>
				<item period="P1Y/1997-05-31">175</item>
			</group>
			<group type="gpsi:significantReconcilingItems.other">
				<label href="xpointer(//item[@type='gpsi:significantReconcilingItems.other'])" xml:lang="en">Other</label>
				<item period="P1Y/1999-05-31">430</item>
				<item period="P1Y/1998-05-31">-50</item>
				<item period="P1Y/1997-05-31">51</item>
			</group>
			<group type="gpsi:significantReconcilingItems.total">
				<label href="xpointer(//item[@type='gpsi:significantReconcilingItems.total'])" xml:lang="en">Total</label>
				<item period="P1Y/1999-05-31">8520</item>
				<item period="P1Y/1998-05-31">3203</item>
				<item period="P1Y/1997-05-31">2207</item>
			</group>
		</group>
	</group>




	<group id="NOTE11.001" type="notesToFinancialStatements.stockCompensationPlans">
		<item id="INCENTIVE STOCK OPTION PLAN" type="notesToFinancialStatements.stockCompensationPlans">
			On May 31, 1999, 1,709,727 shares of common stock had been reserved
			for issuance or grant under the Company's stock option plans. The options
			are granted to employees at 100% of the fair market value on the date of
			grant. The fair market value, rate of exercisability and expiration dates
			of the options granted are determined by the Board of Directors at the
			time of grant. Options generally vest ratably over five years from date
			of grant and expire ten years after grant. Options issued prior to fiscal
			1998 vest ratably over five years from date of grant and expire six years
			after grant.</item>
		<item type="notesToFinancialStatements.stockCompensationPlans">
			The following summary of outstanding options and shares reserved under
			the Plan is as follows:</item>
			
		<group type="reconciliationOfStockOptionsOutstandingAtTheEndOfThePeriod.stockOptionsOutstandingAtTheBeginningOfThePeriod">
			<group period="1996-05-31">
				<label href="xpointer(//item[@type='gpsi:stockOptionsOutstandingAtTheBeginningofThePeriod.oustandingat1996-05-31'])" xml:lang="en">Outstanding at May 31, 1996</label>
				<item type="reconciliationOfStockOptionsOutstandingAtTheEndOfThePeriod.stockOptionsOutstandingAtTheEndOfThePeriod" unit="shares" scaleFactor="0">1329647</item>
				<item type="gpsi:rangeofExercisePrices.low" scaleFactor="0">1.96</item>
				<item type="gpsi:rangeofExercisePrices.high" scaleFactor="0">6.41</item>
				<item type="gpsi:rangeofExercisePrices.expirationDateRange">1997 - 2002</item>
				<item type="stockOptionsOutstandingAtTheBeginningOfThePeriod.weightedAverageExercisePrice" scaleFactor="0">3.27</item>
			</group>
			<group period="P1Y/1996-05-31">
				<label href="xpointer(//item[@type='gpsi:stockOptionsOutstandingAtTheBeginningofThePeriod.granted'])" xml:lang="en">Granted</label>
				<item type="reconciliationOfStockOptionsOutstandingAtTheEndOfThePeriod.stockOptionsGranted" unit="shares" scaleFactor="0">361000</item>
				<item type="gpsi:rangeofExercisePrices.low" scaleFactor="0">6.41</item>
				<item type="gpsi:rangeofExercisePrices.high" scaleFactor="0">7.71</item>
				<item type="gpsi:rangeofExercisePrices.expirationDateRange"></item>
				<item type="stockOptionsOutstandingAtTheBeginningOfThePeriod.weightedAverageExercisePrice" scaleFactor="0">6.65</item>
			</group>
			<group period="P1Y/1996-05-31">
				<label href="xpointer(//item[@type='gpsi:stockOptionsOutstandingAtTheBeginningofThePeriod.exercised'])" xml:lang="en">Exercised</label>
				<item type="reconciliationOfStockOptionsOutstandingAtTheEndOfThePeriod.stockOptionsExercised" unit="shares" scaleFactor="0">-732447</item>
				<item type="gpsi:rangeofExercisePrices.low" scaleFactor="0">1.96</item>
				<item type="gpsi:rangeofExercisePrices.high">6.41</item>
				<item type="gpsi:rangeofExercisePrices.expirationDateRange"></item>
				<item type="stockOptionsOutstandingAtTheBeginningOfThePeriod.weightedAverageExercisePrice" scaleFactor="0">2.12</item>
			</group>
			<group period="P1Y/1996-05-31">
				<label href="xpointer(//item[@type='gpsi:stockOptionsOutstandingAtTheBeginningofThePeriod.canceledExpired'])" xml:lang="en">Canceled/expired</label>
				<item type="reconciliationOfStockOptionsOutstandingAtTheEndOfThePeriod.stockOptionsExpired" unit="shares" scaleFactor="0">-88667</item>
				<item type="gpsi:rangeofExercisePrices.low" scaleFactor="0">4.16</item>
				<item type="gpsi:rangeofExercisePrices.high" scaleFactor="0">6.41</item>
				<item type="gpsi:rangeofExercisePrices.expirationDateRange"></item>
				<item type="stockOptionsOutstandingAtTheBeginningOfThePeriod.weightedAverageExercisePrice" scaleFactor="0">5.36</item>
			</group>
			<group period="1997-05-31">
				<label href="xpointer(//item[@type='gpsi:stockOptionsOutstandingAtTheBeginningofThePeriod.oustandingat1997-05-31'])" xml:lang="en">Outstanding at May 31, 1997</label>
				<item type="reconciliationOfStockOptionsOutstandingAtTheEndOfThePeriod.stockOptionsOutstandingAtTheEndOfThePeriod" unit="shares" scaleFactor="0">869533</item>
				<item type="gpsi:rangeofExercisePrices.low" scaleFactor="0">2.42</item>
				<item type="gpsi:rangeofExercisePrices.high" scaleFactor="0">7.71</item>
				<item type="gpsi:rangeofExercisePrices.expirationDateRange">1998 - 2003</item>
				<item type="stockOptionsOutstandingAtTheBeginningOfThePeriod.weightedAverageExercisePrice" scaleFactor="0">5.43</item>
			</group>
			<group period="P1Y/1997-05-31">
				<label href="xpointer(//item[@type='gpsi:stockOptionsOutstandingAtTheBeginningofThePeriod.granted'])" xml:lang="en">Granted</label>
				<item type="reconciliationOfStockOptionsOutstandingAtTheEndOfThePeriod.stockOptionsGranted" unit="shares" scaleFactor="0">370110</item>
				<item type="gpsi:rangeofExercisePrices.low" scaleFactor="0">16.00</item>
				<item type="gpsi:rangeofExercisePrices.high" scaleFactor="0">37.25</item>
				<item type="gpsi:rangeofExercisePrices.expirationDateRange"></item>
				<item type="stockOptionsOutstandingAtTheBeginningOfThePeriod.weightedAverageExercisePrice" scaleFactor="0">19.46</item>
			</group>
			<group period="P1Y/1997-05-31">
				<label href="xpointer(//item[@type='gpsi:stockOptionsOutstandingAtTheBeginningofThePeriod.exercised'])" xml:lang="en">Exercised</label>
				<item type="reconciliationOfStockOptionsOutstandingAtTheEndOfThePeriod.stockOptionsExercised" unit="shares" scaleFactor="0">-200641</item>
				<item type="gpsi:rangeofExercisePrices.low" scaleFactor="0">2.42</item>
				<item type="gpsi:rangeofExercisePrices.high" scaleFactor="0">6.41</item>
				<item type="gpsi:rangeofExercisePrices.expirationDateRange"></item>
				<item type="stockOptionsOutstandingAtTheBeginningOfThePeriod.weightedAverageExercisePrice" scaleFactor="0">4.06</item>
			</group>
			<group period="P1Y/1997-05-31">
				<label href="xpointer(//item[@type='gpsi:stockOptionsOutstandingAtTheBeginningofThePeriod.canceledExpired'])" xml:lang="en">Canceled/expired</label>
				<item type="reconciliationOfStockOptionsOutstandingAtTheEndOfThePeriod.stockOptionsExpired" unit="shares" scaleFactor="0">-42087</item>
				<item type="gpsi:rangeofExercisePrices.low" scaleFactor="0">3.41</item>
				<item type="gpsi:rangeofExercisePrices.high" scaleFactor="0">37.25</item>
				<item type="gpsi:rangeofExercisePrices.expirationDateRange"></item>
				<item type="stockOptionsOutstandingAtTheBeginningOfThePeriod.weightedAverageExercisePrice" scaleFactor="0">6.58</item>
			</group>
			<group period="1998-05-31">
				<label href="xpointer(//item[@type='gpsi:stockOptionsOutstandingAtTheBeginningofThePeriod.oustandingat1998-05-31'])" xml:lang="en">Outstanding at May 31, 1998</label>
				<item type="reconciliationOfStockOptionsOutstandingAtTheEndOfThePeriod.stockOptionsOutstandingAtTheEndOfThePeriod" unit="shares" scaleFactor="0">996915</item>
				<item type="gpsi:rangeofExercisePrices.low" scaleFactor="0">2.42</item>
				<item type="gpsi:rangeofExercisePrices.high" scaleFactor="0">37.25</item>
				<item type="gpsi:rangeofExercisePrices.expirationDateRange">1999 - 2008</item>
				<item type="stockOptionsOutstandingAtTheBeginningOfThePeriod.weightedAverageExercisePrice" scaleFactor="0">10.85</item>
			</group>
			<group period="P1Y/1998-05-31">
				<label href="xpointer(//item[@type='gpsi:stockOptionsOutstandingAtTheBeginningofThePeriod.granted'])" xml:lang="en">Granted</label>
				<item type="reconciliationOfStockOptionsOutstandingAtTheEndOfThePeriod.stockOptionsGranted" unit="shares" scaleFactor="0">453061</item>
				<item type="gpsi:rangeofExercisePrices.low" scaleFactor="0">29.50</item>
				<item type="gpsi:rangeofExercisePrices.high" scaleFactor="0">48.25</item>
				<item type="gpsi:rangeofExercisePrices.expirationDateRange"></item>
				<item type="stockOptionsOutstandingAtTheBeginningOfThePeriod.weightedAverageExercisePrice" scaleFactor="0">36.31</item>
			</group>
			<group period="P1Y/1998-05-31">
				<label href="xpointer(//item[@type='gpsi:stockOptionsOutstandingAtTheBeginningofThePeriod.exercised'])" xml:lang="en">Exercised</label>
				<item type="reconciliationOfStockOptionsOutstandingAtTheEndOfThePeriod.stockOptionsExercised" unit="shares" scaleFactor="0">-152522</item>
				<item type="gpsi:rangeofExercisePrices.low" scaleFactor="0">2.42</item>
				<item type="gpsi:rangeofExercisePrices.high" scaleFactor="0">28.25</item>
				<item type="gpsi:rangeofExercisePrices.expirationDateRange"></item>
				<item type="stockOptionsOutstandingAtTheBeginningOfThePeriod.weightedAverageExercisePrice" scaleFactor="0">6.28</item>
			</group>
			<group period="P1Y/1998-05-31">
				<label href="xpointer(//item[@type='gpsi:stockOptionsOutstandingAtTheBeginningofThePeriod.canceledExpired'])" xml:lang="en">Canceled/expired</label>
				<item type="reconciliationOfStockOptionsOutstandingAtTheEndOfThePeriod.stockOptionsExpired" unit="shares" scaleFactor="0">-24672</item>
				<item type="gpsi:rangeofExercisePrices.low" scaleFactor="0">6.41</item>
				<item type="gpsi:rangeofExercisePrices.high" scaleFactor="0">48.25</item>
				<item type="gpsi:rangeofExercisePrices.expirationDateRange"></item>
				<item type="stockOptionsOutstandingAtTheBeginningOfThePeriod.weightedAverageExercisePrice" scaleFactor="0">25.06</item>
			</group>
			<group period="P1Y/1998-05-31">
				<label href="xpointer(//item[@type='gpsi:stockOptionsOutstandingAtTheBeginningofThePeriod.outstandingat1999-05-31'])" xml:lang="en">Outstanding at May 31, 1999</label>
				<item type="reconciliationOfStockOptionsOutstandingAtTheEndOfThePeriod.stockOptionsOutstandingAtTheEndOfThePeriod" unit="shares" scaleFactor="0">1272782</item>
				<item type="gpsi:rangeofExercisePrices.low" scaleFactor="0">3.41</item>
				<item type="gpsi:rangeofExercisePrices.high" scaleFactor="0">48.25</item>
				<item type="gpsi:rangeofExercisePrices.expirationDateRange">2000 - 2009</item>
				<item type="stockOptionsOutstandingAtTheBeginningOfThePeriod.weightedAverageExercisePrice" scaleFactor="0">19.46</item>
			</group>
		</group>

		<item type="rangeOfExercisePrices.numberOfOptionsOutstanding">
			As of May 31, 1999 there were currently exercisable options
			outstanding covering 352,478 shares, exercisable at prices ranging
			from $3.41 to $41.94 per share.</item>
			
		<item type="stockCompensationPlans.netIncomeAndEarningsPerShareDisclosures">
			In fiscal 1997, the Company adopted Statement of Financial
			Accounting Standards No. 123 ("SFAS No. 123"), "Accounting for
			Stock-Based Compensation." As permitted by SFAS No. 123, the Company
			has elected to continue following the guidance of APB 25 for
			measurement and recognition of stock-based transactions with employees
			and adopt the disclosure only provisions of SFAS No. 123. As a result,
			no compensation expense has been recognized for the awards made in the
			form of stock options. If the Company had elected to recognize
			compensation costs for stock-based compensation plans based on the fair
			value at the grant dates for awards under those plans consistent with
			the method prescribed by SFAS No. 123, net income and earnings per
			share would have been changed to the pro forma amounts shown as follows
			(dollars in thousands, except per share amounts):</item>
			
		<item>Net income:</item>
		
		<group type="stockCompensationPlans.netIncomeAndEarningsPerShareDisclosures">
			<group type="netIncomeAndEarningsPerShareDisclosures.netIncomeAsReported">
				<label href="xpointer(//item[@type='netIncomeAndEarningsPerShareDisclosures.netIncomeAsReported'])" xml:lang="en">As reported</label>
				<item period="P1Y/1999-05-31">12785</item>
				<item period="P1Y/1998-05-31">4447</item>
				<item period="P1Y/1997-05-31">3644</item>
			</group>
			<group type="netIncomeAndEarningsPerShareDisclosures.proformaNetIncome">
				<label href="xpointer(//item[@type='netIncomeAndEarningsPerShareDisclosures.proformaNetIncome'])" xml:lang="en">Pro forma</label>
				<item period="P1Y/1999-05-31">10597</item>
				<item period="P1Y/1998-05-31">2826</item>
				<item period="P1Y/1997-05-31">3508</item>
			</group>
			<group type="diluted.dilutedNetIncomePerShareAsReported">
				<label href="xpointer(//item[@type='diluted.dilutedNetIncomePerShareAsReported'])" xml:lang="en">As reported</label>
				<item period="P1Y/1999-05-31" scaleFactor="0">0.86</item>
				<item period="P1Y/1998-05-31" scaleFactor="0">0.32</item>
				<item period="P1Y/1997-05-31" scaleFactor="0">0.36</item>
			</group>
			<group type="diluted.dilutedNetIncomePerShareProForma">
				<label href="xpointer(//item[@type='diluted.dilutedNetIncomePerShareProForma'])" xml:lang="en">Pro forma</label>
				<item period="P1Y/1999-05-31" scaleFactor="0">0.71</item>
				<item period="P1Y/1998-05-31" scaleFactor="0">0.20</item>
				<item period="P1Y/1997-05-31" scaleFactor="0">0.35</item>
			</group>
		</group>

		<item type="stockCompensationPlans.assumptions">
			The fair value of the stock options used to compute pro forma net
			income and earnings per share disclosures is the present value at grant
			date using the Black-Scholes option pricing model with the following
			weighted average assumptions:</item>

		<item type="assumptions.pricingModelUsed">
			Black-Scholes option pricing model</item>
		
		<group type="stockCompensationPlans.assumptions">		
			<group type="assumptions.expectedDividendYield">
				<label href="xpointer(//item[@type='assumptions.expectedDividendYield'])" xml:lang="en">Expected dividend level</label>
				<item period="P1Y/1999-05-31">0</item>
				<item period="P1Y/1998-05-31">0</item>
				<item period="P1Y/1997-05-31">0</item>
			</group>
			<group type="assumptions.expectedVolatility">
				<label href="xpointer(//item[@type='assumptions.expectedVolatility'])" xml:lang="en">Expected stock price volatility</label>
				<item period="P1Y/1999-05-31" unit="pure:percent" scaleFactor="0">62.6</item>
				<item period="P1Y/1998-05-31" unit="pure:percent" scaleFactor="0">58.8</item>
				<item period="P1Y/1997-05-31" unit="pure:percent" scaleFactor="0">53.8</item>
			</group>
			<group type="assumptions.riskFreeInterestRate">
				<label href="xpointer(//item[@type='assumptions.riskFreeInterestRate'])" xml:lang="en">Risk free interest rates</label>
				<item period="P1Y/1999-05-31" unit="pure:percent" scaleFactor="0">5.1</item>
				<item period="P1Y/1998-05-31" unit="pure:percent" scaleFactor="0">6.0</item>
				<item period="P1Y/1997-05-31" unit="pure:percent" scaleFactor="0">6.5</item>
			</group>
			<group type="assumptions.expectedLifeOfStockOptions">
				<label href="xpointer(//item[@type='assumptions.expectedLifeOfStockOptions'])" xml:lang="en">Expected life of options</label>
				<item period="P1Y/1999-05-31">5-10 years</item>
				<item period="P1Y/1998-05-31">5-10 years</item>
				<item period="P1Y/1997-05-31">6 years</item>
			</group>
		</group>

		<item type="rangeOfExercisePrices.numberOfOptionsOutstanding">
			The following table summarizes the status of the Company's stock
			options outstanding as of May 31, 1999:</item>

		<group type="rangeOfExercisePrices.numberOfOptionsOutstanding">	
			<group>
				<item type="numberOfOptionsOutstanding.weightedAverageExercisePrice">$3.41 to $4.16</item>
				<item type="rangeOfExercisePrices.numberOfOptionsOutstanding" unit="shares" scaleFactor="0">71860</item>
				<item type="numberOfOptionsOutstanding.weightedAverageRemainingContractualLife">1.4 years</item>
				<item type="numberOfOptionsOutstanding.weightedAverageExercisePrice" scaleFactor="0">4.12</item>
				<item type="rangeOfExercisePrices.numberOfOptionsExercisable" unit="shares" scaleFactor="0">46121</item>
				<item type="numberOfOptionsExercisable.weightedAverageExercisePrice">4.10</item>
			</group>
			<group>
				<item type="numberOfOptionsOutstanding.weightedAverageExercisePrice">$5.20 to $7.71</item>
				<item type="rangeOfExercisePrices.numberOfOptionsOutstanding" unit="shares" scaleFactor="0">463130</item>
				<item type="numberOfOptionsOutstanding.weightedAverageRemainingContractualLife">2.7 years</item>
				<item type="numberOfOptionsOutstanding.weightedAverageExercisePrice" scaleFactor="0">6.42</item>
				<item type="rangeOfExercisePrices.numberOfOptionsExercisable" unit="shares" scaleFactor="0">187927</item>
				<item type="numberOfOptionsExercisable.weightedAverageExercisePrice">6.55</item>
			</group>
			<group>
				<item type="numberOfOptionsOutstanding.weightedAverageExercisePrice">$16.00 to $23.88</item>
				<item type="rangeOfExercisePrices.numberOfOptionsOutstanding" unit="shares" scaleFactor="0">311658</item>
				<item type="numberOfOptionsOutstanding.weightedAverageRemainingContractualLife">6.6 years</item>
				<item type="numberOfOptionsOutstanding.weightedAverageExercisePrice" scaleFactor="0">18.24</item>
				<item type="rangeOfExercisePrices.numberOfOptionsExercisable" unit="shares" scaleFactor="0">77686</item>
				<item type="numberOfOptionsExercisable.weightedAverageExercisePrice">17.56</item>
			</group>
			<group>
				<item type="numberOfOptionsOutstanding.weightedAverageExercisePrice">$26.38 to $39.25</item>
				<item type="rangeOfExercisePrices.numberOfOptionsOutstanding" unit="shares" scaleFactor="0">386400</item>
				<item type="numberOfOptionsOutstanding.weightedAverageRemainingContractualLife">9.1 years</item>
				<item type="numberOfOptionsOutstanding.weightedAverageExercisePrice" scaleFactor="0">34.85</item>
				<item type="rangeOfExercisePrices.numberOfOptionsExercisable" unit="shares" scaleFactor="0">28744</item>
				<item type="numberOfOptionsExercisable.weightedAverageExercisePrice">27.70</item>
			</group>
			<group>
				<item type="numberOfOptionsOutstanding.weightedAverageExercisePrice">$41.94 to $48.25</item>
				<item type="rangeOfExercisePrices.numberOfOptionsOutstanding" unit="shares" scaleFactor="0">39734</item>
				<item type="numberOfOptionsOutstanding.weightedAverageRemainingContractualLife">6.4 years</item>
				<item type="numberOfOptionsOutstanding.weightedAverageExercisePrice" scaleFactor="0">43.16</item>
				<item type="rangeOfExercisePrices.numberOfOptionsExercisable" unit="shares" scaleFactor="0">12000</item>
				<item type="numberOfOptionsExercisable.weightedAverageExercisePrice">41.94</item>
			</group>
			<group>
				<item type="numberOfOptionsOutstanding.weightedAverageExercisePrice"></item>
				<item type="rangeOfExercisePrices.numberOfOptionsOutstanding" unit="shares" scaleFactor="0">1272782</item>
				<item type="numberOfOptionsOutstanding.weightedAverageRemainingContractualLife"></item>
				<item type="numberOfOptionsOutstanding.weightedAverageExercisePrice" scaleFactor="0"></item>
				<item type="rangeOfExercisePrices.numberOfOptionsExercisable" unit="shares" scaleFactor="0">352478</item>
				<item type="numberOfOptionsExercisable.weightedAverageExercisePrice"></item>
			</group>
		</group>
	</group>






	<group id="NOTE12.001" type="notesToFinancialStatements.employeeCompensatoryPlans">
		<item id="EMPLOYEE BENEFIT PLAN" type="notesToFinancialStatements.employeeCompensatoryPlans">
			The Company maintains a defined contribution 401(k) Profit Sharing
			Plan covering substantially all employees. The Company currently matches
			25% of each participant's contribution up to 8% of their annual salary,
			and can make discretionary profit sharing contributions to the plan. The
			Company's contribution to this plan for the years ended May 31, 1999,
			1998, and 1997, was approximately $578,000, $389,000, and $310,000,
			respectively.</item>
	</group>








	<group id="NOTE13.001" type="notesToFinancialStatements.stockholder_sEquity-Deficit-">
		<item id="STOCKHOLDERS' EQUITY" type="notesToFinancialStatements.stockholder_sEquity-Deficit-">
			The Board of Directors met on February 20, 1997, and took the
			following actions in connection with the initial public offering of
			shares of the Company's common stock: (a) authorized a four-for-three
			stock split of the issued and outstanding common stock of the Company,
			the form of a stock dividend, to be effective immediately prior to the
			public offering (all references to common stock amounts, shares, per
			share data and preferred stock conversion rights included in the
			financial statements and these notes have been adjusted to give
			retroactive effect to the stock split); (b) authorized an increase in
			capital stock to 100,000,000 shares of $0.01 par value common stock and
			30,000,000 shares of $0.01 par value preferred stock to be both
			contingent and effective upon stockholder approval and the first closing
			of the initial public offering of common stock; (c) waived, subject to
			the closing of an initial public offering, the Company's contractual
			rights to repurchase shares of common stock from employees of the
			Company; and (d) authorized certain incentive stock plans contingent and
			effective upon stockholder approval and consummation of the initial
			public offering. These incentive plans include (i) the 1997 Employee
			Stock Purchase Plan providing for the purchase of common stock at a
			discounted price, (ii) the 1997 Stock Incentive Plan providing for the
			grant of stock-based compensation to eligible persons and (iii) the
			Outside Directors' Stock Option Plan providing for the grant of
			nonqualified stock options to nonemployee directors of the Company.</item>
			
		<item id="SERIES A CONVERTIBLE PREFERRED STOCK" type="gpsi:stockholder_sEquity-Deficit-.seriesAPreferred">
			In June 1994, the Company sold 225,000 shares of $.01 par value
			Series A Convertible Preferred Stock (the "Series A Preferred Stock") at
			$1.00 per share to an officer/director who may convert these shares into
			54,000 shares of common stock at any time after June 15, 1997, at a rate
			of .24 shares of common stock for each share of Series A Preferred Stock.
			The Series A Preferred Stock were converted to shares of common stock
			upon completion of the Initial Public Offering on June 19, 1997.</item>
			
		<item id="SERIES B MANDATORILY REDEEMABLE CONVERTIBLE PREFERRED STOCK" type="gpsi:stockholder_sEquity-Deficit-.seriesBPreferred">
			Also in June 1994, the Company entered into an agreement for the sale
			of Series B Mandatorily Redeemable Convertible Preferred Stock (the
			"Series B Preferred Stock") and issued a total of 1,345,220 shares at an
			average price of $6.17.</item>

		<item type="gpsi:stockholder_sEquity-Deficit-.seriesBPreferred">
			Holders of the Series B Preferred Stock converted their shares into
			1,793,627 shares of common stock upon completion of the Initial Public
			Offering on June 19, 1997. Prior to the conversion to common stock, the
			Company carried this Series B Preferred Stock at fair value which
			management considered to equal $21.33 per share at May 31, 1997. The
			increase in carrying value of Series B Preferred Stock is reflected as a
			reduction to Additional Paid-in Capital.</item>
	</group>








	<group id="NOTE14.001" type="notesToFinancialStatements.segmentDisclosures">
		<item id="SEGMENT INFORMATION AND GEOGRAPHIC AREAS" type="notesToFinancialStatements.segmentDisclosures">
			Effective June 1, 1998, the Company adopted the Financial Accounting
			Standards Board's Statement of Financial Accounting Standards No. 131
			("SFAS No. 131"), "Disclosures About Segments of an Enterprise and
			Related Information." SFAS No. 131 superseded FASB Statement No. 14,
			"Financial Reporting for Segments of a Business Enterprise." SFAS No. 131
			establishes standards for disclosures about operating segments, products
			and services, geographic areas and major customers. Management has
			determined that the Company operates in one industry segment, providing
			business management software solutions to midmarket businesses.
			Substantially all of the Company's revenues are derived from the
			licensing of software products and providing related consulting, support
			and training services. The following table presents a revenue and
			long-lived asset summary by geographic region (dollars in thousands):</item>
		
		
		<group type="notesToFinancialStatements.segmentDisclosures">
			<group type="gpsi:segmentDisclosures.revenuesFromExternalCustomers">
				<label href="xpointer(//item[@type='gpsi:segmentDisclosures.revenuesFromExternalCustomers'])" xml:lang="en">Revenues from external customers</label>
				<item period="P1Y/1999-05-31">119496</item>
				<item period="P1Y/1999-05-31">9651</item>
				<item period="P1Y/1999-05-31">3388</item>
				<item period="P1Y/1999-05-31">2372</item>
				<item period="P1Y/1999-05-31">0</item>
				<item period="P1Y/1999-05-31">134907</item>
			</group>
			<group type="gpsi:segmentDisclosures.intergeographicSales">
				<label href="xpointer(//item[@type='gpsi:segmentDisclosures.intergeographicSales'])" xml:lang="en">Intergeographic sales</label>
				<item period="P1Y/1999-05-31">5256</item>
				<item period="P1Y/1999-05-31">1526</item>
				<item period="P1Y/1999-05-31">0</item>
				<item period="P1Y/1999-05-31">0</item>
				<item period="P1Y/1999-05-31">-6782</item>
				<item period="P1Y/1999-05-31">0</item>
			</group>
			<group type="gpsi:segmentDisclosures.totalSales">
				<label href="xpointer(//item[@type='gpsi:segmentDisclosures.totalSales'])" xml:lang="en">Total sales</label>
				<item period="P1Y/1999-05-31">124752</item>
				<item period="P1Y/1999-05-31">11177</item>
				<item period="P1Y/1999-05-31">3388</item>
				<item period="P1Y/1999-05-31">2372</item>
				<item period="P1Y/1999-05-31">-6782</item>
				<item period="P1Y/1999-05-31">134907</item>
			</group>
			<group type="gpsi:segmentDisclosures.long-livedAssets">
				<label href="xpointer(//item[@type='gpsi:segmentDisclosures.long-livedAssets'])" xml:lang="en">Long-lived assets</label>
				<item period="P1Y/1999-05-31">17286</item>
				<item period="P1Y/1999-05-31">1166</item>
				<item period="P1Y/1999-05-31">530</item>
				<item period="P1Y/1999-05-31">144</item>
				<item period="P1Y/1999-05-31">0</item>
				<item period="P1Y/1999-05-31">19126</item>
			</group>
			<group type="gpsi:segmentDisclosures.revenuesFromExternalCustomers">
				<label href="xpointer(//item[@type='gpsi:segmentDisclosures.revenuesFromExternalCustomers'])" xml:lang="en">Revenues from external customers</label>
				<item period="P1Y/1998-05-31">77441</item>
				<item period="P1Y/1998-05-31">4552</item>
				<item period="P1Y/1998-05-31">2096</item>
				<item period="P1Y/1998-05-31">1570</item>
				<item period="P1Y/1998-05-31">0</item>
				<item period="P1Y/1998-05-31">85659</item>
			</group>
			<group type="gpsi:segmentDisclosures.intergeographicSales">
				<label href="xpointer(//item[@type='gpsi:segmentDisclosures.intergeographicSales'])" xml:lang="en">Intergeographic sales</label>
				<item period="P1Y/1998-05-31">4779</item>
				<item period="P1Y/1998-05-31">0</item>
				<item period="P1Y/1998-05-31">0</item>
				<item period="P1Y/1998-05-31">0</item>
				<item period="P1Y/1998-05-31">-4779</item>
				<item period="P1Y/1998-05-31">0</item>
			</group>
			<group type="gpsi:segmentDisclosures.totalSales">
				<label href="xpointer(//item[@type='gpsi:segmentDisclosures.totalSales'])" xml:lang="en">Total sales</label>
				<item period="P1Y/1998-05-31">82220</item>
				<item period="P1Y/1998-05-31">4552</item>
				<item period="P1Y/1998-05-31">2096</item>
				<item period="P1Y/1998-05-31">1570</item>
				<item period="P1Y/1998-05-31">-4779</item>
				<item period="P1Y/1998-05-31">85659</item>
			</group>
			<group type="gpsi:segmentDisclosures.long-livedAssets">
				<label href="xpointer(//item[@type='gpsi:segmentDisclosures.long-livedAssets'])" xml:lang="en">Long-lived assets</label>
				<item period="P1Y/1998-05-31">7958</item>
				<item period="P1Y/1998-05-31">194</item>
				<item period="P1Y/1998-05-31">207</item>
				<item period="P1Y/1998-05-31">142</item>
				<item period="P1Y/1998-05-31">0</item>
				<item period="P1Y/1998-05-31">8501</item>
			</group>
			<group type="gpsi:segmentDisclosures.revenuesFromExternalCustomers">
				<label href="xpointer(//item[@type='gpsi:segmentDisclosures.revenuesFromExternalCustomers'])" xml:lang="en">Revenues from external customers</label>
				<item period="P1Y/1997-05-31">53477</item>
				<item period="P1Y/1997-05-31">2195</item>
				<item period="P1Y/1997-05-31">645</item>
				<item period="P1Y/1997-05-31">803</item>
				<item period="P1Y/1997-05-31">0</item>
				<item period="P1Y/1997-05-31">57120</item>
			</group>
			<group type="gpsi:segmentDisclosures.intergeographicSales">
				<label href="xpointer(//item[@type='gpsi:segmentDisclosures.intergeographicSales'])" xml:lang="en">Intergeographic sales</label>
				<item period="P1Y/1997-05-31">956</item>
				<item period="P1Y/1997-05-31">0</item>
				<item period="P1Y/1997-05-31">0</item>
				<item period="P1Y/1997-05-31">0</item>
				<item period="P1Y/1997-05-31">-956</item>
				<item period="P1Y/1997-05-31">0</item>
			</group>
			<group type="gpsi:segmentDisclosures.totalSales">
				<label href="xpointer(//item[@type='gpsi:segmentDisclosures.totalSales'])" xml:lang="en">Total sales</label>
				<item period="P1Y/1997-05-31">54433</item>
				<item period="P1Y/1997-05-31">2195</item>
				<item period="P1Y/1997-05-31">645</item>
				<item period="P1Y/1997-05-31">803</item>
				<item period="P1Y/1997-05-31">-956</item>
				<item period="P1Y/1997-05-31">57120</item>
			</group>
			<group type="gpsi:segmentDisclosures.long-livedAssets">
				<label href="xpointer(//item[@type='gpsi:segmentDisclosures.long-livedAssets'])" xml:lang="en">Long-lived assets</label>
				<item period="P1Y/1997-05-31">5676</item>
				<item period="P1Y/1997-05-31">145</item>
				<item period="P1Y/1997-05-31">0</item>
				<item period="P1Y/1997-05-31">0</item>
				<item period="P1Y/1997-05-31">0</item>
				<item period="P1Y/1997-05-31">5821</item>
			</group>
		</group>

		<item type="notesToFinancialStatements.segmentDisclosures">
			Sales between geographic regions are made at prices which would
			approximate transfers to unaffiliated distributors. Revenues are
			allocated to geographic regions based on the location in which the sale
			originated. No single customer represents over 10% of the Company's
			consolidated sales.</item>
	</group>





	<group id="NOTE15.001" type="gpsi:notestoFinancialStatements.quarterlyFinancialInformation">
		<group type="gpsi:quarterlyFinancialInformation.detail">
			<group type="gpsi:detail.quarterlyNetRevenues" period="1999-05-31">
				<label href="xpointer(//item[@type='gpsi:detail.quarterlyNetRevenues'])" xml:lang="en">Fiscal 1999</label>
				<item period="1998-06-01/1998-08-31">27129</item>
				<item period="1998-09-01/1998-11-30">31807</item>
				<item period="1998-12-01/1999-02-28">35844</item>
				<item period="1999-03-01/1999-05-31">40127</item>
				<item period="1998-06-01/1999-05-31">134907</item>
			</group>
			<group type="gpsi:detail.quarterlyNetRevenues" period="1998-05-31">
				<label href="xpointer(//item[@type='gpsi:detail.quarterlyNetRevenues'])" xml:lang="en">Fiscal 1998</label>
				<item period="1997-06-01/1998-07-31">16774</item>
				<item period="1997-09-01/1997-11-30">20045</item>
				<item period="1997-12-01/1998-02-28">22607</item>
				<item period="1998-03-01/1998-05-31">26232</item>
				<item period="1998-06-01/1998-05-31">85659</item>
			</group>
			<group type="gpsi:detail.quarterlyGrossProfit" period="1999-05-31">
				<label href="xpointer(//item[@type='gpsi:detail.quarterlyGrossProfit'])" xml:lang="en">Fiscal 1999</label>
				<item period="1998-06-01/1998-08-31">19557</item>
				<item period="1998-09-01/1998-11-30">23002</item>
				<item period="1998-12-01/1999-02-28">25546</item>
				<item period="1999-03-01/1999-05-31">29097</item>
				<item period="1998-06-01/1999-05-31">97202</item>
			</group>
			<group type="gpsi:detail.quarterlyGrossProfit" period="1998-05-31">
				<label href="xpointer(//item[@type='gpsi:detail.quarterlyGrossProfit'])" xml:lang="en">Fiscal 1998</label>
				<item period="1997-06-01/1998-07-31">12588</item>
				<item period="1997-09-01/1997-11-30">14880</item>
				<item period="1997-12-01/1998-02-28">16618</item>
				<item period="1998-03-01/1998-05-31">19233</item>
				<item period="1998-06-01/1998-05-31">63321</item>
			</group>
			<group type="gpsi:detail.quarterlyNetIncome" period="1999-05-31">
				<label href="xpointer(//item[@type='gpsi:detail.quarterlyNetIncome'])" xml:lang="en">Fiscal 1999</label>
				<item period="1998-06-01/1998-08-31">2184</item>
				<item period="1998-09-01/1998-11-30">2860</item>
				<item period="1998-12-01/1999-02-28">3362</item>
				<item period="1999-03-01/1999-05-31">4379</item>
				<item period="1998-06-01/1999-05-31">12785</item>
			</group>
			<group type="gpsi:detail.quarterlyNetIncome" period="1998-05-31">
				<label href="xpointer(//item[@type='gpsi:detail.quarterlyNetIncome'])" xml:lang="en">Fiscal 1998</label>
				<item period="1997-06-01/1998-07-31">1533</item>
				<item period="1997-09-01/1997-11-30">2139</item>
				<item period="1997-12-01/1998-02-28">2377</item>
				<item period="1998-03-01/1998-05-31">-1603</item>
				<item period="1998-06-01/1998-05-31">4447</item>
			</group>
			<group type="gpsi:detail.quarterlyEpsBasic" period="1999-05-31">
				<label href="xpointer(//item[@type='gpsi:detail.quarterlyEpsBasic'])" xml:lang="en">Fiscal 1999</label>
				<item period="1998-06-01/1998-08-31" scaleFactor="0">0.16</item>
				<item period="1998-09-01/1998-11-30" scaleFactor="0">0.21</item>
				<item period="1998-12-01/1999-02-28" scaleFactor="0">0.24</item>
				<item period="1999-03-01/1999-05-31" scaleFactor="0">0.29</item>
				<item period="1998-06-01/1999-05-31" scaleFactor="0">0.90</item>
			</group>
			<group type="gpsi:detail.quarterlyEpsBasic" period="1998-05-31">
				<label href="xpointer(//item[@type='gpsi:detail.quarterlyEpsBasic'])" xml:lang="en">Fiscal 1998</label>
				<item period="1997-06-01/1998-07-31" scaleFactor="0">0.12</item>
				<item period="1997-09-01/1997-11-30" scaleFactor="0">0.16</item>
				<item period="1997-12-01/1998-02-28" scaleFactor="0">0.17</item>
				<item period="1998-03-01/1998-05-31" scaleFactor="0">-0.12</item>
				<item period="1998-06-01/1998-05-31" scaleFactor="0">0.33</item>
			</group>

			<group type="gpsi:detail.quarterlyEpsDiluted" period="1999-05-31">
				<label href="xpointer(//item[@type='gpsi:detail.quarterlyEpsDiluted'])" xml:lang="en">Fiscal 1999</label>
				<item period="1998-06-01/1998-08-31" scaleFactor="0">0.15</item>
				<item period="1998-09-01/1998-11-30" scaleFactor="0">0.20</item>
				<item period="1998-12-01/1999-02-28" scaleFactor="0">0.23</item>
				<item period="1999-03-01/1999-05-31" scaleFactor="0">0.28</item>
				<item period="1998-06-01/1999-05-31" scaleFactor="0">0.86</item>
			</group>
			<group type="gpsi:detail.quarterlyEpsDiluted" period="1998-05-31">
				<label href="xpointer(//item[@type='gpsi:detail.quarterlyEpsDiluted'])" xml:lang="en">Fiscal 1998</label>
				<item period="1997-06-01/1998-07-31" scaleFactor="0">0.11</item>
				<item period="1997-09-01/1997-11-30" scaleFactor="0">0.15</item>
				<item period="1997-12-01/1998-02-28" scaleFactor="0">0.17</item>
				<item period="1998-03-01/1998-05-31" scaleFactor="0">-0.12</item>
				<item period="1998-06-01/1998-05-31" scaleFactor="0">0.32</item>
			</group>
		</group>

		<item type="gpsi:notestoFinancialStatements.quarterlyFinancialInformation">
			Quarterly and annual earnings per share are calculated independently
			based on the weighted-average number of shares outstanding during the
			period.</item>
	</group>



	<!--SECTION:  FinancialHighlights -->
	
	<group type="gpsi:statements.financialHighlights" period="1999-05-31">
		<group type="gpsi:netSalesRevenue.license">
			<label href="xpointer(//item[@type='gpsi:netSalesRevenue.license'])" xml:lang="en">License</label>
			<item period="P1Y/1999-05-31">79685</item>
			<item period="P1Y/1998-05-31">52949</item>
			<item period="P1Y/1997-05-31">35919</item>
			<item period="P1Y/1996-05-31">27078</item>
			<item period="P1Y/1995-05-31">25050</item>
		</group>
		<group type="gpsi:netSalesRevenue.service">
			<label href="xpointer(//item[@type='gpsi:netSalesRevenue.service'])" xml:lang="en">Service</label>
			<item period="P1Y/1999-05-31">55222</item>
			<item period="P1Y/1998-05-31">32710</item>
			<item period="P1Y/1997-05-31">21201</item>
			<item period="P1Y/1996-05-31">15193</item>
			<item period="P1Y/1995-05-31">12847</item>
		</group>
		<group type="grossProfit.netSalesRevenue">
			<label href="xpointer(//item[@type='grossProfit.netSalesRevenue'])" xml:lang="en">Total revenues</label>
			<item period="P1Y/1999-05-31">134907</item>
			<item period="P1Y/1998-05-31">85659</item>
			<item period="P1Y/1997-05-31">57120</item>
			<item period="P1Y/1996-05-31">42271</item>
			<item period="P1Y/1995-05-31">37897</item>
		</group>
		<group type="gpsi:costofGoodsSold.license">
			<label href="xpointer(//item[@type='gpsi:costofGoodsSold.license'])" xml:lang="en">License</label>
			<item period="P1Y/1999-05-31">19355</item>
			<item period="P1Y/1998-05-31">11220</item>
			<item period="P1Y/1997-05-31">6362</item>
			<item period="P1Y/1996-05-31">4913</item>
			<item period="P1Y/1995-05-31">4439</item>
		</group>
		<group type="gpsi:costofGoodsSold.service">
			<label href="xpointer(//item[@type='gpsi:costofGoodsSold.service'])" xml:lang="en">Service</label>
			<item period="P1Y/1999-05-31">18350</item>
			<item period="P1Y/1998-05-31">11118</item>
			<item period="P1Y/1997-05-31">8260</item>
			<item period="P1Y/1996-05-31">5980</item>
			<item period="P1Y/1995-05-31">5622</item>
		</group>
		<group type="grossProfit.costOfGoodsSold">
			<label href="xpointer(//item[@type='grossProfit.costOfGoodsSold'])" xml:lang="en">Total cost of revenues</label>
			<item period="P1Y/1999-05-31">37705</item>
			<item period="P1Y/1998-05-31">22338</item>
			<item period="P1Y/1997-05-31">14622</item>
			<item period="P1Y/1996-05-31">10893</item>
			<item period="P1Y/1995-05-31">10061</item>
		</group>
		<group type="operatingProfit.grossProfit">
			<label href="xpointer(//item[@type='operatingProfit.grossProfit'])" xml:lang="en">Gross profit</label>
			<item period="P1Y/1999-05-31">97202</item>
			<item period="P1Y/1998-05-31">63321</item>
			<item period="P1Y/1997-05-31">42498</item>
			<item period="P1Y/1996-05-31">31,378</item>
			<item period="P1Y/1995-05-31">27836</item>
		</group>
		<group type="operatingExpenses.sellingGeneralAndAdministrativeExpenses">
			<label href="xpointer(//item[@type='operatingExpenses.sellingGeneralAndAdministrativeExpenses'])" xml:lang="en">Sales and marketing</label>
			<item period="P1Y/1999-05-31">47982</item>
			<item period="P1Y/1998-05-31">31636</item>
			<item period="P1Y/1997-05-31">21935</item>
			<item period="P1Y/1996-05-31">14477</item>
			<item period="P1Y/1995-05-31">14013</item>
		</group>
		<group type="operatingExpenses.researchAndDevelopmentExpense">
			<label href="xpointer(//item[@type='operatingExpenses.researchAndDevelopmentExpense'])" xml:lang="en">Research and development</label>
			<item period="P1Y/1999-05-31">20427</item>
			<item period="P1Y/1998-05-31">12586</item>
			<item period="P1Y/1997-05-31">9678</item>
			<item period="P1Y/1996-05-31">8876</item>
			<item period="P1Y/1995-05-31">9308</item>
		</group>
		<group type="sellingGeneralAndAdministrativeExpenses.generalAndAdministrativeExpenses">
			<label href="xpointer(//item[@type='sellingGeneralAndAdministrativeExpenses.generalAndAdministrativeExpenses'])" xml:lang="en">General and administrative</label>
			<item period="P1Y/1999-05-31">11080</item>
			<item period="P1Y/1998-05-31">7587</item>
			<item period="P1Y/1997-05-31">5592</item>
			<item period="P1Y/1996-05-31">4763</item>
			<item period="P1Y/1995-05-31">3886</item>
		</group>
		<group type="gpsi:operatingExpenses.acquiredResearchandDevelopmentExpense">
			<label href="xpointer(//item[@type='gpsi:operatingExpenses.acquiredResearchandDevelopmentExpense'])" xml:lang="en">Acquired in-process research and development</label>
			<item period="P1Y/1999-05-31">0</item>
			<item period="P1Y/1998-05-31">7136</item>
			<item period="P1Y/1997-05-31">0</item>
			<item period="P1Y/1996-05-31">0</item>
			<item period="P1Y/1995-05-31">0</item>
		</group>
		<group type="operatingProfit.operatingExpenses">
			<label href="xpointer(//item[@type='operatingProfit.operatingExpenses'])" xml:lang="en">Total operating expenses</label>
			<item period="P1Y/1999-05-31">79489</item>
			<item period="P1Y/1998-05-31">58945</item>
			<item period="P1Y/1997-05-31">37205</item>
			<item period="P1Y/1996-05-31">28116</item>
			<item period="P1Y/1995-05-31">27207</item>
		</group>
		<group type="incomeOrLossOnContinuingOperationsBeforeIncomeTaxes_ChangesInAccountingPrinciplesAndExtraordinaryItems.operatingProfit">
			<label href="xpointer(//item[@type='incomeOrLossOnContinuingOperationsBeforeIncomeTaxes_ChangesInAccountingPrinciplesAndExtraordinaryItems.operatingProfit'])" xml:lang="en">Operating income</label>
			<item period="P1Y/1999-05-31">17713</item>
			<item period="P1Y/1998-05-31">4376</item>
			<item period="P1Y/1997-05-31">5293</item>
			<item period="P1Y/1996-05-31">3262</item>
			<item period="P1Y/1995-05-31">629</item>
		</group>
		<group type="non-operatingIncomeAndExpense.otherNon-operatingExpense-income-">
			<label href="xpointer(//item[@type='non-operatingIncomeAndExpense.otherNon-operatingExpense-income-'])" xml:lang="en">Other income (expense), net</label>
			<item period="P1Y/1999-05-31">3592</item>
			<item period="P1Y/1998-05-31">3274</item>
			<item period="P1Y/1997-05-31">558</item>
			<item period="P1Y/1996-05-31">100</item>
			<item period="P1Y/1995-05-31">-260</item>
		</group>
		<group type="income-loss-FromContinuingOperations.incomeOrLossOnContinuingOperationsBeforeIncomeTaxes_ChangesInAccountingPrinciplesAndExtraordinaryItems">
			<label href="xpointer(//item[@type='income-loss-FromContinuingOperations.incomeOrLossOnContinuingOperationsBeforeIncomeTaxes_ChangesInAccountingPrinciplesAndExtraordinaryItems'])" xml:lang="en">Income before income taxes</label>
			<item period="P1Y/1999-05-31">21305</item>
			<item period="P1Y/1998-05-31">7650</item>
			<item period="P1Y/1997-05-31">5851</item>
			<item period="P1Y/1996-05-31">3362</item>
			<item period="P1Y/1995-05-31">369</item>
		</group>
		<group type="incomeTaxes.currentIncomeTax">
			<label href="xpointer(//item[@type='incomeTaxes.currentIncomeTax'])" xml:lang="en">Income tax provision (benefit)</label>
			<item period="P1Y/1999-05-31">8520</item>
			<item period="P1Y/1998-05-31">3203</item>
			<item period="P1Y/1997-05-31">2207</item>
			<item period="P1Y/1996-05-31">-4099</item>
			<item period="P1Y/1995-05-31">45</item>
		</group>
		<group type="netIncome.netIncomeBeforeCumulativeEffectOfAccountingChanges">
			<label href="xpointer(//item[@type='netIncome.netIncomeBeforeCumulativeEffectOfAccountingChanges'])" xml:lang="en">Income  before  cumulative  effect  of change in accounting principle</label>
			<item period="P1Y/1999-05-31">12785</item>
			<item period="P1Y/1998-05-31">4447</item>
			<item period="P1Y/1997-05-31">3644</item>
			<item period="P1Y/1996-05-31">7461</item>
			<item period="P1Y/1995-05-31">324</item>
		</group>
		<group type="cumulativeEffectOfAccountingChanges_NetOfTax.effectOfChangesInAccountingPrinciple">
			<label href="xpointer(//item[@type='cumulativeEffectOfAccountingChanges_NetOfTax.effectOfChangesInAccountingPrinciple'])" xml:lang="en">Cumulative effect of a change in accounting principle</label>
			<item period="P1Y/1999-05-31">0</item>
			<item period="P1Y/1998-05-31">0</item>
			<item period="P1Y/1997-05-31">0</item>
			<item period="P1Y/1996-05-31">0</item>
			<item period="P1Y/1995-05-31">-200</item>
		</group>
		<group type="netIncomeAvailableToCommon.netIncome">
			<label href="xpointer(//item[@type='netIncomeAvailableToCommon.netIncome'])" xml:lang="en">Net income</label>
			<item period="P1Y/1999-05-31">12785</item>
			<item period="P1Y/1998-05-31">4447</item>
			<item period="P1Y/1997-05-31">3644</item>
			<item period="P1Y/1996-05-31">7461</item>
			<item period="P1Y/1995-05-31">124</item>
		</group>
		<group type="incomeStatement.basicEarningsPerShare">
			<label href="xpointer(//item[@type='incomeStatement.basicEarningsPerShare'])" xml:lang="en">Basic</label>
			<item period="P1Y/1999-05-31" scaleFactor="1">0.90</item>
			<item period="P1Y/1998-05-31" scaleFactor="1">0.33</item>
			<item period="P1Y/1997-05-31" scaleFactor="1">-1.78</item>
			<item period="P1Y/1996-05-31" scaleFactor="1">0.58</item>
			<item period="P1Y/1995-05-31" scaleFactor="1">0.00</item>
		</group>
		<group type="incomeStatement.fullyDilutedEarningsPerShare">
			<label href="xpointer(//item[@type='incomeStatement.fullyDilutedEarningsPerShare'])" xml:lang="en">Diluted</label>
			<item period="P1Y/1999-05-31" scaleFactor="1">0.86</item>
			<item period="P1Y/1998-05-31" scaleFactor="1">0.32</item>
			<item period="P1Y/1997-05-31" scaleFactor="1">0.36</item>
			<item period="P1Y/1996-05-31" scaleFactor="1">0.76</item>
			<item period="P1Y/1995-05-31" scaleFactor="1">0.01</item>
		</group>
		<group type="weightedAverageSharesOutstanding.basicWeightedAverageShares">
			<label href="xpointer(//item[@type='weightedAverageSharesOutstanding.basicWeightedAverageShares'])" xml:lang="en">Basic</label>
			<item period="P1Y/1999-05-31" unit="shares" scaleFactor="0">14231102</item>
			<item period="P1Y/1998-05-31" unit="shares" scaleFactor="0">13381414</item>
			<item period="P1Y/1997-05-31" unit="shares" scaleFactor="0">7629460</item>
			<item period="P1Y/1996-05-31" unit="shares" scaleFactor="0">7352820</item>
			<item period="P1Y/1995-05-31" unit="shares" scaleFactor="0">7158950</item>
		</group>
		<group type="weightedAverageSharesOutstanding.dilutedWeightedAverageShares">
			<label href="xpointer(//item[@type='weightedAverageSharesOutstanding.dilutedWeightedAverageShares'])" xml:lang="en">Diluted</label>
			<item period="P1Y/1999-05-31" unit="shares" scaleFactor="0">14872579</item>
			<item period="P1Y/1998-05-31" unit="shares" scaleFactor="0">14089092</item>
			<item period="P1Y/1997-05-31" unit="shares" scaleFactor="0">10003349</item>
			<item period="P1Y/1996-05-31" unit="shares" scaleFactor="0">9764924</item>
			<item period="P1Y/1995-05-31" unit="shares" scaleFactor="0">9164980</item>
		</group>
		<group type="cashAndCashEquivalents.cashEquivalents">
			<label href="xpointer(//item[@type='cashAndCashEquivalents.cashEquivalents'])" xml:lang="en">Cash, cash equivalents and investments</label>
			<item period="1999-05-31">123683</item>
			<item period="1998-05-31">66918</item>
			<item period="1997-05-31">16243</item>
			<item period="1996-05-31">8256</item>
			<item period="1995-05-31">2892</item>
		</group>
		<group type="balanceSheet.assets">
			<label href="xpointer(//item[@type='balanceSheet.assets'])" xml:lang="en">Total assets</label>
			<item period="1999-05-31">180252</item>
			<item period="1998-05-31">102845</item>
			<item period="1997-05-31">33214</item>
			<item period="1996-05-31">24361</item>
			<item period="1995-05-31">15327</item>
		</group>
		<group type="gpsi:balanceSheet.workingCapital">
			<label href="xpointer(//item[@type='gpsi:balanceSheet.workingCapital'])" xml:lang="en">Working capital</label>
			<item period="1999-05-31">101954</item>
			<item period="1998-05-31">50824</item>
			<item period="1997-05-31">6658</item>
			<item period="1996-05-31">1012</item>
			<item period="1995-05-31">-4992</item>
		</group>
		<group type="otherCurrentLiabilities.deferredRevenue">
			<label href="xpointer(//item[@type='otherCurrentLiabilities.deferredRevenue'])" xml:lang="en">Deferred revenues</label>
			<item period="1999-05-31">23884</item>
			<item period="1998-05-31">15133</item>
			<item period="1997-05-31">10448</item>
			<item period="1996-05-31">9018</item>
			<item period="1995-05-31">8027</item>
		</group>
		<group type="longTermDebt.collateralizedDebt">
			<label href="xpointer(//item[@type='longTermDebt.collateralizedDebt'])" xml:lang="en">Long-term debt and capital lease obligations, less current portion</label>
			<item period="1999-05-31">0</item>
			<item period="1998-05-31">0</item>
			<item period="1997-05-31">0</item>
			<item period="1996-05-31">20</item>
			<item period="1995-05-31">750</item>
		</group>
		<group type="liabilitiesAndStockholdersEquity.mandatorilyRedeemableSecurities">
			<label href="xpointer(//item[@type='liabilitiesAndStockholdersEquity.mandatorilyRedeemableSecurities'])" xml:lang="en">Mandatory redeemable convertible preferred stock</label>
			<item period="1999-05-31">0</item>
			<item period="1998-05-31">0</item>
			<item period="1997-05-31">28698</item>
			<item period="1996-05-31">11502</item>
			<item period="1995-05-31">8300</item>
		</group>
		<group type="liabilitiesAndStockholdersEquity.stockholdersEquity">
			<label href="xpointer(//item[@type='liabilitiesAndStockholdersEquity.stockholdersEquity'])" xml:lang="en">Total stockholders' equity (deficit)</label>
			<item period="1999-05-31">133193</item>
			<item period="1998-05-31">69671</item>
			<item period="1997-05-31">-16277</item>
			<item period="1996-05-31">-4812</item>
			<item period="1995-05-31">-9066</item>
		</group>
	</group>	
	
</group>