XML 67 R56.htm IDEA: XBRL DOCUMENT
v3.19.1

Derivative Instruments (Detail) - Forward Contracts - USD ($) $ in Millions | 3 Months Ended |
--- | --- | ---
Apr. 30, 2019 | Jan. 31, 2019
Not Designated as Hedging Instrument |  |
Derivative [Line Items] |  |
Derivative, notional amount | $ 134 | $ 198
Cash Flow Hedging | Designated as Hedging Instrument |  |
Derivative [Line Items] |  |
Derivative, notional amount | $ 788 | $ 717
Cash Flow Hedging | Designated as Hedging Instrument | Maximum |  |
Derivative [Line Items] |  |
Derivative, remaining maturity | 36 months |

X
- Definition Aggregate notional amount specified by the derivative(s). Expressed as an absolute value. + References Reference 1: http://www.xbrl.org/2003/role/presentationRef -Publisher SEC -Name Regulation S-X (SX) -Number 210 -Article 12 -Section 13 -Sentence Column B + Details
Name: | invest_DerivativeNotionalAmount
Namespace Prefix: | invest_
Data Type: | xbrli:monetaryItemType
Balance Type: | na
Period Type: | instant

X
- Definition Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table. + References No definition available. + Details
Name: | us-gaap_DerivativeLineItems
Namespace Prefix: | us-gaap_
Data Type: | xbrli:stringItemType
Balance Type: | na
Period Type: | duration

X
- Definition Period remaining until the derivative contract matures, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents the reported fact of one year, five months, and thirteen days. + References No definition available. + Details
Name: | us-gaap_DerivativeRemainingMaturity1
Namespace Prefix: | us-gaap_
Data Type: | xbrli:durationItemType
Balance Type: | na
Period Type: | duration

X
- Details
Name: | us-gaap_HedgingDesignationAxis=us-gaap_NondesignatedMember
Namespace Prefix: |
Data Type: | na
Balance Type: |
Period Type: |

X
- Details
Name: | us-gaap_DerivativeInstrumentRiskAxis=us-gaap_ForwardContractsMember
Namespace Prefix: |
Data Type: | na
Balance Type: |
Period Type: |

X
- Details
Name: | us-gaap_DerivativeInstrumentsGainLossByHedgingRelationshipAxis=us-gaap_CashFlowHedgingMember
Namespace Prefix: |
Data Type: | na
Balance Type: |
Period Type: |

X
- Details
Name: | us-gaap_HedgingDesignationAxis=us-gaap_DesignatedAsHedgingInstrumentMember
Namespace Prefix: |
Data Type: | na
Balance Type: |
Period Type: |

X
- Details
Name: | srt_RangeAxis=srt_MaximumMember
Namespace Prefix: |
Data Type: | na
Balance Type: |
Period Type: |